/ Linux Reviews / Networking / Kształtowanie Ruchu i Zaawansowany Routing HOWTO - en - pl
16.3. Pseudo-mosty i Proxy-ARPJeśli chcesz zaimplementować pseudo-most, pomiń tych parę sekcji aż do `Uruchamianie', dobrze byłoby jednak byś przeczytał trochę jak to działa w praktyce. Pseudo-most działa trochę inaczej. Domyślnie, most przesyła pakiety niezmienione z jednego interfejsu do innego. Sprawdza tylko adresy sprzętowe pakietów by określić, gdzie co wysłać. Oznacza to, że możesz mostkować ruch, którego Linuks nie jest w stanie zrozumieć pod warunkiem że posiada on adresy sprzętowe. Pseudo-most zachowuje się bardziej jak ukryty router niż most, ale podobnie jak most nie ma wpływu na budowę sieci. Zaletą faktu, że nie jest mostem jest to, że pakiety przechodzą przez kernel, mogą zatem być filtrowane, zmieniane, przekierowywane i przetrasowywane. Prawdziwy most może również wykonywać takie zadania, ale potrzebuje specjalnego kodu, czegoś w rodzaju Przekierowywacza Ramek Ethernetowych lub czegoś na wzór wspomnianej łaty. Inną zaletą pseudo-mostu jest to, że nie przekazuje pakietów których nie potrafi zrozumieć - oczyszcza w ten sposób sieć ze śmieci. W przypadku gdybyś jednak potrzebował tych `śmieci' (czegoś w rodzaju pakietów SAP czy Netbeui) musisz użyć prawdziwego mostu. 16.3.1. ARP & Proxy-ARPKiedy komputer chce rozmawiać z innym w tym samym segmencie sieci fizycznej, wysyła pakiet ARP brzmiący w uproszczonej wersji tak: `kto ma 10.0.0.1 niech powie 10.0.0.7'. W odpowiedzi na taki pakiet, 10.0.0.1 odpowiada krótkim `ja mam'. 10.0.0.7 wysyła pakiet z adresem sprzętowym wymienionym w pakiecie `ja mam'. Zapisuje również ten adres na relatywnie długi czas a gdy on upłynie, ponownie rozsyła takie zapytanie. Podczas budowy pseudo-mostu, instruujemy most by odpowiadał na takie pakiety ARP odsyłając swój adres, co spowoduje, że komputery będą wysyłały swoje pakiety przez niego. Most przetwarza otrzymane w ten sposób pakiety i rozsyła je do odpowiednich interfejsów. Krótko mówiąc, kiedykolwiek komputer po jednej stronie mostu zapyta o adres sprzętowy komputera po drugiej stronie, most odpowiada pakietem `przekaż go mnie'. W ten sposób, cały ruch przesyłany jest do prawidłowej lokalizacji i przechodzi przez most. 16.3.2. Skonfigurujmy to!W zamierzchłych czasach można było rozkazać kernelowi Linuksa by prowadził `proxy-ARP' dla każdej podsieci. By skonfigurować pseudo-most, musiałeś podać zarówno odpowiednie trasy do obu stron mostu jak i stworzyć reguły pasujące dla proxy-ARP. Było to o tyle niewygodne, że wymagało wiele pisania, co przekładało się wprost na ilość możliwych do popełnienia błędów powodujących wzbudzanie się mostu do odpowiedzi ARP dla sieci, do których nie potrafił przetrasować pakietów. Wraz z nadejściem Linuksa 2.4/2.5 (być może również 2.2) wycofano się z tego rozwiązania i zastąpiono je flagą w katalogu /proc nazwaną proxy_arp. Procedura na zbudowanie pseudo-mostu wygląda teraz tak:
Nie zapomnij również ustawić flagi ip_forwarding! Podczas konwersji z prawdziwego mostu możesz stwierdzić że flaga była zgaszona ponieważ nie jest potrzebna podczas mostkowania. Inna rzecz, którą możesz zauważyć to konieczność wyczyszczenia tablic podręcznych adresów ARP komputerów w sieci - może ona zawierać stare, pochodzące sprzed konfiguracji pseudo-mostu adresy sprzętowe, które nie są już aktualne. Na sprzęcie firmy Cisco robi się to komendą clear arp-cache, pod Linuksem arp -d adres_ip. Możesz oczywiście również poczekać na to, by czas ich ważności wygasł sam, ale może to trochę zająć. Możesz również przyśpieszyć ten proces używając narzędzia arping, które w wielu dystrybucjach znajduje się w pakiecie iputils. Za jego pomocą możesz wysłać samorzutnie rozgłoszenia ARP, nadpisując zdalne wpisy w pamięci podręcznej ARP. Narzędzie to jest bardzo potężne, używane często przez `czarne kapelusze' do przekonfigurowywania twojego routingu!
Możesz również zauważyć, że twoja sieć jest źle skonfigurowana jeśli masz lub miałeś zwyczaj stosować trasy bez masek sieciowych. Dokładniej, niektóre wersje programu `route' poprawnie odgadywały maski a inne źle - bez powiadamiania cię o tym fakcie. Podczas wykonywania naprawdę chirurgicznego trasowania jak opisano powyżej, bardzo ważne jest sprawdzenie poprawności masek!
/ Linux Reviews / Networking / Kształtowanie Ruchu i Zaawansowany Routing HOWTO | |||||||||||||||