Jump to content
  • 0

Балансиране на интернет


Anatoli

Въпрос

От доста време се каня да тествам как се справя микротик с баланс между два доставчика, и днес ми остана време да тествам.

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

това ми е баланса които съм изпълнил:

 

 

ip address

add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=Local
add address=192.168.1.2/24 network=192.168.1.0 broadcast=192.168.1.255 interface=WAN1
add address=192.168.2.2/24 network=192.168.2.0 broadcast=192.168.2.255 interface=WAN2
 
ip dns set allow-remote-requests=yes cache-max-ttl=1w cache-size=5000KiB max-udp-packet-size=512 servers=221.132.112.8,8.8.8.8
 
ip firewall mangle
add chain=input in-interface=WAN1 action=mark-connection new-connection-mark=WAN1_conn
add chain=input in-interface=WAN2 action=mark-connection new-connection-mark=WAN2_conn
 
add chain=output connection-mark=WAN1_conn action=mark-routing new-routing-mark=to_WAN1
add chain=output connection-mark=WAN2_conn action=mark-routing new-routing-mark=to_WAN2
 
add chain=prerouting dst-address=192.168.0.0/24 action=accept in-interface=LAN
add chain=prerouting dst-address=192.168.1.0/24 action=accept in-interface=LAN
 
add chain=prerouting dst-address-type=!local in-interface=LAN per-connection-classifier=both-addresses-and-ports:2/0 action=mark-connection new-connection-mark=WAN1_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=LAN per-connection-classifier=both-addresses-and-ports:2/1 action=mark-connection new-connection-mark=WAN2_conn passthrough=yes
 
add chain=prerouting connection-mark=WAN1_conn in-interface=LAN action=mark-routing new-routing-mark=to_WAN1
add chain=prerouting connection-mark=WAN2_conn in-interface=LAN action=mark-routing new-routing-mark=to_WAN2
 
ip route
add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=to_WAN1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=192.168.0.1 routing-mark=to_WAN2 check-gateway=ping
 
add dst-address=0.0.0.0/0 gateway=192.168.1.1 distance=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=192.168.0.1 distance=2 check-gateway=ping
 
ip firewall nat
add chain=srcnat out-interface=WAN1 action=masquerade
add chain=srcnat out-interface=WAN2 action=masquerade
 
 
 
След като прикючих с тестовете на  микротик пробвах и PFsense,  сложил съм една снимка отдолу и от PFsens-a, ми какво да ви кажа, доста по добре се справи от микротика настройва се за 1-2 мин., но и той си има своите проблеми, много бавно разбира че 1-ят GW е долу губи 5-10 пинга към някой сайт което само по себе си не е кой знае какъв проблем но е малко досадно (поне мен ме дразни това), но пък поне няма сайт който да не заредил ,докато при микротика има едно полувинчато зареждане и даже по някога и не зарежда някой сайтове, но пък микротика губи само 1 пакет като падне доставчик.
Слагам и една снимка какво имам предвид под полувинчато зареждане на сайтове.
Та да си дойда на въпроса, по принцип искам да изградя лоуд баланс с микротик , но този лаг и това увисване на някой сайтове ме дразни някой знае ли как мога да оправя този проблем ? 
 

post-541-0-08525600-1370182167_thumb.png

post-541-0-49780400-1370182220_thumb.png

post-541-0-44234700-1370182274_thumb.png

post-541-0-48651100-1370183921_thumb.png

Редактирано от Anatoli

Никога не се страхувай да правиш това, което не умееш. Помни, че Ноевият ковчег е направен от любители. Професионалистите са построили "Титаник"

Адрес на коментара
Сподели в други сайтове

Recommended Posts

  • 0

isp1 isp2

| |

| |

rb rb

| |

bgp bgp

| |

основен

Сложи два RB като бордери при теб и си вдигни BGP между тях и основния.

На всеки бордер според доставчика и предпочитанията си добави network's в BGP за да излизат през него, съответно и бордерите ще ти маскират зад реалните IP-та на всеки доставчик. Пусни им по един прост ping скрипт на всеки от бордерите да следи за връзка и ако няма да бута нещо. Така рутера ти ще си получи две сесии и ще работи нормално , стабилно и без гимнастика.

така ли би изглеждал примера на MiPSus че и аз се боря с това обединяване на скорсти.Благодаря за отговорите

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

Редактирано от nishtonishto
Адрес на коментара
Сподели в други сайтове

  • 0
  • Администратор

Преди доста време си играх и стигнах до тук:

http://itservice-bg.net/?p=1165

 

 

И с MikroTik може но трябва да се маркират по важните неща като icmp, gre, ssh, https, ftp, VOIP през един от доставчиците.

http://itservice-bg.net/?p=230

Адрес на коментара
Сподели в други сайтове

  • 0

Въпрос към samyil.С vyatta постига ли се удвояване на скоростта .Благодаря за отговора weight 1 – Е съотношението на пакетите насочени към доставчиците и е с опция от 1 до 255. weight е тежеста кой доставчик да се използва повече и ако съотношението е 2:1 то доставчика с weight 2, ще има поток от данни 67% спрямо 33% на другия който е с weight 1.

Адрес на коментара
Сподели в други сайтове

  • 0

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

http://www.cisco.com/image/gif/paws/26634/bgp-toc.pdf

... и яз можем, и тате може, ма козата си сака пръч!

Адрес на коментара
Сподели в други сайтове

  • 0
  • Администратор

Juniper звучи по разбираемо

един туториал за вътрешно iBGP

 

p.s.

Цялата работа става и на една машина с vmware и mikrotik

Харесай поста ^^^
acer.gif htc.gifsigpic4024_2.gif

Форумът е за взаимопомощ а не за свършване на чужда работа


ɹɐǝɥ uɐɔ noʎ ǝɹoɯ ǝɥʇ 'ǝɯoɔǝq noʎ ɹǝʇǝınb ǝɥʇ

Адрес на коментара
Сподели в други сайтове

  • 0
  • Администратор

Що толкова сложно ?

Може да се направи много  по просто и елегантно :)

Use since

OpenBSD 3.x

FreeBSD 4.x

Centos 5.x Debian 3.x Ubuntu 7.x

Аз съм фен на OpenWRT.

 

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

_____________________________

___|____|____|____|____|____|__

_|____|____|____|____|____|____

___|____|_ Удряй _|____|____|__

_|____|___ главата ___|____|____

___|____|_ си тук!! |____|____|__

_|____|____|____|____|____|____

___|____|____|____|____|____|__

Адрес на коментара
Сподели в други сайтове

  • 0
  • Администратор

Само аз ли имам чувството, че си чешем езиците. Ще го правим ли тоя load balance или само ще се бъзикаме !?!??

Собственика на темата: Инсталирай нещо без чист Линукс защото няма модула equal cost multipatch и трябва да се "билдне" (например инсталирай -  MikroTik, Vyatta, Pfsence) и да почваме !!!

Адрес на коментара
Сподели в други сайтове

  • 0

Аз не съм се базикал с никого .Фен съм на микротик ,но няма читаво решение за удвояване на скоростта.Затова ще питам отново има ли читаво решение при Vyatta или BSD -дистро .При feeenas има link agregation -накой да каже върши ли работа http://doc.freenas.org/index.php/Link_Aggregations

Адрес на коментара
Сподели в други сайтове

  • 0

Само аз ли имам чувството, че си чешем езиците. Ще го правим ли тоя load balance или само ще се бъзикаме !?!??

Собственика на темата: Инсталирай нещо без чист Линукс защото няма модула equal cost multipatch и трябва да се "билдне" (например инсталирай -  MikroTik, Vyatta, Pfsence) и да почваме !!!

Не си само ти който си мислиш че си чешете езиците. Инсталирал съм си микротик на 3 машини, проста ми трябва  малко време да седна и да "почопля" смятам че вариянта с  локалното  BGP ще работи, ако някой го изтества преди мен ще му бъда благодарен да сподели с всички, ако ли не, като ми остане време и го изтествам ще споделя аз със всички. Видях че си споменал Pfsens-а, там какво искаш да обсъдим, той си балансва перфектно и се настройва за 5-10 мин., стабилен е не забива малко повече товари проца но смятам че това е разбираемо.

Кажи некъв жокер идеяка ако имаш сподели

PFsense ето ти жокер :)

Аз не съм се базикал с никого .Фен съм на микротик ,но няма читаво решение за удвояване на скоростта.Затова ще питам отново има ли читаво решение при Vyatta или BSD -дистро .При feeenas има link agregation -накой да каже върши ли работа http://doc.freenas.org/index.php/Link_Aggregations

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

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

Редактирано от Anatoli

Никога не се страхувай да правиш това, което не умееш. Помни, че Ноевият ковчег е направен от любители. Професионалистите са построили "Титаник"

Адрес на коментара
Сподели в други сайтове

  • 0

Anatoli инсталирал съм микротик сенсе и виатта боря ги всеки ден по 2 часа след работа и резолтата при микротик е като при теб .Мислех че има някакво решение при виатта но ядец не оспявам .Ако може samyil да даде някакви насоки за Vyatta .kokaracha за bsd.А ти за микротик локалното BGP ще ги боря и ще постна резолтати и за трите

Адрес на коментара
Сподели в други сайтове

  • 0

Anatoli инсталирал съм микротик сенсе и виатта боря ги всеки ден по 2 часа след работа и резолтата при микротик е като при теб .Мислех че има някакво решение при виатта но ядец не оспявам .Ако може samyil да даде някакви насоки за Vyatta .kokaracha за bsd.А ти за микротик локалното BGP ще ги боря и ще постна резолтати и за трите

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

Никога не се страхувай да правиш това, което не умееш. Помни, че Ноевият ковчег е направен от любители. Професионалистите са построили "Титаник"

Адрес на коментара
Сподели в други сайтове

  • 0

Добре за сенсето ясно ,но давай насоки за локално Bgp да го боря-може и малко линкчета да чета .Тази нощ я обричам на тестове .Изтривам виатта още сега и повече няма да се занимавам за да не губя време.

Адрес на коментара
Сподели в други сайтове

  • 0
  • Администратор
Отговорено (Редактирано)
Бе направо си ги чешем ....
 
И така, тъй като минаваме на обучаваща тема нека започнем от там че, повечето хора малко не правят разлика между термините.
source routing
policy routing
load balance
failover
dinamic routing - rip, ospf, bgp
 
Тъй като темата е за load balance нека обърнем внимание на него. load balance като технология се среща в два варианта без значение от изпълнението му - тоест network OS (Cisco, Juniper, Linux, BSD) В единия вариант имаме следене състоянието на връзките а в другия имаме следене състоянието на пакетите.
 
Следене състоянието на пакетите е в миналото и го има във всички OS. Просто само допълваш рутовете с метрика 1 и тежеста към доставика и всичко тръгва. Повтарям има го във всички OS и са няколко реда. Проблема със следенето на пакетите идва от там, че един пакет да умре и да не се върне се чупи връзката. Чупи се защото след като не се следи връзката кернела мерейки по тежеста чака пакета да дойде от другия гейт но той не идва. От там се появява забавянето от което всички се оплакват и то с право.
 
Втория вариант със следенето на връзката също не е перфектен но е къде - къде по интелигентен. Ще обърна внимание на трите OS микротик, пфсенс и виата защото предполагам че, нямаш сиско или джунос ... при микротик и виата следенето на връзката се прави със защитната стена тоест iptables защото е statefull (conntrack table) и го може а при pfsense е модул. Идеята на всичко това е че, пакетите се маркират по source и destination и образуват група тоест връзка и iptables в mikrotik и vyatta или модула в pfsence следят връзката и не позволяват на кернела да чака пакет от другия гейт защото тежеста му е конфигурирана да мери пакетите по равно.
 
Проблема на Mikrotik и pfsense е че, извършват load balance в една обща таблица тоест първия доставчик, втория доставчик и localhost на рутера. При Vyatta това не е така, рутера (локалхост си има един гейт и той въобще не се намесва в таблиците на първия и втория доставчик) От тук идва неразбирането на Vyatta, защо като набия един route към dir.bg към първия доставчик на клиента продължава да му шари и през двата. Всичко това се случва защото рутера взима решение само за неговата рутинг таблица а за клиента трябва да се опише отделно с опцията exclude. Тъй като Vyatta рутера има един гейт (защото load balance за него не важи а важи зад клиентите зад него) той приема перфектно трафика към него от рода pop, imap, icmp, dns и подобни - защото си представете какво се случва когато този гейт ту го има ту го няма в Интернет за да мери тежеста по равно на пакетите или както е зададен - надявам се вече става ясно защо тук забавянето го няма !!!
 
На практика от трите OS Vyatta и Pfsense се справят доста по добре с всякакъв трафик от Mikrotik поради факта че Vyatta има специален скрипт load balance който е комбиниран с failover а pfsense добре написан модул който работи на подобен принцип (макар, че не се справя добре с трафика от Интернет към него) но и трите OS чупят icmp, voip и https трафика. Поради тази малка подробност те се описват (рутват) отделно към по "якия" доставчик. Именно заради това load balance трябва да е в комбинация с failover за да падат рутовете към по "якия" доставчик ако той се срине и въпросния трафик да потече през другия достачик.
 
Знам, че на всички и е ясно че, цялата тази магия става зад NAT и на двата доставчика но във Vyatta това става автоматично и става боза ако се опишат допълнително NAT-ве втори път !

Микротик има една много хубава страничка за load balance http://wiki.mikrotik.com/wiki/Load_Balancing. Тук доста добре подредено е показано какви са вариантите.
 
Firewall marking
ECMP (Equal Cost Multi-Path)
PCC (Per Connection Classifier)
Nth
Bonding
OSPF
BGP
 
На практика в този списък нас ни интересуват 3 дисциплини ECMP, PCC и Nth.
 
1. ECMP (Equal Cost Multi-Path)
 
Само като прочета последния ред в статията и съм се отказал във въздуха още:
"So even if you do not have any changes of routing table, connections may jump to other gateway every 10 minutes"
 
2. PCC (Per Connection Classifier)
 
Това е балансинга със следене на връзката а не пакета - хората са го описали добре.
"PCC matcher will allow you to divide traffic into equal streams with ability to keep packets with specific set of options in one particular stream (you can specify this set of options from src-address, src-port, dst-address, dst-port)"
 
На теория изглежда много умно но на практика не е точно така имено откъм трафикa от интернет като icmp, voip, https, dns, и разни игри. Всички те трябва да се рутнат допълнително през единия от доставчиците.
 
3. Nth
 
Гениална идея, и не само идея  - на практика работи перфектно. Въпроса тук е че, на клинетите зад рутера не се удвоява скороста а според натоварването на трафика рутера избира към кой от доставчиците да се рутне. Това с 5 клиента и 10Mbits трафик няма как да работи добре но с 50 клиента нагоре направо кърти.
 
"This example is improved (different) version of round-robin load balancing example. It adds persistent user sessions, i.e. a particular user would use the same source IP address for all outgoing connections. Consider the following network layout:"
 
Много е важно да извадим това от текста - persistent user sessions и да си спим спокойно. Шапка им свалям на Микротик за това решение !!!
 
-------------------------------------------------------------------------------------------------------------------------------
 
 
Vyatta
В документацията на Vyatta "High Availability" в секциата "WAN Load Balancing" срещаме следният текст:
"Load balancing is supported for outbound traffic only. Load balancing is not
performed on packets sourced from the system itself"
Повечето хора го пропускат и се чудят после защо не могат да контролират рутера си. Всъщност документацията не е 20 реда но е доста интересна и трябва да се прочете внимателно защото как ще направиш нещо на практика ако не разбираш логиката с която то работи !?!?!?!
 
Линк към документацията:
 
На практика:

Pfsense ползва round robin алгоритъма което не ми харесва много, много но факт е че, работи доста леко и гадния лаг (все едно че няма DNS липсва) докато във Vyatta незнам защо понякога се появява. 

Редактирано от samyil
  • Харесай 3
Адрес на коментара
Сподели в други сайтове

Създайте нов акаунт или се впишете, за да коментирате

За да коментирате, трябва да имате регистрация

Създайте акаунт

Присъединете се към нашата общност. Регистрацията става бързо!

Регистрация на нов акаунт

Вход

Имате акаунт? Впишете се оттук.

Вписване
  • Потребители разглеждащи страницата   0 потребители

    • No registered users viewing this page.
×
×
  • Създай нов...

Important Information

By using this site, you agree to our Terms of Use.