Två enheter, ett Wi-Fi, olika VPN-utgångar: vad som avgör
Hemadressen, tunneladressen och den offentliga utgången är tre olika saker. Två enheter kan gå ut genom olika utgångar, och ingenting garanterar att de gör det.
Två bärbara datorer på samma hemrouter kan nå internet genom olika VPN-utgångar, och det delade Wi-Fi-nätet har ingenting med saken att göra. Det som avgör resultatet är var tunneln körs och vilken policy som väljer vägen för varje förfrågan. Den motsatta uppfattningen är lika vanlig och lika felaktig: två enheter med separata profiler ger inte automatiskt två offentliga adresser. Båda felen kommer av att behandla en adress som om den vore tre.
Tre adresser, och bara en av dem går ut
En bärbar dator har en hem-LAN-adress som identifierar den på det lokala segmentet, och den kan också ha en tunneladress tilldelad inne i VPN:en. Ingen av dem är synlig för en extern tjänst. Det tjänsten registrerar är den offentliga utgångsadressen för den enhet som till slut skickar paketet, efter eventuell översättning under vägen.
RFC 3022 drar den skillnad som förklarar det mesta av förvirringen här. Traditionell NAT översätter interna adresser till offentliga, medan portöversättning låter många interna adresser dela en enda offentlig adress samtidigt. Ett hushåll med en offentlig adress och flera enheter är det andra fallet, och det är standard nästan överallt.
Räkna de offentliga adresserna, inte profilerna. Två klienter med olika tunneladresser och samma utgångspolicy ger en observerad adress, och en enda klient med en annorlunda routad utgång kan ge en annan. Den enda jämförelsen är hela testet. Allt annat är ett antagande om den bortre änden.
Vad som gör två utgångar verkligt olika
En utgång är olika när den sista enheten före internet använder en annan offentlig adress för den trafiken. Det kan hända eftersom VPN:en avslutas på en annan plats, eftersom utgångspoolen tilldelar en annan adress, eller eftersom leverantören routar förfrågan genom en annan utgång. Alla tre är policybeslut som fattas i den bortre änden, och ingen av dem är synlig från hemroutern.
Två enheter som var och en kör sin egen klient med samma profil hamnar oftast i samma pool och får ofta samma utgång för en given session. Det är inget fel, det är normalt beteende för en delad pool. Att få olika utgångar innebär oftast att be tjänsten om olika tilldelningar i stället för att konfigurera klienten två gånger.
Läs villkoren för samtidiga anslutningar innan du designar kring en garanti. En andra inloggning är tillstånd att ansluta, inte ett löfte om en exklusiv adress. Om villkoren är tysta, fråga leverantören i stället för att anta. Svaret ändrar designen mer än någon klientinställning.
Varför separata profiler inte är separata utgångar
En profil beskriver hur man når VPN:en och hur man autentiserar, och den säger nästan ingenting om vad som händer efteråt. Utgången väljs av den bortre änden, där routning, adresspooler och översättningspolicy bor. Att duplicera en profil på en andra maskin duplicerar klientkonfigurationen, inte serverns beslut.
Det omvända gäller också. En VPN-server kan presentera mer än en offentlig utgång när routningen och översättningspolicyn är byggda så, medan separata servrar kan mata en enda nedströms utgång. Antalet servernamn i konfigurationen säger därför ingenting om antalet adresser. Därför är konfigurationen fel plats att leta efter detta svar.
Det enda tillförlitliga svaret kommer från en förfrågan som görs genom det arrangemang du tänker använda. Allt annat är slutledning.
Var separationen ska ligga
En routertunnel täcker hela hushållet, vilket är praktiskt och ger exakt en delad utgång för varje enhet bakom den. En klient på varje enhet ger dig kontroll per enhet, men kräver att varje enhet etableras och förblir etablerad. En router med policyfunktion sitter emellan, väljer en väg per enhet, och den fungerar bara om den kan identifiera enheter tillförlitligt över återanslutningar och DHCP-ändringar.
Att skapa ytterligare en privat DHCP-lease på routern är inte samma sak som att skapa ytterligare en offentlig adress. Det ändrar den lokala bilden och lämnar utgången orörd. Separationen ligger i utgångspolicyn, oavsett om den policyn finns på routern eller hos VPN-tjänsten.
Vilken form du än väljer, skriv ned ägarskapet: vem etablerar en enhet, vem roterar dess uppgifter, och vem märker när den slutar använda den avsedda vägen.
Kontrollera utgången du faktiskt fick
Gör kontrollen från applikationen som betyder något, och jämför samma adressfamilj på båda enheterna. Ett IPv4-resultat från den ena och ett IPv6-resultat från den andra bevisar ingenting om någon av dem. Upprepa sedan kontrollen efter en återanslutning, eftersom pooltilldelningen kan ändras mellan sessioner.
Kör det från en terminal inne i tunnelpolicyn, inte från en enhet som kringgår den. Fel värd ger ett självsäkert fel svar.
curl -4 -sS https://api.ipify.org; echo
curl -6 -sS https://api64.ipify.org; echo
ip route get 1.1.1.1Om båda enheterna skriver ut samma IPv4-adress delar de en utgång oavsett hur många tunnlar som är uppe. Bestäm sedan vad som händer när tunneln fallerar: en klient som faller tillbaka på den direkta vägen sätter båda enheterna tillbaka på hemadressen, och separationen försvinner utan fel. Bekräfta det återfallsbeteendet innan du beskriver arrangemanget som två utgångar, och kom ihåg att olika adresser är ett nätverksresultat och inte två anonyma identiteter.