Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam,
chciałbym zrobić coś takiego jak na obrazku poniżej.
Tak więc chciałbym żeby 2 karty sieciowe z mojego serwera były wpięte w jedną sieć domową.
Do tego chciałbym żeby eth0 było tylko dla internetu, a eth1 do usług sieciowych takich jak SAMBA, miniDLNA itp.
Czy do tego potrzebuje bonding? Jeśli tak to jaki mode?
Na obecną chwilę gdy korzystam z jednej karty sieciowej i ktoś zaczyna coś kopiować po sieci [SAMBA] to czasami reszcie przymula internet i również filmy oglądane przez miniDLNA.
Kable sieciowe niestety są 100mbit...
ADRESY IP:
ROUTER OPERATORA: 192.168.1.254
SERWER ETH0: 192.168.1.67
SERWER ETH1: 192.168.1.69 <- taki adres chcę na drugim interfejsie
AP WIFI CISCO: 192.168.1.65
[img]http://zapodaj.net/images/aa59bd0a3252d.png[/img]
Ostatnio edytowany przez oSAlj (2015-07-26 16:14:29)
Offline
Bonding nie jest potrzebny, wystarczy routing default przez eth0, Samba i reszta usług niech słucha na adresie przypisanym do eth1 i po krzyku.
Offline
Ok, to biorę się za czytanie co i jak.
Reszta też poleci routing default przez eth0?
Offline
Ja tam bym zrobił bonding, bo wtedy ma się 2x większą przepustowość. Zawsze można dorobić regułki dla TC, by nadać priorytety określonym pakietom. A nie lepiej wydać zwyczajnie te parę zeta i dokupić kartę gbit?
Offline
Ja mam wszędzie karty gigabit. Problem w tym, ze kable w domu są 100mbit
Offline
No przydałoby sie :)
Ale to w przyszłym roku, bo będzie remont :)
Offline
Wszystko robię bezpośrednio na serwerze nie poprzez ssh.
Podpinam karty eth0 i eth1 do jednego tego samego switcha.
Później instaluje ifenslave:
aptitude install ifenslave
Następnie muszę dodać moduły.
Tworzę plik /etc/modprobe.d/bonding.conf i w nim:
alias bond0 bonding options bonding mode=4 miimon=100 lacp_rate=1
W pliku /etc/modules dodajemy linijki:
bonding mii
Wyłączam interfejsy sieciowe
ifdown eth0
ifdown eth1
Teraz zmieniam zawartość pliku /etc/network/interfaces żeby wyglądał tak:
auto eth0 iface eth0 inet manual bond-master bond0 auto eth1 iface eth1 inet manual bond-master bond0 auto bond0 iface bond0 inet static address 192.168.1.67 gateway 192.168.1.254 netmask 255.255.255.0 bond-mode 802.3ad bond-miimon 100 bond-downdelay 200 bond-updelay 200 bond-slaves none dns-nameservers <ip dns’a jesli potrzebny>
Możemy podnieść interfejsy:
ifup eth0
ifup eth1
ifup bond0
Czy to wszystko będzie działać? W sumie mógłbym to zrobić na serwerze, ale przez najbliższe dni musi być cały czas dostępny. Mogę sobie ewentualnie pozwolić na 5-10 minut trybu offline do skonfigurowania bondingu.
Czy tryb 4 jest dla mnie odpowiedni? Chcę żeby eth0 było tylko do internetu + apache2, ftp, dns, owncloud, a eth1 mieć dla sieci lokalnej dla samby, minidlna, apache2, ftp po sieci, owncloud po sieci. eth0 i eth1 wpięte w jedną sieć [ten sam switch]
Jeszcze pytanko. Jak będę w sambie ustawiał na którym interfejsie ma nasłuchiwać to podaje eth1 czy może bond0?
Ostatnio edytowany przez oSAlj (2015-07-29 16:51:56)
Offline
Tu sobie poczytaj o bondingu https://www.kernel.org/doc/Documentation/networking/bonding.txt -- masz tam wyjaśnione wszystkie opcje.
Poza tym, przekombinowałeś. xD Bonding, zwłaszcza w przypadku przewodowych interfejsów, konfiguruje się via sam interfejs bond0, nie trzeba sobie głowy zawracać eth*. Ja u siebie na serwerze mam:
root@the-hound:/home/morfik# cat /etc/network/interfaces | grep -v ^# source-directory /etc/network/interfaces.d auto lo iface lo inet loopback auto bond0 iface bond0 inet dhcp hwaddress ether 00:0f:ea:38:64:4c bond-slaves eth0 eth1 bond-primary eth1 bond_mode balance-rr bond_miimon 100 bond_downdelay 200 bond_updelay 200 bond-fail-over-mac none
Ja jadę na balance-rr bo to równoważy ruch na obu interfejsach, a że są 2x 100Mbit, to razem idzie wyciągnąć 200Mibt -- połowa poleci przez jeden interfejs, połowa przez drugi.
Cały ten ifenslave jest przestarzały i tego się nie używa już. Sam moduł bonding w /etc/modules wystarczy, nie trzeba nic dodatkowo ustawiać -- wszystko konfigurujesz via /etc/network/interfaces .
Co do nasłuchu to na bondzie wszystko ma nasłuchiwać, bo to jest teraz twój główny interfejs sieciowy.
Offline
Coś jednak nie poszło... Ale od początku.
Włączyłem bonding - modprobe bonding
Edytowałem /etc/modules i dopisałem bonding
Następnie edytowałem /etc/modprobe.d/bonding.conf i dodałem
alias bond0 bonding options bond0 -o bond0 mode=0 miimon=100
Teraz plik /etc/network/interfaces
auto lo iface lo inet loopback auto bond0 iface bond0 inet dhcp hwaddress ether c8:cb:b8:c7:06:66 bond-slaves eth0 eth1 bond-primary eth0 bond_mode balance-rr bond_miimon 100 bond_downdelay 200 bond_updelay 200 bond-fail-over-mac none
Tutaj zmieniłem jedynie hwaddress i podałem adres eth0 bond-primary zminiłem z eth1 na eth0.
Nie może pobrać IP przez DHCP.
eth0 i eth1 są podpięte do switcha jak zrobię dhclient eth0 i dhclient eth1 pobiera IP i wszystko działa
Ostatnio edytowany przez oSAlj (2015-07-29 20:31:08)
Offline
Na switchu oczywiście włączyłeś LACP i dodałeś do niego obydwa interfejsy?
Offline
Switch to NETGEAR GS108 i nie jest zarządzalny, a router operatora raczej nie ma takiej opcji...
Nie myślałem, że coś w switchu będę musiał włączać.
Offline
No agregacja łączy musi być obsługiwana na obydwu końcach połączenia. Bez tego bonding odpada.
Offline
Albo może coś używanego poszukam. Może polecisz coś?
Do 500 chyba coś się kupi?
Ostatnio edytowany przez oSAlj (2015-07-29 21:19:42)
Offline
Ale co używanego?
Offline
Chodzi o używanego switcha z agregacją
Offline
Jeśli chodzi o sprzęt sieciowy, to w stosunku możliwości-cena moim zdaniem wygrywa mikrotik. Na pewno w ich ofercie znajdziesz coś dla siebie. Ja prywatnie używam: RB951G-2HnD (chociaż to router z AP, ale przełączanie jest realizowane przez hardware, więc spokojnie może robić jako switch - koszt niecałe 200zł) - obsługuje agregację łaczy.
Jeśli potrzebujesz tylko switcha, to spokojnie znajdziesz w ich ofercie coś taniego.
Offline
Następnie edytowałem /etc/modprobe.d/bonding.conf i dodałem
Kod:
alias bond0 bonding
options bond0 -o bond0 mode=0 miimon=100[/quote]
Ja tego u siebie nie mam. Kiedyś jak się interesowałem konfiguracją bondingu, to czytałem, że to powyższe znajduje jedynie zastosowanie w przypadku gdy się chce mieć wiele interfejsów bond, choć do końca nie pamiętam co tam pisali. W każdym razie ja tego nie używam.
Co do tego LACP — w switchach routerów tplinka takie coś występuje? xD A co z wifi?Kod:
$ cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: load balancing (round-robin) MII Status: up MII Polling Interval (ms): 1000 Up Delay (ms): 5000 Down Delay (ms): 5000 Slave Interface: wlan0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 2 Permanent HW addr: c0:cb:38:01:f0:f5 Slave queue ID: 0 Slave Interface: eth1 MII Status: down Speed: 10 Mbps Duplex: half Link Failure Count: 0 Permanent HW addr: 3c:4a:92:00:4c:5b Slave queue ID: 0Aktualnie ja jadę tylko na wifi ale na dobrą sprawę ja nigdy nie konfigurowałem nigdzie tego LACP i pierwszy raz o tym słyszę, a bonding działał i działa — coś się samo skonfigurowało? xD
Pokaż jeszcze jak wygląda:Kod:
$ cat /proc/net/bonding/bond0
Offline
Jutro dopiero będę mógł wrzucić wynik [b]cat /proc/net/bonding/bond0[/b]. Ustawiłem wszystko tak jak było i mam tylko eth0.
Na tą chwilę mam taki ruch w sieci LAN, że z zewnątrz w ogóle nie ma dostępu... Czy aby na pewno gigabit da radę?
Wiem, że teraz po sieci 4-5 osób kopiuje pliki z/na serwer. Fakt jest to tylko 100mbit.
Ostatnio edytowany przez oSAlj (2015-07-29 21:48:56)
Offline
Wczytałem się w dokumentację i rzeczywiści, nie wszystkie tryby wymagają obsługi przez switch. Tutaj http://serverfault.com/questions/341702/does-linux-balance-rr-bond-mode-0-work-with-all-switches piszą, że balance-rr potrafi obejść się bez obsługi na switchu, ale CIFS (czyli samba) kiepsko na tym działa.
Offline
A czy istnieje inna opcja żeby mieć w jednej sieci 2 karty eth0 i eth1? i rozdzielić internet na eth0, a na eth1 samba, minidlna itp
W sumie nie pisałem, a może to ma jakieś znaczenie. Posiadam Debiana 7.8
Ostatnio edytowany przez oSAlj (2015-07-29 21:58:32)
Offline
Czy aby na pewno gigabit da radę?[/quote]
Zaimplementuj sobie zarządzanie pasmem. Ja mam u siebie TC i połączenia na http https idą na jedną kolejkę i mają wysoki priorytet, icmp idzie na osobną, maile, xmpp i parę innych na inną, streamingi rtmp też osobno, cała reszta, głównie ruch p2p, również, z tym, że ten akurat ma najmniejszy priorytet. Jeśli łącze jest nieużywane to wysyłam obrazy z linuxem, a jak chcę sobie przeglądać net, to natychmiast jest przykręcany kurek p2p i ja tego nawet nie zauważam — pasmo jest wykorzystywane w 100% cały czas, a ping jest ciągle 15ms. xD
Offline
Hmmm ja bym zrobił tak jak @jacek napisał.
Ale to pewnie dlatego że moje leniwe palce wyczuły to jako najszybsze rozwiązanie.
Offline
[quote=gindek]Hmmm ja bym zrobił tak jak @jacek napisał.
Ale to pewnie dlatego że moje leniwe palce wyczuły to jako najszybsze rozwiązanie.[/quote]
Tylko wtedy ten wątek by się skończył po 7 postach, natomiast stawianie bondingu ze switchem, który w ogóle nie wie, co to takiego, to jest zadanie na nową "Szkołę rodzenia Bondingu". :D
Offline
Bonding mnie przerażał trochę, ale ogarnąłem go mniej więcej. Niestety mój router ma problem jeśli mam podpięte 2 karty z tego samego kompa i może dlatego nie pobiera IP przez DHCP dla bond0.
[b]@Jacekalex[/b], no i chyba się skuszę na Twoją propozycję... Tylko jak tak patrze to tylko 2 albo 3 komendy tworzą ten cały routing default przez rth0?
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00095 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.119.192.2' WHERE u.id=1 |
0.00079 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.119.192.2', 1732485895) |
0.00049 | SELECT * FROM punbb_online WHERE logged<1732485595 |
0.00051 | SELECT topic_id FROM punbb_posts WHERE id=289221 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=27596 ORDER BY posted |
0.00055 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27596 AND t.moved_to IS NULL |
0.00017 | SELECT search_for, replace_with FROM punbb_censoring |
0.00105 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27596 ORDER BY p.id LIMIT 0,25 |
0.00083 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27596 |
Total query time: 0.00552 s |