Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Rozdzielenie userów na dwa łącza na jednym serwerze [2xwan] http://forum.freesco.pl/viewtopic.php?f=22&t=11533 |
Strona 1 z 2 |
Autor: | Albercik [ poniedziałek, 6 marca 2006, 16:06 ] |
Tytuł: | Rozdzielenie userów na dwa łącza na jednym serwerze [2xwan] |
Czasami nie wszyscy posiadając dwa łącza chcą mieć load balancing , często zależy im na dwóch bramach i rozdzieleniem użytkowników na dwie bramy . Mam tutaj taki skrypcik , posklejany z kilku i uporządkowany , który potrafi skierować useró zależnie od IP na dwie różne bramy . Nie wklepałem jeszcze natowania , ale trzeba to zrobić jako nat źródłowy , taki jak przy lb . #!/bin/bash echo "Konfiguruje routing..." /sbin/ifconfig eth0 192.168.1.6 netmask 255.255.255.0 up //łącze pierwsze /sbin/ifconfig eth2 192.168.2.6 netmask 255.255.255.0 up //łącze drugie /sbin/ifconfig eth1 192.168.0.1 netmask 255.255.255.0 up //sieć lan #set -x IF0="eth1" IF1="eth0" IF2="eth2" IP1="192.168.1.6" IP2="192.168.2.6" P1="192.168.1.1" P2="192.168.2.1" P0_NET="192.168.0.0" P1_NET="192.168.1.0" P2_NET="192.168.2.0" # 2 trasy do dwoch bram ip route add $P1_NET dev $IF1 src $IP1 table T1 ip route add default via $P1 table T1 ip route add $P2_NET dev $IF2 src $IP2 table T2 ip route add default via $P2 table T2 #pakiety z sieci danego łącza wysylamy na jego bramkę ip route add $P1_NET dev $IF1 src $IP1 ip route add $P2_NET dev $IF2 src $IP2 #trasa domyslna - do wyboru #ip route add default via $P1 ip route add default via $P2 #konfiguracja tablic routingu ip rule add from $IP1 table T1 ip rule add from $IP2 table T2 #dodatkowe wpisy dla LAN ip route add $P0_NET dev $IF0 table T1 ip route add $P2_NET dev $IF2 table T1 ip route add 127.0.0.0/8 dev lo table T1 ip route add $P0_NET dev $IF0 table T2 ip route add $P1_NET dev $IF1 table T2 ip route add 127.0.0.0/8 dev lo table T2 # dodajemy userow do tablicy NR=5; while [ $NR -le 254 ]; do ip rule add from 192.168.1.$NR table T1 ; ip rule add from 192.168.2.$NR table T2 ; ip rule add from 82.160.201.$NR table T1; NR=$[ NR + 1 ] done #wymuszenie natychmiastowego wyczyszczenia cache ip route flush cache |
Autor: | Albercik [ sobota, 11 marca 2006, 15:29 ] |
Tytuł: | |
W jaki sposób kolejkujecie na serwerach z dwoma łączami ? |
Autor: | tasiorek [ sobota, 11 marca 2006, 15:40 ] |
Tytuł: | |
Download sumarycznie w jednej kolejce, a upload w osobnej kolejce z osobnymi markami iptables. |
Autor: | Albercik [ sobota, 11 marca 2006, 15:42 ] |
Tytuł: | |
tasiorek pisze: Download sumarycznie w jednej kolejce, a upload w osobnej kolejce z osobnymi markami iptables.
Masz jakieś przykłady ? Ja coś kombinuję z przekompilowaniem niceshapera , tak aby obsługiwał dwa łącza - dwa niezależne niceshapery ..... sam jestem ciekawy efektu ![]() |
Autor: | tasiorek [ sobota, 11 marca 2006, 15:50 ] |
Tytuł: | |
http://forum.freesco.pl/viewtopic.php?t=11195 Z tym, ze teraz przenosze na 2 lacze po markach iptables, wiec w regulach przycinania 2 lacza musialem dac te, ktore przenosza na 2 lacze. Jeli juz kombinujesz z przekompilowaniem niceshapera, to nie rob tak zeby dzialaly 2 osobne, tylko dodaj 3 kolejke na upload 2 lacza. Jak nie chcesz traktowac downloadu po macoszemu, to zaloz 4 kolejki. Download, jesli do lan masz jedna sieciowke bedziesz musial przycinac na imq. Nie ma sensu uruchamiac dwoch niceshaperow na raz. |
Autor: | Albercik [ niedziela, 12 marca 2006, 03:19 ] |
Tytuł: | |
Nie trzeba już kombinować - jest niceshaper 0.6 na którym da się kilka łącz odpalić na jednym serwerze . Nie wiadomo tylko jak działa ![]() |
Autor: | Albercik [ poniedziałek, 27 marca 2006, 21:50 ] |
Tytuł: | |
w tej konfiguracji nie mogę pingować interfejsów zewnętrznych , nie mogę też wejśc na www po ip zewnętrznym. Dziwny objaw. Zna ktoś na to receptę ? |
Autor: | tasiorek [ poniedziałek, 27 marca 2006, 22:04 ] |
Tytuł: | |
Hmm moze dlatego, ze wpisales adresy sieci bez masek $P0_NET $P1_NET i $P2_NET powinny wygladac np. tak: 192.168.0.0/24 Popatrz jak masz dodany loopback. |
Autor: | Albercik [ wtorek, 28 marca 2006, 11:17 ] |
Tytuł: | |
tasiorek pisze: Hmm moze dlatego, ze wpisales adresy sieci bez masek $P0_NET $P1_NET i $P2_NET powinny wygladac np. tak: 192.168.0.0/24
Popatrz jak masz dodany loopback. Wyglada na to ,że trafiłeś w problem , jeszcze posprawdzam . |
Autor: | Albercik [ środa, 29 marca 2006, 12:29 ] |
Tytuł: | |
Nie, to nie to jednak , poza tym nie mogę odpalić htb Zciechowego - kolejki się tworzą , ale nie lecą przez nie pakiety . Kiedy odpalam tylko jedno łącze tradycyjnie - htb pracuje , odpalę skrypt - htb przestaje pracować . Czy ma to związek ze snatem lub czymkolwiek innym ? |
Autor: | -MW- [ środa, 12 marca 2008, 14:40 ] |
Tytuł: | |
no i jak sie skonczyl ten temat? |
Autor: | Konar [ piątek, 4 lipca 2008, 01:43 ] |
Tytuł: | |
Witam! Przepraszam, ze stary temat odświeżam, ale mam bardzo podobna sytuacje i za cholere nie daje rady... Pierwsze łącze na ppp0 (pppoe - ip przyznawany dynamicznie) Drugie łącze na eth2 (dhcp - ip przyznawany dynamicznie) eth1 - LAN. Nie interesuje mnie LB. Łącze z ppp0 jest domyslne, w ip route jest np 78.8.135.1 dev ppp0 proto kernel scope link src 78.8.135.167 192.168.0.0/24 dev eth1 proto kernel scope link src 192.168.0.1 127.0.0.0/8 dev lo scope link default dev ppp0 scope link i działa to ok...do czasu kiedy podniose interface eth2. Wtedy sie brama domyslna nadpisuje i nie ma netu w sieci...ale jakos do tego doszedlem i recznie ustawiam w ip route brame domyslna na tą z ppp0. Oba łącza działają, tylko teraz chcę przerzucić część userów na łącze z eth2... w iptables.rules pozmienialem (chyba) wszelkie potrzebne wpisy, restartuje iptables i... nic... nie ma netu na tych kompach, ktore powinny być na łączu z eth2. Zgaduje, ze to pewnie cos z ip route...? Czy te kompy na drugie łącze muszą byc w oddzielnej podsieci? Proszę o pomoc... Chciałem wykorzystać ten skrypt z pierwszego postu, ale poległem na kwestii takiej, ze nie mam stałych adresów bramy, ip, etc... ![]() Pozdrawiam |
Autor: | Albercik [ poniedziałek, 29 września 2008, 13:36 ] |
Tytuł: | |
Małe zmiany w skrypcie: #!/bin/bash echo "Konfiguruje routing..." /sbin/ifconfig eth0 82.x.x.x netmask 255.255.255.0 broadcast 82.x.x.255 up #łącze pierwsze /sbin/ifconfig eth2 89.x.x.x netmask 255.255.255.248 broadcast 89.x.x.199 up #łącze drugie /sbin/ifconfig eth1 200.x.x.x netmask 255.255.255.0 broadcast 200.x.x.255 up #sieć lan IF0="eth1" #sieciówka LAN IF1="eth0" #sieciówka WAN1 IF2="eth2" #sieciówka WAN2 IP1="82.x.x..10" #IP WAN1 IP2="89.x.x.198" #IP WAN2 P1="82.x.x.1" #IP BRAMA WAN1 P2="89.x.x.197" #IP BRAMA WAN2 P0_NET="200.x.x.10/24" #IP LAN P1_NET="82.x.x.0/24" #IP WAN1 P2_NET="89.x.x.196/30" #IP WAN2 # 2 trasy do dwoch bram ip route add $P1_NET dev $IF1 src $IP1 table T1 ip route add default via $P1 table T1 ip route add $P2_NET dev $IF2 src $IP2 table T2 ip route add default via $P2 table T2 #pakiety z sieci danego łącza wysylamy na jego bramkę ip route add $P1_NET dev $IF1 src $IP1 ip route add $P2_NET dev $IF2 src $IP2 #trasa domyslna - do wyboru #ip route add default via $P1 ip route add default via $P2 #konfiguracja tablic routingu ip rule add from $IP1 table T1 ip rule add from $IP2 table T2 dodatkowe wpisy dla LAN ip route add $P0_NET dev $IF0 table T1 ip route add $P2_NET dev $IF2 table T1 ip route add 127.0.0.0/8 dev lo table T1 ip route add $P0_NET dev $IF0 table T2 ip route add $P1_NET dev $IF1 table T2 ip route add 127.0.0.0/8 dev lo table T2 # dodajemy userow do tablicy NR=5; while [ $NR -le 254 ]; do ip rule add from 192.168.2.$NR table T1 ; ip rule add from 192.168.1.$NR table T2 ; ip rule add from 82.x.x.$NR table T1; ip rule add from 89.x.x.$NR table T2; NR=$[ NR + 1 ] done #wymuszenie natychmiastowego wyczyszczenia cache ip route flush cache i nadal ten sam problem - nie można pingować wzajemnie interfejsów WAN , na jednym z łącz stoi www i z drugiego WANa nie ma możliwości wejśćia. Proszę o jakieś sugestie ![]() |
Autor: | -MW- [ poniedziałek, 29 września 2008, 15:35 ] |
Tytuł: | |
ale wazne ze da sie to zrobic z hosta w necie. |
Autor: | Albercik [ poniedziałek, 29 września 2008, 15:56 ] |
Tytuł: | |
-MW- pisze: ale wazne ze da sie to zrobic z hosta w necie.
Tak, da się, ale na jednym z łącz są usługi www, ftp, poczta, a z drugiego nie jest to dostępne. W Twoich skryptach nie ma tego problemu. Możesz oddzielić same reguły dla drugiego łącza od reszty skryptów? |
Autor: | -MW- [ poniedziałek, 29 września 2008, 18:46 ] |
Tytuł: | |
Cytuj: Tak, da się, ale na jednym z łącz są usługi www, ftp, poczta, a z drugiego nie jest to dostępne.
nie rozumiem co to ma do rzeczy? host z lanu ma sie laczyc jednym laczem do drugiego zeby skorzystac z jakichs uslug? troche bezsesu. |
Autor: | Albercik [ poniedziałek, 29 września 2008, 19:24 ] |
Tytuł: | |
-MW- pisze: Cytuj: Tak, da się, ale na jednym z łącz są usługi www, ftp, poczta, a z drugiego nie jest to dostępne. nie rozumiem co to ma do rzeczy? host z lanu ma sie laczyc jednym laczem do drugiego zeby skorzystac z jakichs uslug? troche bezsesu. Nie jest bez sensu. Maszyna z www ftp i pocztą jest fizycznie inną maszyną i stoi przed routerem. |
Autor: | -MW- [ poniedziałek, 29 września 2008, 19:40 ] |
Tytuł: | |
i jest podlaczona do drugiego lacza - ma swoje ip a nnd jako router ma podpiete dwa lacza i hosty przypisane do lacza pierwszego nie moga sie dostac do owej maszyny z www i poczta? tak to nalezy rozumiec? jednym slowem cos nie tak z regulkami sterujacymi rutingiem. sprawdzilem u siebie i nie byloby z tym problemu ale z lacza glownego na dodatkowe - czyli tez jest warunek na ktorym laczu mialaby stac serwer www itd. poniewaz ja nie mam dwoch interfejsow zewnetrznych tylko jeden to nie moge puscic pingu laczem dodatkowym stojacym jako alias na eth0. chyba ze jakas bardziej skomplikowana skladnia polecenia ping wymuszajaca ruch przez zadane ip na to pozwala, lecz nie zglebialem tego tematu ![]() |
Autor: | Albercik [ poniedziałek, 29 września 2008, 21:03 ] |
Tytuł: | |
-MW- pisze: i jest podlaczona do drugiego lacza - ma swoje ip a nnd jako router ma podpiete dwa lacza i hosty przypisane do lacza pierwszego nie moga sie dostac do owej maszyny z www i poczta?
tak to nalezy rozumiec? Dokładnie. |
Autor: | -MW- [ poniedziałek, 29 września 2008, 23:21 ] |
Tytuł: | |
Cytuj: W jaki sposób kolejkujecie na serwerach z dwoma łączami ? a ja wyszdelem z innego zalozenia:) jak kolega sugeruje wyzej. ruch z lan kierowany jest na imq0 na ktorym sa kolejki hostow (ul) po czym po przejsciu przez inne reguly iptables kierowany jest do odpowiedniego lacza przez imq5 i imq7 gdzie filtrowany jest ruch w/g uslug. z dl jest analogicznie tylkow druga strone - ruch filtrowany w/g uslug i kierowany przez imq6 i imq8 do imq1 gdzie sa kolejki hostow. ruch malowymagajacy wzgledem opoznien porty 80 i 443 kieruje na wieksze lacze, reszta leci nieco mniejszym i luzniejszym. a odnosnie regul routingu - pokaz jak one wygladaja: ip rule list ps. Cytuj: dodatkowe wpisy dla LAN ip route add $P0_NET dev $IF0 table T1 ip route add $P2_NET dev $IF2 table T1 ip route add 127.0.0.0/8 dev lo table T1 ip route add $P0_NET dev $IF0 table T2 ip route add $P1_NET dev $IF1 table T2 ip route add 127.0.0.0/8 dev lo table T2 te wpisy prawdopodobnie masz juz w tablicy main wiec po co je powtrzac ? tyle ze odwolanie do tablicy main masz z bardzo niskim prio Cytuj: 32766: from all lookup main 32767: from all lookup default a wystarczy mala modyfikacja i kika regul juz odpada, bo sa tworzone przy podnoszeniu interfejsu i wystarcza same trasy domyslne w tabelach T1 i T2 oraz pozbycie sie domyslnej tras z main. byc moze rozwiazaniem problemu z dostepem hostow z lacza pierwszego do maszyny z www na laczu drugim bedzie dodanie regulki: ip rule add prio 10 to $P2_NET table T2 a swoja droga to w regulach panuje haos: Cytuj: NR=5;
while [ $NR -le 254 ]; do ip rule add from 192.168.2.$NR table T1 ; ip rule add from 192.168.1.$NR table T2 ; ip rule add from 82.x.x.$NR table T1; ip rule add from 89.x.x.$NR table T2; NR=$[ NR + 1 ] done nieco za duzo regulek takich samych. no i pytanie co z maskowaniem ip czy jest w poprawny sposob zrobony, dla pakietow wychodzacych odpowiednim interfejsem? |
Strona 1 z 2 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |