Een Wi-Fi-doos achter de Pi zetten maakt van één routingbeslissing vier, en het plan breekt wanneer alle vier op één apparaat worden genomen. De eerste vraag is niet welke route je toevoegt. Het is of de nieuwe doos brugt of routeert, want dat antwoord bepaalt hoeveel subnetten er zijn en welke apparaten erover moeten leren. Kies eerst het aansluitmodel; elke route volgt daaruit.

Brug of routing: de keuze die het aantal bepaalt

Een brug zet de nieuwe clients op hetzelfde subnet dat de Pi al bedient. Eén subnet, één DHCP-autoriteit en geen overdracht om te routeren. Dit is de eenvoudiger opzet en de juiste wanneer een apart klantnetwerk nooit een eis was. Een gerouteerde verbinding is een ander ontwerp: de doos houdt zijn eigen subnet en dat prefix moet overal mee naartoe waar het verkeer gaat.

De rest van dit plan houdt de downstream-router en bewaart de bronadressen van clients. Het doel is één privé-VPN-netwerk, geen volledige internetuitgang. Schrijf het model op vóór de adressen, want de lijst hieronder is alleen een voorbeeld van een gerouteerde aansluiting.

client subnet       10.41.0.0/24
client gateway      10.41.0.1
router-to-Pi link   192.168.71.2
Pi on that link     192.168.71.1
private target      10.72.9.0/24

Wie beslist wat

Decision ownerEntry that encodes the decisionFailure when the entry is missing
Pi VPN hostReturn route for 10.41.0.0/24 via 192.168.71.2, and a tunnel route for 10.72.9.0/24Replies to downstream clients die at the Pi
Owner of the remote networkA path for 10.41.0.0/24 over the permitted tunnelReplies stop at the first unaware hop
LAN router behind the PiSpecific route for 10.72.9.0/24 via 192.168.71.1, or a suitable defaultClients never send private traffic to the Pi
Client machineDefault via 10.41.0.1, or a specific entry for 10.72.9.0/24The private network is unreachable from the client

Elk apparaat neemt één beslissing, en geen kan die van een ander ervoor nemen. De Pi heeft twee vermeldingen nodig, niet één, en de terugweg is degene die mensen vergeten. Doorgestuurd verkeer bereikt het privénetwerk correct en sterft dan op de terugweg, omdat de Pi geen idee heeft waar 10.41.0.0/24 woont. Dat lijkt een firewallprobleem en is in werkelijkheid een ontbrekende route.

De verre kant heeft ook zijn eigen route nodig. Als de dienst aan de andere kant niet weet dat 10.41.0.0/24 via jouw tunnel bereikbaar is, stoppen antwoorden bij de eerste hop zonder antwoord. Voeg beide richtingen toe voordat je packetfilters leest.

Volgende hops komen uit de aansluiting

Een volgende hop moet een adres zijn op een netwerk dat het apparaat echt kan bereiken. Het openbare adres van de VPN-peer is niet de volgende hop voor een privésubnet, en het verre dienstnetwerk is helemaal geen volgende hop. Een route naar een onbereikbare gateway ziet er in een lijst correct uit en laat elk pakket vallen. Controleer of de gateway antwoordt voordat je het doel de schuld geeft.

Houd de buitenste VPN-peer van de Pi bereikbaar via zijn eigen onderlaagroute. Die vermelding staat los van de payload-routes, en ze mengen levert een tunnel die na een padwijziging niet opnieuw kan worden opgebouwd.

De documentatie over statische routes maakt het onderscheid tussen bestemming en gateway duidelijk, ook al noemt elk platform zijn menu's anders. Lees de documentatie voor het apparaat voor je in plaats van het scherm van een andere leverancier te kopiëren. De opdrachten hieronder tonen de vorm van de vermeldingen op Linux.

# on the Pi
ip route add 10.41.0.0/24 via 192.168.71.2
ip route add 10.72.9.0/24 dev tun0
# on the downstream router
ip route add 10.72.9.0/24 via 192.168.71.1

Wat vertaling met de bron doet

Als de downstream-router zijn clients al naar het transitadres vertaalt, ziet de Pi één vertaalde bron in plaats van het eigen adres van elke client. Dat is een ander ontwerp dan het bronbehoudende hierboven. Het verandert beleid op basis van de bron, logboekregistratie en welke kant verbindingen kan starten. Beide ontwerpen werken; ze beantwoorden verschillende vragen.

Wanneer een upstream-VPN-dienst weigert het clientprefix terug te routeren, kan een smalle vertaling bij de tunneluitgang van de Pi een legitieme tijdelijke oplossing zijn. Het is geen bewijs dat de ontbrekende route overbodig was. Noteer welk adres het verre netwerk werkelijk ziet en welke terugweg daaruit volgt.

Routekeuze, doorstuurrecht en bronvertaling blijven drie aparte taken. Een gedeelde NAT-keten leegmaken of elke interface toestaan omdat één bekabelde client werkt, is hoe een werkende test een open doorstuurder wordt.

Het bewijzen vanaf een clientmachine

Stuur een verzoek vanaf een machine op het downstream-LAN en volg daarna de bron naar buiten en terug. Een ping van de Pi oefent nooit de downstream-terugweg, daarom bewijst een geslaagde ping minder dan het lijkt. Voeg een tweede test toe vanaf een bekabelde client op het eigen LAN van de Pi zodat de twee paden vergeleken kunnen worden. Herhaal beide na het herstarten van een van de apparaten.

Routes die met de hand zijn toegevoegd en vertalingen die nooit zijn opgeslagen, verdwijnen samen. Het paar lijkt dan op een nieuwe fout in plaats van onvoltooid werk.

Sla het aansluitmodel op samen met de routes, de toegestane privédienst en elke vertaling in één notitie. Die notitie is wat de volgende persoon ervan weerhoudt de draadloze plaatsing als een routingbeleidsvraag te behandelen.

Gerelateerde artikelen