Oryginalna specyfikacja DHCP (RFC 2131 i 2132 ) definiuje opcję (33), która pozwala administratorowi usługi DHCP wydawać statyczne trasy do klienta, jeśli to konieczne.
Niestety, ten oryginalny projekt jest obecnie wadliwy, ponieważ zakłada klasowe adresy sieciowe , co jest rzadko używane.
Ta rfc3442-classless-static-routes
opcja pozwala zamiast tego używać bezklasowych adresów sieciowych (lub CIDR).
CIDR wymaga jawnego podania maski podsieci, ale pierwotna opcja DHCP 33 nie ma na to miejsca. Dlatego ta opcja (jak zdefiniowano w RFC 3442) po prostu włącza nowszą zamienną opcję DHCP (opcja 121), która definiuje trasy statyczne przy użyciu notacji CIDR.
Zasadniczo, jeśli chcesz wydawać trasy statyczne do urządzeń za pomocą DHCP, a te trasy statyczne korzystają z CIDR, musisz włączyć tę opcję.
Tras statycznych można użyć, jeśli podzielisz sieć na wiele mniejszych sieci i potrzebujesz poinformować każdy router o tym, w jaki sposób ruch dociera z jednego do drugiego bez korzystania z jednego z wielu dostępnych protokołów routingu dynamicznego. Zasadniczo konfigurujesz każdy router z instrukcją „aby dostać się do sieci abcd, wysłać ruch przez fghi” .
Jeśli trasy ustawione w routerze są klasowe, nie musisz włączać tej opcji. Jeśli jednak trasy to CIDR, musisz włączyć tę opcję. Na szczęście wiele sieci domowych / kawiarni korzysta z 192.168.0.0
sieci z podsiecią 255.255.255.0
(lub /24
), która jest prawdziwą siecią klasy C, dlatego możesz uniknąć tej opcji.
Z drugiej strony niektóre sieci domowe / kawiarniane działają w 10.0.0.0
sieci. Domyślnie jest to sieć klasy A. Jeśli podzielisz to na 10.0.x.0
przykład na wiele podsieci, wszystkie będą sieciami CIDR, co oznacza, że będziesz musiał włączyć tę opcję.
Powyższe jest prawdą tylko wtedy, gdy musisz także wydać te informacje o routingu hostom za pośrednictwem DHCP. To, czy musisz wysłać te statyczne informacje o routingu do hostów, zależy od projektu sieci. Zaryzykowałbym przypuszczenie, że podstawowa sieć w domu / kawiarni nie potrzebuje jej, ponieważ trasy rutynowe są zwykle definiowane.
Konfiguracja, którą masz powyżej, po prostu definiuje nową opcję (istnieje wiele predefiniowanych opcji, które dhclient
już rozumie) jako opcję 121, która składa się z tablicy 8 liczb całkowitych bez znaku. Następnie konfiguruje klienta, aby żądał tej opcji, jeśli jest ustawiony na serwerze DHCP.
Jeśli serwer DHCP zwróci wartość dla tej opcji, dhclient
skrypt /etc/dhclient/dhclient-exit-hooks.d/rfc3442-classless-routes
przechwytujący wyjście ( ) odczyta tę wartość i odpowiednio skonfiguruje tabelę routingu.