Brudd VPN-hotspot: kva standardrute brukar telefonen?
Standardruta til Pi-en er ikkje gatewayen til telefonen. Skil dei to avgjerdene, hald uplinken utanfor brua, og test leasa før tunnelen.
Telefonen på den brudde hotspoten din får adressa og gatewayen sin frå ein eller annan stad, og det er ikkje standardruta til Pi-en. Å endre standardruta til Pi-en endrar kvar Pi-en sender sin eigen trafikk. Telefonen held fram med å bruke gatewayen han fekk beskjed om, og når den gatewayen ligg på det fjerne LAN-et, kryssar rammene hans berre brua. To forbrukarar, to avgjerder. Å skilje dei forklarer dei fleste rapportane om ein hotspot utan internett medan Pi-en sjølv er i orden.
To einingar, to ulike gatewayavgjerder
Pi-en har sin eigen IP-stakk og si eiga standardrute. Telefonen har sin eigen IP-stakk og si eiga standardrute.
| Consumer | Who chooses its gateway | What carries the traffic |
|---|---|---|
| Phone on the bridged AP | The remote LAN router, delivered in its client configuration | An Ethernet frame toward that router crosses the AP and TAP bridge |
| Pi's encrypted connection | The travel uplink's route toward the VPN peer | The Pi sends its own outer transport packets over the underlay |
Den tabellen er heile modellen. Gatewayen til telefonen er ei adresse på det fjerne LAN-et, og rammene hans vert videresende på lag 2 mot den rutaren. Standardruta til Pi-en gjeld hans eigen ytre transport, som må nå VPN-peer-en over reiseuplinken.
Ei bru videresender rammer, ho rutar ikkje pakkar
Ei Linux-bru videresender Ethernet-rammer etter destinasjons-MAC, og det er alt ho gjer mellom portane sine. Ramma til telefonen adressert til MAC-en til den fjerne rutaren vert svitsja til TAP-porten og kryssar tunnelen utan å røre rutetabellen til Pi-en. Difor kan ei øydelagd standardrute på Pi-en la telefonen halde fram med å verke, og difor kan ei korrekt ikkje reparere ein telefon som fekk feil gateway.
TAP ber Ethernet-rammer og kan vere ein bruport. TUN ber IP-pakkar og kan ikkje. Viss designet ditt erstatta den eine med den andre, er brua ikkje ei bru, og resten av dette gjeld ikkje.
Avgjer kven som deler ut leasa til telefonen
DHCP-alternativ 3 er ruter-alternativet, og det fortel klienten kva gateway han skal bruke for subnettet sitt. Når DHCP-tenaren på det fjerne LAN-et er den einaste utdelaren, får telefonen ein fjern gateway, og designet er konsistent. Når noko anna på reisesida svarar først, får telefonen ein lokal gateway, internettrafikken går ut via reiseuplinken, og trafikken til det fjerne LAN-et har ingen veg i det heile.
Køyr éin utdelar for det kringkastingsdomenet, og noter kva han deler ut.
Pi-en er eit særtilfelle sjølv når han tek ei adresse frå same leasa. Avgjer medvite om han skal installere rutene leasa tilbyr, for ein importert fjernstandard kan dra den eigen VPN-transporten til Pi-en inn i tunnelen han prøver å halde i live. Med systemd-networkd er den avgjerda UseRoutes= under DHCP-delen; med dhclient er det routers-alternativet i førespurnadslista.
Hald uplinken utanfor det brudde LAN-et
Grensesnittet som ber den ytre VPN-tilkoplinga til Pi-en må ikkje bli ein bruport. Viss det blir det, vert den krypterte transporten svitsja inn i det utvida LAN-et, og tunnelen endar med å bere sine eigne ytre pakkar, noko som feilar på ein måte som ser ut som pakketap snarare enn ei løkke. Hald òg AP-evne og brustøtte eksplisitte. Eit trådlaust grensesnitt i station-modus kan vanlegvis ikkje vere ein bruport, fordi 802.11-headeren ikkje har plass til den andre MAC-adressa som ei bru treng.
Definer det utvida kringkastingsdomenet, éin adresseplan og den rammefiltreringa du faktisk vil ha. Å tillate VPN-lyttaren på Pi-en gir ikkje kvar brudd klient tilgang til administrasjonstenestene til Pi-en. Det er separate reglar, og å handsame dei som éin er måten ein hotspot stille vert ei open dør.
Test dei fire tinga kvar for seg når det bryt
Når telefonen ikkje når det fjerne LAN-et, skil fire observasjonar årsakene. Køyr dei i denne rekkjefølgja og stopp ved den første som feilar.
ip route show default
bridge link show
ip -4 neigh show dev br0
tcpdump -ni br0 arp or icmpStart med leasa: har telefonen ei adresse og ein gateway på det fjerne subnettet? Sjå deretter på brua, og stadfest at AP-porten og TAP-porten båe videresender. Les deretter nabotabellen, fordi ein uoppklart oppføring for den fjerne rutaren tyder på at rammer går ut og ingen ting svarar. Sjå til slutt på rammene på brua medan telefonen pingar, noko som fortel deg om feilen i det heile ligg under IP.
Noter kva eining som eig kvar standardrute når du er ferdig. Éi linje dokumentasjon gjer lokal versus fjern utgang til ei medviten klientavgjerd, og bru-referansen er verdt å ha ved sida av.