Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: mndsl в Oct 13, 2009, 11:34



Титла: 2 сървъра пренасочват към 1 PC
Публикувано от: mndsl в Oct 13, 2009, 11:34
Здравейте. Имам следния казус, който не знам как да реша.

Имам 3 ISP провайдъра с реални адреси и 2 сървъра, на всеки от който има по 1 адрес от всеки доставчик. Пренасочил съм един и същ порт от всеки от IP-адресите и от двата сървъра към 1 друг вътрешен сървър. Идеята е да се защити вътрешния сървър, другита сървъри са 2 за да се гарантира по-голяма надеждност, а се пренасочват всички IP-за да се гарантира връзка до вътрешния сървър през кой да е интернет доставчик.

Външните сървъри са с Linux, вътрешния е с Windows Server 2003.

На вътрешния сървър е настроен default gateway на единия сървър и пренасочването от вън през този сървър си работи. Проблема е, че пренасочването през дргугия сървър, който не е default gateway за вътрешния сървър не работи. Получава се това, че независимо през кой сървър влезе заявката, вътрешния сървър си ползва default gateway-a.

Ако добавя на вътрешния сървър втори gateway, работи, но със някакво закъснение от 10-15 секунди, докато се усети че първия гейт не върши работа. Но тези закъснения са недопустими.

Та въпроса е какво да се направи, за да може вътрешния сървър да работи и с двата едновременно?


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: ntrance в Oct 13, 2009, 11:45
От това което прочетох , не виждам проблем да си  прекараш портовете към вътрешен комп. Няма значение  единствената причина поради която 2-рият не може да  прекара портовете към вътрешния ти сървър е да не може да го намери като ип  с една дума той насочва там където за него няма адрес. Имаш ли пинг до него ?

Ако приемем че  имаш някъв рутер  , към който  от 3-те лан карти ти излизат кабели и влизат в него и  теоретично ако вътрешната мрежа ти е 192.168.0.0/16 примерно   те са доспъпни един до друг. Ако  това си го направил добави и втори адрес на лан картата ! ТУк предполагам каква точно ти е връзката  . Кажи как си ги свързал  като мрежа за да ти  помогна да оправиш и портовете


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: mndsl в Oct 13, 2009, 11:53
Да, всъщност не съм описал подробно проблема. Имам предвид че пренасочването от втория сървър не работи като цяло.

След като анализирах пакетите със wireshark установих, че втория сървър успешно пренасочва пакетите към вътрешния сървър и те пристигат до него, само че вътрешния сървър пуска пакета с отговора към първия сървър, а не към този от който е дошъл, т.е. към втория.

Ок, ето и как е организирана мрежата. На външните сървъри има 4 мрежови карти, 3 от които са външни адреси и една е от вътрешна мрежа 192.168.1.0/24. На вътрешния сървър има само 1 мрежова карта с IP от вътрешната мрежа.


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: ntrance в Oct 13, 2009, 12:16
Намерих ти грешката :)  "вътрепния сървър има само 1 мрежова карта с IP от вътрешната мрежа."

Тук трябва са 2 лан карти :)  но може и с една сега ще се опитам да ти  обесня теоретично;
Значи  вътрешния ти сървър взема gataway i ip  от първия външен примерно  така за него не е проблем мда ти пренасочи портовете тъй  като пакетите минават през него и  той ги преобразува , до тук добре . Но ако изълниш заяка към втория ти външен сървър той правилно ще препрати пакетите към  вътрешния  " И тук идва проблема"  вътрешния ще  върне заявката но  пакетите минават през  първия външен сървър  , да но той от къде да знае каде трябва да иде обратната  заявка и тук е проблема :) . Схванали ? ми мисълта


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: mndsl в Oct 13, 2009, 12:26
Получава се това, че независимо през кой сървър влезе заявката, вътрешния сървър си ползва default gateway-a.

Е аз съм го написал същото само че с други думи. На мен ми е ясно че това е проблема. Въпроса е как се решава.


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: ntrance в Oct 13, 2009, 12:28
Ок щом ти е ясно Успех!!!


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: laskov в Oct 13, 2009, 13:28
Отговорът е някъде тук: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=364103812 ($2)


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: ntrance в Oct 13, 2009, 14:08
Ми не ...  Защо да  ползвам такъв срипт!   + това си има доста по  лесни начини  защо да пишем романи !!!  след като server 2003  може без проблем да си route  мрежи и тн !!!!


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: mndsl в Oct 13, 2009, 19:28
Ок щом ти е ясно Успех!!!

Имам чувството че нещо си се обидил, не знам защо, но ако вината е в мен моля да ме извиниш. Ти всъшност си ми описал проблема по-подробно, но не си предложил решение. Аз както споменах знам какъв е проблема, но не знам как да го реша.

Ми не ...  Защо да  ползвам такъв срипт!   + това си има доста по  лесни начини  защо да пишем романи !!!  след като server 2003  може без проблем да си route  мрежи и тн !!!!

След като казваш че има по-лесни начини, моляте да споделиш с мен, какво и как трябва да се настрои на този Server 2003 за да работи нормално пренасочването.


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: ntrance в Oct 13, 2009, 22:38
Така .... Ако знаеш проблема  къде е решението е лесно !!! Най  елемтарния начин при който може да го направиш ти да набиеш 2-ри адрес  на картата  на server2003(вътрешния сървър)  примерно 192.168.0.99 . До тук добре  и правиш едно правило  в сървър едно всичко що влезне в него от ип 192.168.0.99 или от  -s 192.168.0.99 -d destination ip : port  на Български казано
iptables -t nat -A PREROUTING -t nat -p tcp -d 192.168.0.99 --dport  80 -j DNAT --to ип-то на  втория ти сървър:80  (предполагам че този порт ще  го  управляваш) .  Така и по този начин вътрешния ти сървър няма се бърка.
Ако това не си разбрал обеснявам още един път!
Примерно ако искаш порт 80   правиш правило всичко що влиза да го пренасочи към ип 192.168.0.98.  , това ще да ти е първия ип адрес   на вътрешния сървър.
Отиваш на втория сървър и правиш същото правило но " само че  към  втория адрес на лан картата 192.168.0.99" и до тук предполагам няма да имаш проблем
При линукса се водят  eth0:  eth0:1  и така нататък!
Следваща  стъпка  отиваш на сървър 1  и му правиш  iptables  правило .! На български казано
"Всичко що влиза  ип 192.168.0.99 от порт 80 (нали него го приехме теоретично че искаме да го пренасочим) Да ходи  трафика към  ип-то на 2-я сървър.
5  минути работа ..
 


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: ntrance в Oct 13, 2009, 22:43
Пък ако искаш също така да определяш трафик , колко мб   от възможни толкоз и тн   няма проблем!


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: mndsl в Oct 14, 2009, 11:52
Така, прочетох ти поста и разбрах идеята. Всичко е просто и ясно до момента какво ще стане ако се скапе първия сървър, а заявките пристигат от втория?

Не напразно са два сървърите и НЕ трябва нито един от тях да зависи от другия. Така както си описал решението, функционалноста на вротия зависи от това , първия винаги да е на линия.


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: ntrance в Oct 14, 2009, 12:01
Е да но той ти е gateway  и без това :) . Той ако падне   ти загиваш :)
За целта не се прави така както ти го правиш. Кажи за какво искаш да го направаиш каква ти е идеята и защо .!!! Има си други начини


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: mndsl в Oct 14, 2009, 13:17
Значи на вътрешния сървър работи софтуер, който трябва да работи 99.99999% от времето. Спирания на нета са недопустими! На самия сървър не му трябва интернет, т.е. трябва му дотолкова доколкото клиентите да могат да се връзват с него, но самия той на вън не излиза, той приема само заявки от клиенти на един единствен порт и се връзва с един друг сървър, който се явява източник на данни за него, но е през вътрешната мрежа и там проблеми няма.

Пренасочването през двата линукс сървъра е с цел да се гарантира поне един работещ gateway с поне един работещ интернет. Всичко се случва и е допустимо един от тях да не работи. Същото важи и за интернета. Като цяло идеята е да се презапаси цялата система срещу хардуерни дефекти и прекъсване на някой от даставчиците, що се отнася до свързаноста със интернет.

Скапването на вътрешния сървър не е моя грижа, там се занимават други хора да си го пуснат в клъстер, моята задача е да гарантирам non-stop интернет. :)

Относно твоя коментар, ако умре default gateway-a не е проблем, стига през другия сървър клиентите да могат да се връзват. Ето защо двата линукса трябва да са напълно независими един от друг.


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: ntrance в Oct 14, 2009, 13:27
Глупаво правиш тогава :) и до много!!!!! Остави си единия линукс . 2-та нет доставчика на 2 лан карти ;) рутираш нета да работят като един  и единия да падне не е проблем. И 3-та лан карта към вътрешния.! Един як UPS  и това е .... Аз тука романи пиша  , пак той каде е била врътката. Линукса няма ти умре ако ще да е slack  >:D >:D >:D (нищо лично).
Ако караме по твойта логика дай да ги навържем 10  компа ...!!! Няма смисъл само един е достатъчен


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: mndsl в Oct 14, 2009, 13:44
Мислиш ли че не ми е минало през ум да пусна 3 ланки на вътрешния за 3-та доставчика и да не се занимавам с рутиране и т.н. :) Но такива са изискванията. Сървъра винаги трябва да бъде скрит зад firewall и да има нет независимо при какви обстоятелства!

И не е въпроса дали ще умре лунукса, а дали няма да умре хардуера, макар че ми се е случвало да ми изчезне boot сектора. :)

И тази логика не е моя, а е общо приета. Винаги трябва да има резерва когато става дума за сериозни неща. Винаги! Защо големите интернет доставчици и организации имат поне по 1 backup оптично трасе? По същата логига трябва да си направят 10.

Това, което предлагаш според мен не е решение на моя проблем. Вероятно за друг, който няма претенции за защита на данни и непрекъсваемост на интернета това ще е перфектно решение. Но за мен не е.

Защо да има едновременно и рутер и директна връзка. Може би идеята ти е мрежовата карта , на която е директния нет да е забранена, и при срив на линуска, някой да я разреши. Ами ако няма никой в офиса?? Тогава какво правим? Ами ако случайно се скапе линукса и в този момент спре нета, който е закачен директно??

А ако едновременно работят и двете, какъв е смисъла от линуска изобщо.

Разбираш ли ме. Нещата никак не са елементарни и решението трябва да е максимално сигурно и да не зависи от човешкия фактор.


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: ntrance в Oct 14, 2009, 14:18
Мислиш ли че не ми е минало през ум да пусна 3 ланки на вътрешния за 3-та доставчика и да не се занимавам с рутиране и т.н. :) Но такива са изискванията. Сървъра винаги трябва да бъде скрит зад firewall и да има нет независимо при какви обстоятелства!

И не е въпроса дали ще умре лунукса, а дали няма да умре хардуера, макар че ми се е случвало да ми изчезне boot сектора. :)

И тази логика не е моя, а е общо приета. Винаги трябва да има резерва когато става дума за сериозни неща. Винаги! Защо големите интернет доставчици и организации имат поне по 1 backup оптично трасе? По същата логига трябва да си направят 10.

Това, което предлагаш според мен не е решение на моя проблем. Вероятно за друг, който няма претенции за защита на данни и непрекъсваемост на интернета това ще е перфектно решение. Но за мен не е.

Защо да има едновременно и рутер и директна връзка. Може би идеята ти е мрежовата карта , на която е директния нет да е забранена, и при срив на линуска, някой да я разреши. Ами ако няма никой в офиса?? Тогава какво правим? Ами ако случайно се скапе линукса и в този момент спре нета, който е закачен директно??

А ако едновременно работят и двете, какъв е смисъла от линуска изобщо.

Разбираш ли ме. Нещата никак не са елементарни и решението трябва да е максимално сигурно и да не зависи от човешкия фактор.

Не си прав! Аз спирам да коментирам тази тема!!
Защо да излезна като може ме блъсне кола.! Ами ако се напия може ми стане нещо !! Ми ако излезна тази вечер и ако стане това !!!! Ами  ако направя това да ми стане това ..!!!
А не смяташ ли  и че windosa може се скапе !! Техника е нормално говориш само  за ликсите а не за server 2003
Аз как бих го направил

Едно бсд , 4 лан карти  , 2 isp-ta . 2-та доставчика ги правя като един да работят  и единия да падне не е проблем!  След като го направя като хората спирам всички портове и отвавям порта само на  този който ми е нужен . Ако пък този клиент ще влиза само от едно место ще е  още по лесно. Така  като има само един отворен порт  неможе да получи никва атака. Отивам на server 2003   и му спирам порт 80 25 443 143 137 139 -ти порт да няма никъв достъп до нета и вируси. и го пускам с юсер права. До тук е на 80 процента подсигорена сигорноста.
Слагам и porsentry!  за да може да киллва всеки който се опита да пусне скан за отвоерени портове !

Правя и нещо подобно! за SYN paketeti .  Както си е и примен пускам на всяка минута да проверява ! това тука си е мое подобие защото при 3000 syn за 2 часа ! Може ти си скапят доста неща

#!/bin/bash
log=/var/log/banip
netstat -plan |grep SYN |awk '{print $5}'  |cut -d: -f1 |uniq  >> $log
grep Failed /var/log/auth.log |awk '{print $11}' |cut -d: -f1 |uniq  >> $log
for i in $(<$log); do iptables -A INPUT -s  $i  -j DROP ; done
exit
И още един крон ако примерно . Примерно  за мен тези са важни аз имам поне още 5 подобни , но на теб няма ти трябват
!#bin/bash
serve=apache2
sshd=ssh
mail=boiko.trifonov@adsasdas.net
if ps -aux |grep $serve > /dev/null
 then
 echo " vsichko e nared"
 else
 echo " $serve is down "
 echo  "$serve is down !! " |mail -s " $server is down " root@asddasdas.net
fi       
sleep 2   
if ps -aux |grep $sshd > /dev/null
then   
echo " $ssh  raboti " 
 else       
  echo " $sshd    is down"
  echo `/etc/init.d/ssh restart `
 echo  " $ssh  was restarted"   | mail -s "$sshd was restarted " $mail
fi 
exit

И съм си направил mailite kogato poluchat $subject съвпадащ с горните  да ми се праща mail  to  sms  на телефона ! Пък през това време други скртове killvat procesa.!!!!
И по този елементарен начин   ! мойта работа приключва


2. Следваща стъпка  fail2ban !
3. ssh! ssh-keygen  !  allow само от 2-3 ипта-та
Още няколко дребни глупост  и почти съм готов
И най накрая свалям аcronisa  правя му един backup  ,  и ако падне за 15 минути имам чисто нов сървър дори няма да пипна нищо.
Не бих направил 2 сървъра бих направил 3   да работят в cluster  единия да е мастер  и да разпределя  информацията . При натоварване или при срив на 2рия slave.Но не и то твоя начин!!!


Това е мойто решение за теб !!!


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: mndsl в Oct 14, 2009, 15:20
Явно не четеш какво пиша.
Казах, че за server2003 се грижат други хора, които да го правят в клъстер, затова не говоря за него.

Ти не осъзнаваш колко са сериозни нещата и ако аз съм ти шеф и ти поставя задача да решиш този проблем, и ти го направиш по начина, по който си го описал и трябва да те чакам 15 мин за да връщаш имидж, през които 15 мин няма достъп до вътрешния сървър, ще бъдеш дисциплинарно уволнен на момента. Ако сървъра не работи 15 мин, фирмата ще претърпи огромни загуби и ще има хиляди недоволни клиенти, които по право може да поискат обещетения по съдебен път,  и ти ще си този който ще ги плати, щото си правил глупости.

Що се отнася до скриптовете ти:

  echo " $sshd    is down"
  echo `/etc/init.d/ssh restart `

да рестартираш процес, който не е стартиран показва колко си мислел, когато си го писал.

Що са скрипт, да проверява дали работи апачето, че то ако спира когато си иска, представи си що за сървър имаш.

И още нещо, защита от SYN FLOOD се прави с ограничаване на SYN пакетите за 1 време, а не със скрипт който блокира IP-та след като вече е наводнен.

Да правя клъстер от 3 машини, само за да пренасоча 1 порт... сигурно се шегуваш

За пореден път се убеждавам, че всеки си мисли че е по-умен от този, който задава въпроса, и вместо да му отговорят на въпроса или да замълчат ако нямат какво да кажат, почват да пишат колко глупаво и сложно решение търсиш и че има мноооого "по-лесни и ефективни" начини...

Нека админа да трие темата ако сметне за необходимо!


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: ntrance в Oct 14, 2009, 15:38
Боже господи!
Какво означава да спира когато си поиска ! той не спира когато си поиска! Какво означава SYN ..... Винаги има  и ще има  знаеш ли той как работи ми не ! НЕ се обаждай тогава . Знаеш ли какво FIN_WAIT TIME_WAIT KEEP_ALIVE  МAX _CLIENT  и поне още 10 мога ти изборя при което с това тапо нещо (hpin..)   , мога ти спра апачето точно за 15 секунди . Тъй като няма да пусне повече от заданданото му в конфа. ( и представи си всичкото долу ) Виждам те колко си наясно.
Ако ти можеш да инсталираш s apt-get install apache2  едно апаче и си мислиш че знзаеш грешиш ..
Ако ти си мислиш че знаеш как да шернеш нет и да намериш каде се слага ип -то  и разбираш от мрежи пак грешиш.


Къв то и iptables да слижш все тази   както и
net.netfilter.nf_conntrack_max = 157344
net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120
net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60
Я си ги сортираи тука нещатата за да видиш за какво иде реч
cat /proc/net/ip_conntrack

Аз просто не искам  да се вземат от процесите който са за потребителите
А ако ти искаш цял ден да висиш под консола аз нещата ! Ако на теб ти падат нещата мойте все  още не са (чакай да не се хваля много че!! >:D >:D) . Ако някои си ги прави нещатата автоматизирани  той това е за улеснение .
Ако някой задава елементарен въпрос за мрежи това си ти  .!!!! Това е форум  и  никой не си мисли за по умен от другия  (освен ти)  но вслучай че ти си го мислил и имаш самочувствие  ...... си го драж за теб не и тука като нямаш основни знания

Ей това е сме ние ... гледаш да му помогнеш даваш му готови скрипт .! Той ти казва защот ти ебахти apacheto като ще пада когато му е кеф..  Пуффф >:D >:D >:D

Целта не е такава за скрипта!  Целта му е друга докато аз пиивам бирата той да си върши работата!!  И това беше пример само за да направиш ти собстен мониторинг една идея.!!!


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: ntrance в Oct 14, 2009, 15:50
Цитирам
#---------------------------------------------------------------------------------_#
Явно не четеш какво пиша.
Казах, че за server2003 се грижат други хора, които да го правят в клъстер, затова не говоря за него.

Ти не осъзнаваш колко са сериозни нещата и ако аз съм ти шеф и ти поставя задача да решиш този проблем, и ти го направиш по начина, по който си го описал и трябва да те чакам 15 мин за да връщаш имидж, през които 15 мин няма достъп до вътрешния сървър, ще бъдеш дисциплинарно уволнен на момента. Ако сървъра не работи 15 мин, фирмата ще претърпи огромни загуби и ще има хиляди недоволни клиенти, които по право може да поискат обещетения по съдебен път,  и ти ще си този който ще ги плати, щото си правил глупости.
#---------------------------------------------------------------------------------_#

Ако шефа ти имаше доверие и знаеше че чаткаше нещата нямаше той да  решава как да стават нещатата а ще се да се допита до теб  и ти да му дадеш ясен отговор  как и защо  .!!!!  Както човек който работи това и като човек в твойта позиция ..!!! Той ако знаеше всичко нямаше да те наеме на работа  нали се сещаш !!!
Че ти толкоз разбираш.... това е отделен въпрос

#------------------------------------------------------------------------------------------#
Тук казваш цитирам "Да правя клъстер от 3 машини, само за да пренасоча 1 порт... сигурно се шегуваш"
#------------------------------------------------------------------------------------------#

Еми да като трябва ще правиш нали за 15 минути ако не работи търпите големи  загуби . Това не е ли е причина да го направиш . , аз бих казал да причина е . Но ти като нем ожеш това е отделен върос !!!!!



Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: mndsl в Oct 14, 2009, 16:06
Това е последния коментар, който ще напиша по повод твои думи, защото нямам цял ден на разположение.

Ако във вашата фирма шефа ти е дебел, тъп и фъфли като говори и е там щото е братовчед на не знам си кой, в нашата фирма шефа на моя отдел е човека с най-голям опит и е назначен щото си разбира от работата.

Да правя клъстер за да направя пренасочване на един порт е безсмислено щото е видно че проблема е в windows-а, и когато нещата при него се оправят всичко ще работи както трябва. Аз от windows-и не разбирам, още по-малко от server2003. Просто не съм се занимавал с тях и затова най-учтиво попитах какво може да се направи за да тръгнат нещата.

Забележи, че аз съм задал конкретен въпрос за конкретен проблем. Ти каза ли ми как да оправя рутирането на windows-а? Не. Вместо това почна да изсипваш скриптове за линукса, да ме учиш на мрежови протоколи и т.н.

Ако не знаеш как се решава конкретния проблем , просто си цъкни на следващата тема във форума!

Въобще нямам намерение да споря кой е по-по-най, щото първо не за това съм дошъл тук и второ щото нито тебе те интересува аз колко знам, още по-малко мен ме интересува ти колко знаеш.


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: ntrance в Oct 14, 2009, 16:12
(y)  Дал съм мое си решение от задача . Ти както искаш прави може и мойто решение да е грешно и да е правилно . Аз така бих направил. Ако резполагах с тези ресурси и с една лан карта на  server2003 :)


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: lod в Oct 14, 2009, 21:30
свързваш 2та сървъра и вин2003 със switch. настройваш всеки един от тях да може да работи като gateway.
поставяш heartbeat на всеки един от тях. настройваш heartbeat да следи за състоянието им. единият (който си избереш), ще бъде master. настройваш win2003 да ползва master-a за gateway. ако падне мастера, heartbeat-a на slave-a ще детекне това и ще си присвои ip адреса на master-a и интернета на win2003 ще минава през slave-a. има доста добри ръководства за heartbeat, а и тъйкато на теб ще ти трябва само monitoring и failover функционалността му, ще успееш за доста кратко време да го сетнеш.
възниква въпроса, ако всеки един от сървърите е към независим доставчик с различни ip-та към външен интерфейс, как да не ти се губят входящи връзки при падане на някой от доставчиците.
можеш да настроиш и входящите (външни) интерфейси пак със switch и всяка една от машините да може да рутира през всеки един от доставчиците. малко сложно става но с малки съпки и добро планиране резултата ще е положителен.
успех


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: mndsl в Oct 14, 2009, 23:07
lod, благодаря за инфото, ще разгледам твоя вариант. Но на мен ми се иска да не са разделени на primary и secondary, а да си работят и двата едновременно.

Между другото всеки сървър си рутира през кой да е доставчик и от тази гледна точка проблеми няма.

Днес обаче забелязах нещо странно. Двата сървъра рутират по различен начин. Първия пренаписва само destination адреса, докато source остава на клиента. Докато втория освен че пренаписва destination-a, пренаписва и source-a със своя собствен вътрешен адрес.

Това, което прави втория е много хубаво, понеже ако и двата пренаписват пакета със собствените си вътрешни адреси, то тогава windows-сървъра въобще няма да ползва gateway-a си когато отговаря, понеже ще отговаря на компютър в неговата мрежа.

Въпроса е защо работят по различен начин и това като че ли работи по този начин само когато на windows-кия сървър има добавено второ IP. Нещо не ми е много ясно какво точно се получава и това е което утре ще се опитам да разбера. Мисля че проблема почва да се изяснява и решението е близо...


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: Bogo в Oct 14, 2009, 23:51
А имаш ли маршрутизация между трите доставчика?
В смисъл въпроса ми е: може ли клиент на единя ти доставчик да достигне до клиент на другия ти доставчик като мине през твойте сървъри?
Не съм имал възможноста да правя пиър, защото никога не съм имал два доставчика но мисля че ти требе routed
Или най-вероятно и аз не съм разбрал какво ти требе.
Всеки случай нали знаеш че неможеш да имаш два гейтуея едновременно.
Всъщност на уиндоуса май не му трябва гейтуей, защото той на практика е хост от мрежите на твойте доставчици. Нали?


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: Neoromantic в Oct 15, 2009, 00:01
iptables, SNAT, DNAT

SNAT ти сменя Source-а на пакетите
DNAT ти сменя Destination-а на пакетите


Още от самото начало имаше три изречения, които си противоречат:

1. "На самия сървър не му трябва интернет, т.е. трябва му дотолкова доколкото клиентите да могат да се връзват с него, но самия той на вън не излиза..."
Въпрос: След като не му трябва да излиза, за какво му е gateway?


2. "Забележи, че аз съм задал конкретен въпрос за конкретен проблем. Ти каза ли ми как да оправя рутирането на windows-а?"
Въпрос: Какво рутираш?

3. "Пренасочването през двата линукс сървъра е с цел да се гарантира поне един работещ gateway с поне един работещ интернет."

При всички случаи варианта на lod е много добър. Не че съм правил такова нещо, но звучи добре.

Но mndsl, помисли върху следното: Ако вин-а има default gateway, това значи ли че ще може да го смени при някакво събитие, за което той няма да има грам представа и ако да - колко бързо? Той разбира за падането на нета много по-късно от директно вързаните машини...По пътя на тази логика...след като имаш две различни машини с два различни адреса (за гейтове)...?

Всички варианти в съветите на хората клонят към едно: машините с *nix решават кое откъде, а не вин-а ;)

"Да правя клъстер за да направя пренасочване на един порт е безсмислено щото е видно че проблема е в windows-а, и когато нещата при него се оправят всичко ще работи както трябва" С голямата пушка казваш ;)


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: alex_c в Oct 15, 2009, 01:41
Здравей, mndsl!
Бях решил да не пиша във форума заради разни всезнайковци като някои от по-горе пишещите, но понякога не мога да се удържа.
Ти почти си стигнал до решението на проблема, забелязвайки, че двата Линукс-а се държат по различен начин.
С DNAT се сменят destination адресите в заглавните части на IP-пакетите.
Със SNAT се сменят source адресите в заглавните части на IP-пакетите.

Затова си представи следната ситуация:
Windows сървъра няма въобще default gateway. Как в случая той ще връща отговори на заявките, изпратени към него: коректно ще се обслужват само такива, изпратени от локалните за windows-а мрежи.
Това е "класически" проблем при DVR-ите на някои охранителни фирми, чиито служители настройват само IP адреса, а default gateway им е нещо непонятно и го оставят празно. В този случай най-лесното решение е освен DNAT-а в Линукс-а, служещ като рутер:

iptables -p tcp --dport порта_на_сървъра -d външния_адрес_на_Linux_рутера -j DNAT --to адреса_на_windows_машината_през_съответния_рутер

 да се добави и SNAT реда:
iptables -p tcp --dport порта_на_сървъра -d адреса_на_windows_машината_през_съответния_рутер -j SNAT --to вътрешния_адрес_на_рутера_към_windows_сървъра

По този начин от гледна точка на Windows сървъра всички пакети ще идват от някой от двата Линукс рутера, свързани в локалните му мрежи и рутирането ще работи без проблеми. Задача на Линукс машините е чрез connection tracking-а да пренаписват заглавните части на пактите по съответния начин и всичко да е наред.
Като проблем на посочения метод може да се посочи факта, че няма да може да се извършва нормален audit във Windows сървъра на IP адресите, от които са направени заявките, поради факта, че за него всички заявки ще идват от единия или другия Линукс рутер. За сметка на това, в рутерите има много софтуер, който да може да върши тези задачи.
Ако имаш конкретни въпроси, пиши на al_tsankov ат abv точка bg. Ще се радвам да помогна


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: lod в Oct 15, 2009, 10:13
според мен не отговаряме на следните въпроси:
1. ако падне доставчик (1) или (2), дори при използване на round-robin dns load-balance, ще има моменти на blackout.
2. при отпадане на машина (1) или (2),  дори при използване на round-robin dns load-balance, ще има моменти на blackout.

единственото което се получава е видимо улеснение с рутирането във вътрешната мрежа.


Титла: Re: 2 сървъра пренасочват към 1 PC
Публикувано от: mndsl в Oct 21, 2009, 09:47
Здрвейте!

Проблема е решен :)

Ето как: както писах преди имаше разлика в рутирането на двата линукс сървъра. Оказа се, че първия ритура изходящия трафик чрез SNAT, а втория с MASQUERADE. Съответно първия пренаписва само destination адреса и вътрешния windows сървър трябва да отговаря задължително през гейта си. Втория пренаписва и sourse и destination, от където windows-a отговаря на компютър в неговата си мрежа.

И така решението: и двата линукса ползват MASQUERADE, като така windows-a отговаря винаги на компютър в неговата вътрешна мрежа. Другото е работа на connection tracking-a на линукс машините.

По този начин няма значение колко са сървърите, може и да са 2 както в моя случай, може и да са 5, 10, няма значение, винаги ще работи. Тествах и работи нормално.

Ако падне единия сървър, клиентите които са се закачили през него ще бъдат разкачени, но клинтския софтуер е така направен че веднага да се рекънектва към някой от другите IP-та, така че ако има някакво прекъсване то ще е за 2-3-5 секунди, което е в рамките на допустимото. Важното е до сървъра да има винаги връзка. По принцип се предполага, че скапване на сървър може да се случи рядко, ако въобще се случи, така че това решение напълно ни удовлетворява. Аз съм доволен и шефа е доволен.

Както винаги сложните проблеми имат елементарно и елегантно решение!