W FreeBSD włączenie funkcji mostu nie jest trudnym przedsięwzięciem. Począwszy od wydania 4.5 owe funkcje mogą być dołączone jako moduły, nie trzeba więc przebudowywać jądra, co jest znacznym udogodnieniem. Poniżej opisuję obydwa sposoby.
Nie należy postępować według obu poniższych przepisów: skorzystanie z jednego z nich wyklucza korzystanie z drugiego. Wybór powinien zależeć od własnych potrzeb i możliwości.
Przed rozpoczęciem należy upewnić się, że dysponujemy przynajmniej dwiema kartami sieciowymi zdolnymi do pracy w trybie pośredniczenia zarówno przy odbiorze, jak i nadawaniu; karty będą wysyłać pakiety opatrzone niekoniecznie ich własnymi adresami. Co więcej, by osiągnąć dobrą wydajność, powinny być to karty PCI obsługujące zarządzanie magistralą. Do takich należą karty Intel EtherExpress Pro, a także karty 3Com z serii 3c9xx. Dla uproszczenia konfiguracji firewalla pożytecznym okazać się może posiadanie kart dwóch różnych producentów (korzystających z innych sterowników), by łatwiej było odróżnić interfejs podłączony do rutera od interfejsu połączonego z siecią wewnętrzną.
Pierwsza z metod jest starsza, lecz sprawdzona. Na początek należy dodać następujące wiersze do pliku konfiguracyjnego jądra:
options BRIDGE options IPFIREWALL options IPFIREWALL_VERBOSE
Pierwszy wiersz włącza do jądra obsługę mostu, drugi obsługę firewalla, a trzeci funkcje rejestrujące firewalla.
Teraz trzeba skompilować i zainstalować nowe jądro. Szczegółowy opis tych czynności znaleźć można w Podręczniku FreeBSD, w części "Building and Installing a Custom Kernel".
Ta metoda instalacji jest nowsza i prostsza, polega jedynie
na dodaniu poniższego wiersza do
/boot/loader.conf
:
bridge_load="YES"
W efekcie podczas ładowania systemu wraz z jądrem zostanie
załadowany moduł bridge.ko
. Nie trzeba dodawać
analogicznego wiersza dla modułu ipfw.ko
, gdyż
zostanie on załadowany automatycznie po wykonaniu czynności
opisanych w następnej części.
All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.