At sætte en Wi-Fi-boks bag Pi'en gør én routingbeslutning til fire, og planen bryder sammen, når alle fire træffes på én enhed. Det første spørgsmål er ikke, hvilken rute der skal tilføjes. Det er, om den nye boks brobygger eller router, for det svar afgør, hvor mange undernet der findes, og hvilke enheder der skal lære om dem. Vælg tilslutningsmodellen først; hver rute følger af den.

Bro eller routing: det valg, der fastsætter antallet

En bro sætter de nye klienter på det samme undernet, som Pi'en allerede betjener. Ét undernet, én DHCP-autoritet og ingen overdragelse at route. Det er den enklere ordning og den rigtige, når et separat klientnetværk aldrig var et krav. Et routet link er et anderledes design: boksen beholder sit eget undernet, og det præfiks skal bæres overalt, hvor trafikken går.

Resten af planen beholder routeren længere nede og bevarer klienternes kildeadresser. Målet er ét privat VPN-netværk, ikke en fuld internetudgang. Skriv modellen ned før adresserne, for listen nedenfor er kun et eksempel på en routet tilslutning.

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

Hvem beslutter hvad

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

Hver enhed træffer én beslutning, og ingen kan træffe en andens for den. Pi'en har brug for to poster, ikke én, og returvejen er den, folk glemmer. Videresendt trafik når korrekt frem til det private netværk og dør derefter på vejen tilbage, fordi Pi'en ikke aner, hvor 10.41.0.0/24 bor. Det ligner et firewallproblem og er i virkeligheden en manglende rute.

Den fjerne side har også brug for sin egen rute. Hvis tjenesten i den fjerne ende ikke ved, at 10.41.0.0/24 kan nås gennem din tunnel, stopper svarene ved det første hop uden svar. Tilføj begge retninger, før du læser pakkefiltre.

Næste hop kommer fra tilslutningen

Et næste hop skal være en adresse på et netværk, som enheden faktisk kan nå. VPN-peerens offentlige adresse er ikke næste hop for et privat undernet, og det fjerne tjenestenetværk er slet ikke et næste hop. En rute til en utilgængelig gateway ser korrekt ud på en liste og dropper hver pakke. Kontrollér, at gatewayen svarer, før du bebrejder destinationen.

Hold Pi'ens ydre VPN-peer tilgængelig gennem dens egen underliggende rute. Den post er adskilt fra payload-ruterne, og blander man dem, får man en tunnel, der ikke kan genoprettes efter en vejændring.

Dokumentationen for statiske ruter gør forskellen mellem destination og gateway klar, selv om hver platform navngiver sine menuer forskelligt. Læs dokumentationen for den enhed, du har foran dig, i stedet for at kopiere en anden leverandørs skærm. Kommandoerne nedenfor viser formen på posterne i 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

Hvad oversættelse gør ved kilden

Hvis routeren længere nede allerede oversætter sine klienter til transitadressen, ser Pi'en én oversat kilde i stedet for hver klients egen adresse. Det er et andet design end det kildebevarende ovenfor. Det ændrer kildebaseret politik, logning og hvilken side der kan starte forbindelser. Begge design virker; de besvarer forskellige spørgsmål.

Når en VPN-tjeneste opstrøms nægter at route klientpræfikset tilbage, kan en snæver oversættelse ved Pi'ens tunneludgang være en legitim midlertidig løsning. Det er ikke bevis for, at den manglende rute var unødvendig. Notér, hvilken adresse det fjerne netværk faktisk ser, og hvilken returvej det giver.

Rutevalg, videresendelsestilladelse og kildeoversættelse forbliver tre separate opgaver. At skylle en delt NAT-kæde eller tillade hver grænseflade, fordi én kablet klient virker, er måden, hvorpå en fungerende test bliver en åben videresender.

Bevis det fra en klientmaskine

Send en anmodning fra en maskine på det nederste LAN, og følg derefter dens kilde ud og tilbage. Et ping fra Pi'en bruger aldrig den nedre returvej, og derfor beviser et vellykket ping mindre, end det ser ud til. Tilføj en anden test fra en kablet klient på Pi'ens eget LAN, så de to veje kan sammenlignes. Gentag begge efter genstart af en af enhederne.

Ruter tilføjet i hånden og oversættelser, der aldrig blev gemt, forsvinder sammen. Parret ser så ud som en ny fejl i stedet for et uafsluttet arbejde.

Gem tilslutningsmodellen sammen med ruterne, den tilladte private tjeneste og enhver oversættelse i ét notat. Det notat er det, der forhindrer den næste person i at behandle trådløs placering som et routingpolitisk spørgsmål.

Relaterede artikler