ВХОДЯЩ трафик при два доставчика
Нещо подобно дискутирахме преди време в една тема за DNS в раздела за Linux.
В случая става въпрос за Windows-домейн управляван от два домейн-контролера - DC1 и DC2. И двата са в една локална етернет-мрежа. В домейна има още 20-30 компютъра. Има и трети отдалечен DC (по-точно - ще има, още не е пуснат), но това мисля, че няма отношение към темата.
Има два доставчика - ISP1 и ISP2
Всеки от двата доставчика, предоставя точно по едно реално IP - IP1 и IP2
Има интернет-име в областта .net - <ime.net>. Отговорен за това име е DNS-сървъра на ISP1. Това което ми е известно до момента, е че DNS-сървъра на ISP1 работи така -> www.ime.net остава при ISP1 (на някакво IP3), а разни други имена (neshto_1.ime.net, ... neshto_N.ime.net) отиват на IP1. Също и MX за ime.net отива на IP1.
Каква е целта оттук нататък - генералната цел е да се разпредели входящия трафик между доставчиците. За момента как ще се разпредели изходящия трафик, не е толкова важно.
Задължителен елемент е двата външни интерфейса да влизат в DC1. Всъщност, предполага се че е задължително.
Плана горе-долу е такъв:
1. Промяна на DNS-сървърите за <ime.net> - в пререгистрацията ще се посочи, че новите (два) DNS-сървъра са на IP1 и IP2
2. Трябва да се пуснат (някак си) тези два DNS-сървъра на IP1 и IP2, които трябва да работят така:
а) ако дойде запитване за www.ime.net, то те да върнат IP3
б) ако на IP1 дойде запитване за neshto_1.ime.net ... neshto_N.ime.net или запитване за MX за ime.net, то да върне IP1
в) ако на IP2 дойде запитване за neshto_1.ime.net ... neshto_N.ime.net или запитване за MX за ime.net, то да върне IP2
г) други имена не се обслужват (на DNS-заявки по външните интерфейси)
3. Така или иначе, и на DC1, и на DC2 ще има пуснат DNS-сървър, с цел обслужване вътрешните имена.
4. В DNS-сървъра на DC1, ще се въведат допълнителни записи отговарящи на условията от а) и б)
5. В DNS-сървъра на DC2, ще се въведат допълнителни записи отговарящи на условията от а) и в)
6. В RAS-a на DC1, ще има port-forwarding правило - DNS-запитване по интерфейса от ISP2, се пренасочва към DC2
Въпроса ми генерално мога да го обобща така:
Има ли по-елегантно решение ? И изобщо това което съм написал решение ли е ? На мен ми изглежда че е решение, но може някъде да бъркам нещо.
Нека за удобство за момент да предположим, че зад neshto_1.ime.net, ... neshto_N.ime.net има някакви сайтове, които да речем се хостват на DC1, или DC2, или някой друг компютър зад тях. Основната цел в случая е, ако някой е абонат на ISP1 и иска да види neshto_1.ime.net, то трафика да мине през интерфейса на ISP1. Съответно, ако е абонат на ISP2 и иска да види neshto_1.ime.net, то трафика да мине през интерфейса на ISP2.
Това което обаче ме смущава е следното - нека някой абонат на ISP2 направи опит да отвори neshto_1.ime.net
Тогава неговия DNS-сървър пита DNS-сървъра за областта .net "кажи ми кой е DNS-сървъра за ime.net". И като отговор получава и IP1, и IP2. Е не ми ясно точно сега какво става - DNS-сървъра на абоната към кое IP ще се обърне за да се доразреши neshto_1.ime.net ? Щото, ако се обърне към IP1, то всичко се обезсмисля - трафика ще бъде през ISP1
// Уточнение: Примерното име www-dot-ime-dot-net, което използвах по-горе, няма нищо общо с реалния сайт www.ime.net.
Re: ВХОДЯЩ трафик при два доставчика
Слагаш 1 рутер, в него включваш двата доставчика и LAN-a зад рутера. Настройваш рутера и си готов.
П.П.
"_" (долна черта) не е валиден символ име в DNS.
Re: ВХОДЯЩ трафик при два доставчика
Кажи например производител/модел ?
Re: ВХОДЯЩ трафик при два доставчика
Re: ВХОДЯЩ трафик при два доставчика
Е хайде избери го ти модела !
Или те е домързяло да прочетеш всичко което съм написал, или не си ме разбрал !!!
Re: ВХОДЯЩ трафик при два доставчика
Прочетох всичко, но да, прав си - не съм 100% сигурен какво точно искаш да постигнеш.
Най-опростено аз го схващам така: Ако заявката идва от ISP-1, тя да се обслужва от HOST-1, ако заявката идва от ISP-2, да се обслужва от HOST-2. Останалото е обяснение как смяташ да го постигнеш. Поправи ме, ако греша.
Re: ВХОДЯЩ трафик при два доставчика
Горе-долу става.
Тия сайтове само от клиенти на ISP1 и ISP2 ли ще се гледат, или от цял свят?
Защото ако е от цял свят то това, че клиент на ISP1 ще мине през ISP2 не е болка за умиране. Да, тъпо е, но може да се пренебрегне, ще е нищожна част.
Може да се добави accesslist и на заявки от ISP1 към IP2 да се връща отговор IP1, а на заявки от ISP2 към IP1 да се връща IP2, за останалите - както си го описал. Но това зависи от software-а, не знам как става под windows, а и трябва да знаеш мрежите на двата доставчика.
Точка 6 не разбрах как точно ще я направиш, но да предположим, че си я осмислил.
Re: ВХОДЯЩ трафик при два доставчика
Точка 6 мисля да я направя с пренасочване на порт 53.
Примера със сайтовете го дадох, за да стане по-ясно каква е целта. Иначе става въпрос за няколко съществуващи услуги, които се ползват за момента не по име, а чрез IP1. Ползват се отдалечено както от самите служители на фирмата, така и от партньорите на фирмата. Става въпрос предимно за Балканския полуостров, но нищо не пречи да си мислим, че става въпрос за целия свят. В момента в пиков период, канала през ISP1 се "запушва". Отделно от това, в близко бъдеще се предвижда пускане на "Live Comunication Server" за употреба от същите служители и партньори и канала съвсем ще се запуши вероятно.
Първата основна цел е, равномерно разпределение на трафика (в заглавието условно го нарекох ВХОДЯЩИЯ, за да не се бърка с по-често дискутирания въпрос за разпределение на ИЗХОДЯЩИЯ)
Втората основна цел е да се постигне независимост от това, дали в момента някой от доставчиците е "паднал" и услугите пак да са достъпни отвън.
Идеалния вариант доколкото го проумявам е такъв - условно ще го нарека "динамичен DNS-сървър", който следи натовареността на двата канала и според това кой е по-свободен, връща неговото IP.
Това разбира се, към днешна дата изобщо не ми е по силичките и затова се опитвам да симулирам нещо подобно така както съм го описал в предишния пост. Остава въпроса как софтуера при клиента решава към кое IP да се обърне за разрешаване на първоначалната DNS-заявка. Може да се счита, че клиента е достатъчно далеч и не е абонат на ISP1 или ISP2.
etg мерси,
Ghost мерси и на теб
Re: ВХОДЯЩ трафик при два доставчика
Сега вече разбрах какво искаш. Както си го замислил, всяка заявка до root server ще дава най-отдавна използвания name server, отговорен за твоя домейн, като първи отговор. Round-Robin. Друг номер с DNS, който може да направиш е да ползваш по няколко "А" записа за 1 host - name server-а ще отговаря пак по round-robin схема (като първи адрес в отговора ще се появява този, който не е даван от най-дълго време).
Код:
host-x IN A 192.168.0.1
IN A 192.168.0.2
IN A 192.168.0.3
По този начин се въртят IP адресите на google.com:
Код:
host@localhost ~ $ host google.com
google.com has address 64.233.167.99
google.com has address 64.233.187.99
google.com has address 72.14.207.99
ghost@localhost ~ $ host google.com
google.com has address 72.14.207.99
google.com has address 64.233.167.99
google.com has address 64.233.187.99
ghost@localhost ~ $ host google.com
google.com has address 64.233.187.99
google.com has address 72.14.207.99
google.com has address 64.233.167.99
ghost@localhost ~ $
Re: ВХОДЯЩ трафик при два доставчика
Ако услугата, която тези сървъри предлагат не е обществена, а само за фирмата и нейните партньори, задачата става лесно решима. След като разполагаш с адресните пространства на всички клиенти, можеш (с помощта на рутер) да дефинираш кой name server да отговаря в зависимост от ИП адреса на клиента или ISP, през който е дошла заявката.
Re: ВХОДЯЩ трафик при два доставчика
Ghost
Това за Round Robin се оказва доста полезна информация и е нещо, за което не бях чувал до момента.
Доколкото може да се отгатне от прочетеното в Интернет, TLD root сървърите правят Round Robin при връщане на отговори. Сега тук възниква въпроса с кеширането на DNS-заявки/отговори, но това с лека ще го пренебрегна за момента.
Оказва се, че и DNS-сървъра в Win2003 също поддържа Round Robin. И веднага малко материал за псуване - обясненията в хелпа са такива, че те карат да си мислиш, че Round Robin е включен по дифолт, но когато отидеш и го провериш в настройките, се оказва, че не е така.
Засега съм се спрял на варианта описан в първия пост, като ще добавя необходимите A записи и ще включа Round Robin и в двата DNS-сървъра (даже няма да има разлики в двата DNS-сървъра). Ако за момент предположим, че не съществува DNS-кеш и че DNS-а при клиента винаги взима първото IP от отговора на TLD сървъра, то това означава, че TLD root сървъра, ще връща последователно Отговор1=(IP1,IP2), Отговор2=(IP2,IP1), Отговор3=(IP1,IP2), Отговор4=(IP2,IP1) и т.н. Като се разпредели първия адрес от отговора към моите два DNS-сървъра, които също ще са Round Robin, окончателния резултат ще е IP1, IP1, IP2, IP2, IP1, IP1, IP2, IP2 и т.н., което напълно ме устройва за момента.
Вече ми стават ясни, две неща:
1. Това решение, ще ми свърши работа за момента. Очаква се, че Round Robin и евентуално произволния избор при DNS-а на клиента за вторичното разрешаване на DNS-заявката, достатъчно случайно/хаотично ще разпределят трафика между двата канала. Което всъщност е едната цел - да не се стига до положение, при което единия канал да е "запушен" и в същия момент другия да е "празен" (т.е., такова състоятие да е по-скоро инцидентно и малко вероятно). Също така, решава проблема при падане на доставчик. И отделно от това, когато сумарно двата канала почват да не достигат, ще се прави съответния ъпгрейд на самите канали.
2. За в бъдеще (ако все още това е моя отговорност), ще трябва да се мисли за по-истинско решение, което наистина да следи натовареността, евентуално ще трябва и шейпинг, и ще обвхваща както "ВХОДЯЩИЯ", така и "ИЗХОДЯЩИЯ" трафик
Re: ВХОДЯЩ трафик при два доставчика
Заявките към root сървърите не съм сигурен дали дават RoundRobin отговор, според мен е по-нормално е да връщат като отговор и двата DNS-a, трябва да се провери това.
Re: ВХОДЯЩ трафик при два доставчика
Ами доколкото разбрах от прочетеното, те ще върнат и двата адреса, но всеки път ще им разменят "позицията" в отговора - кой да е първи в списъка и кой е втори. Съответно, ако са повече от два, последния става първи, а останалите се изместват с едно назад в списъка в отговора.
Re: ВХОДЯЩ трафик при два доставчика
На теория е така, ама на практика... Вероятно ще ползваш за DNS нещо на Microsoft, така че имай предвид следната констатация на kernel.org:
Dec 12: It appears that a large number of users preferentially hit server 1, despite DNS round-robin. Some reports indicate that this may be caused when there is a Microsoft DNS server in between us and the end user (e.g. at the ISP.)
Re: ВХОДЯЩ трафик при два доставчика
Мдаам..В тази връзка бих добавил, че M$ имат дълга история от проблеми с DNS. Включително генерирането на големи количества излишен трафик поради грешки в работната логика на продуктите им (повече инфо: http://as112.ludost.net/faq.html).
Чудя се защо не си смъкнете безплатния DNS server (BIND - Berkeley Internet Name Domain) на Калифорнийския Университет от Internet Systems Consortium на адрес: http://www.isc.org/index.pl?/sw/bind/ и да ви е мирна главата.