Bridge_-_prosty_mostek_sieciowy

Chciałem tym razem przedstawić konfiguracje mostka sieciowego na linuxie. Co to jest mostek (bridge)?? W skrócie jest to urządzenie oddzielające dwa lub więcej fizycznych segmentów sieci będących w jednej sieci logicznej czyli w obrębie jednej klasy adresowej. Bridge stosujemy najczęściej w 2-3 przypadkach
- W celu zmniejszenia obciążenia siec tzn umieszczamy go pomiędzy dwoma grupami komputerów w sieci, gdzie komputery w obrębie danej grupy komunikują się ze sobą bardzo często, lecz komputery pomiędzy tymi grupami komunikują się rzadziej.
- Kolejne zastosowanie bridge'a to możliwość połączenie dwóch standardów sprzętu sieciowego np. 10-Base-T (sieć BNC) i 100-Base-TX (sieć na skrętce)
- Musimy połączyć ze sobą kilka komputerów. Nie mamy pod ręką hub-a/switch-a, za to mamy więcej niż jedną kartę sieciowa.

Właśnie do tego ostatniego przypadku kiedy to musiałem połączyć ze sobą 3 komputery, sprzydał mi się mostek. Więcej informacji na temat mostka znajdziecie w
http://pl.wikipedia.org/wiki/Bridge
http://google.pl Smile :)

W moim przypadku konfiguracja sieci wyglądała następująco:

KOMP1 ===== (eth0 SERWER eth1) ===== KOMP2

A więc zaczynamy


1) Instalujemy potrzebne pakiety

mrrobby@serwer:~/bin$ sudo apt-get install bridge-utils


2) Musimy stworzyć skrypt który będzie odpalał nam nasz mostek. W tym celu tworzymy nowy plik

mrrobby@serwer:~/bin$ sudo vim /etc/rc.mostek

Zawartość pliku

#Zaladowanie modulu mostka tak na wszelki wypadek :)
/sbin/modprobe bridge

#Musimy zresetować adresy na kartach sieciwych
ifconfig eth0 up 0.0.0.0
ifconfig eth1 up 0.0.0.0


# Tworzymy mostek o nazwie 'br0'.
brctl addbr br0

# Dodajmy do mostka br0 obie karty sieciowe
brctl addif br0 eth0
brctl addif br0 eth1

# Przydzielmy mostkowi adres ip, żeby komputer na eth0 i eth1 widział serwer na którym jest mostek
ifconfig br0 up 192.168.1.1 netmask 255.255.255.0

I to był by cały plik konfiguracyjny
3) Należy nadać mu jeszcze prawa do uruchamiania i dodać do pliku /etc/rc.local jeśli chcemy by mostek był odpalany przy starcie komputer.

mrrobby@serwer:/$ sudo chmod o+x /etc/rc.mostek
mrrobby@serwer:/$ sudo vim /etc/rc.mostek

W pliku należy dodać następującą linijke

/etc/rc.mostek

Może przetestujmy nasz mostek. Komputer nie był jeszcze resetowany wiec mostek jeszcze nie działa. Przed uruchomieniem mostka chciałem tylko nadmienić ze komputery podpięte do kart sieciowych mają skonfigurowane interfejsy w ten sposób KOMP1 IP 192.168.1.2 Mask 255.255.255.0

KOMP2 IP 192.168.1.3 Mask 255.255.255.0

Uruchamiamy mostek

mrrobby@serwer:/$ sudo /etc/rc.mostek

Mostek powinien się załadować i pokazać się w interfejsach sieciowych

mrrobby@serwer:/$ ifconfig br0
br0     Link encap:Ethernet  HWaddr 00:30:4F:17:5F:58
          inet addr:192.168.1.1  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:373 errors:0 dropped:0 overruns:0 frame:0
          TX packets:409 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:44148 (43.1 KiB)  TX bytes:39428 (38.5 KiB)

Od tej pory powinniśmy móc pingować wszystkie komputery w sieci:) Dla dowodu wykonuje pingi z maszyny 192.168.1.2

mrrobby@serwer:~$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.160 ms
mrrobby@serwer:~$ ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.126 ms
mrrobby@serwer:~$ ping 192.168.1.3
PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data.
64 bytes from 192.168.1.3: icmp_seq=1 ttl=128 time=0.501 ms

Do obsługi mostków służy polecenie brctl. Po więcej info zapraszam do dokumentacji

Bridge_-_prosty_mostek_sieciowy (last edited 2008-08-06 16:37:53 by localhost)