Reguły zapory przyjmują pierwszy i ostatni adres, na przykład od 192.168.0.200 do 192.168.0.255, a trasy nie. Wpis trasy ma miejsce tylko na sieć i maskę, co oznacza, że ciągły zakres musi stać się jednym lub kilkoma wyrównanymi prefiksami, zanim OpenVPN go zainstaluje. Profil, który łączy route-nopull z niewyrównanym interwałem, jest miejscem, w którym błąd zwykle się ukrywa, ponieważ plik się parsuje i żadna trasa nie pasuje. Popraw bloki, a błąd stanie się widoczny jednym poleceniem.

Mit: zakres to trasa

Tabele routingu przechowują pary sieci i maski i wybierają najdłuższe dopasowanie, więc interwał z początkiem i końcem nie ma gdzie mieszkać. Jeden prefiks obejmujący 256 adresów obejmuje .0 do .255, połowa tego rozmiaru obejmuje .0 do .127, i tylko zakres wyrównany do tych krawędzi mapuje się w jednym kroku. Wszystko inne trzeba pociąć na bloki. Mniejsza trasa nadal oznacza pierwotny interwał.

Zakres niewyrównany do prefiksu nie jest skompresowaną trasą. To inny rodzaj obiektu, a traktowanie go jak trasy jest miejscem, w którym zaczyna się cicha awaria.

Wyrównanie to arytmetyka, nie styl

Rozmiary bloków wyznacza długość prefiksu. /29 może zaczynać się tylko pod adresem podzielnym przez 8, /28 pod adresem podzielnym przez 16, /27 pod adresem podzielnym przez 32. Przesuń blok z jego granicy, a maska obejmie inny zbiór adresów niż zamierzałeś.

Sumuj od dolnego końca. W każdym kroku bierz największy wyrównany blok, który nie przekracza końca zakresu, a potem kontynuuj od pierwszego adresu za nim. Bloki nie mogą się nakładać, ponieważ każdy zaczyna się tam, gdzie poprzedni się zatrzymał.

Dwie osoby robiące to ręcznie powinny dojść do tego samego wyniku. Rozbieżność oznacza, że ktoś dopuścił niewyrównany początek.

Przejdź od 200 do 255

StepStartBlock that fitsLine for the profile
1.200, multiple of 8/29, 8 addresses192.168.0.200 255.255.255.248
2.208, multiple of 16/28, 16 addresses192.168.0.208 255.255.255.240
3.224, multiple of 32/27, 32 addresses192.168.0.224 255.255.255.224

Zakres zaczyna się na .200, co jest wielokrotnością 8, więc pierwszy blok to /29 od .200 do .207. Po tych ośmiu adresach pierwszą wolną wartością jest .208, podzielne przez 16, więc /28 zajmuje .208 do .223. Zostaje .224 do .255, trzydzieści dwa adresy zaczynające się na wielokrotności 32, czyli /27. Te trzy wiersze to cały rozkład.

Zapisz je jako wiersze trasy, a nie jako prozę. Profil zawierający tylko pierwszy wiersz obejmuje osiem adresów i zostawia resztę poza tunelem.

route-nopull
route 192.168.0.200 255.255.255.248
route 192.168.0.208 255.255.255.240
route 192.168.0.224 255.255.255.224

Ostatni blok wymaga sprawdzenia granicy. Wewnątrz 192.168.0.224/27 .224 jest adresem sieci, a .255 adresem rozgłoszeniowym, więc host, który musi odpowiadać na .255, jest objęty prefiksem i nadal nieosiągalny. Przenieś ten host albo podziel zakres inaczej, zamiast routować blok i mieć nadzieję.

Co route-nopull robi z obrazem

Dodawaj route-nopull tylko wtedy, gdy trasy wypychane przez serwer są niechciane. Bez dyrektywy wypychane trasy i te wiersze współistnieją, i wygrywa najbardziej szczegółowy prefiks. Z nią znikają także wypychane opcje DNS i DHCP, więc wewnętrzne rozwiązywanie nazw potrzebuje własnej konfiguracji. Ten efekt uboczny zaskakuje ludzi, którzy dodali dyrektywę, aby naprawić problem z trasą.

Dodaj ją z właściwego powodu, nie jako automatyczny odruch. Usuwanie wypychanych tras to decyzja polityczna z konsekwencją dla DNS. Jeśli serwer może wypychać te same trzy prefiksy, pozwól mu, i usuń kopie po stronie klienta, aby lista miała jednego właściciela.

Kontrole, które łapią typowe błędy

Sprawdź, czy każda maska to jeden ciągły ciąg jedynek. Wartość 255.255.255.248 przechodzi, a 255.255.255.200 nie, i maska, która nie jest ciągła, jest odrzucana lub czytana błędnie. Potem potwierdź ścieżkę dla jednego adresu w każdym bloku.

ip route get 192.168.0.205
ip route get 192.168.0.220
ip route get 192.168.0.240

Każda odpowiedź powinna nazywać interfejs tunelu. Wynik nazywający fizyczny adapter oznacza, że wiersz nigdy nie został zainstalowany, co często zdarza się, gdy menedżer sieci na pulpicie przepisuje tabelę po połączeniu profilu.

Wybierz jednego właściciela listy. Gdy serwer może wypychać te same prefiksy, wypchnij je i usuń zmiany po stronie klienta. Jeden właściciel oznacza, że literówka ma jedno miejsce, a klient i serwer nie mogą się różnić co do tego, które adresy są w tunelu.

Powiązane artykuły