De laptop ferbynt mei it AWS Client VPN-einpunt, berikt it privee subnet, en alles liket sûn. De desktop op itselde LAN berikt neat, ek al hat de Linux-host ek in brêge-ynterface en steane beide masines op deselde tried. Der is neat ferkeard konfigurearre yn ’e tunnel; it ûntbrekkende stik is rûtearing, en de brêge is in falsk spoar.

In Client VPN-sesje útwreidzje nei in LAN is in gateway-rol. It is gjin Ethernet-segmint dat yn in beheard tsjinst útlutsen is.

De host wurket en it LAN net

De tunnel-ynterface op ’e Linux-masine hat in adres binnen de Client VPN-klant-CIDR, en it einpunt hat rûtes foar de VPC-berikken stjoerd. In oanfraach op dy masine is lokaal oanmakke ferkear: it kiest in rûte, giet troch de tunnel en krijt in antwurd. Dat paad rekket nea de trochstjoerkoade, de LAN-ynterface of in fjoerwâlregel dy’t transit regelet.

Ferkear fan in oar LAN-apparaat is in oare stream. It komt oan op ’e LAN-ynterface, hat in rûte nedich dy’t yn ’e tunnel wiist, hat ynskeakele trochstjoering nedich, hat in fjoerwâl nedich dy’t it tastiet, en hat nedich dat it antwurd troch deselde host weromkomt. Fjouwer easken, en de wurkjende laptoptest bewissiget gjinien. Fan ’e desktop liket de storing frjemd: de tunnel is oan, de listen binne jildich, en de bestimming antwurdet gewoan nea. It mankement is lokaal by it trochstjoerpaad fan ’e gateway, net by de tsjinst.

Net elke klient kin in gateway wêze

AWS stelt dat syn Client VPN-desktopapplikaasje gjin IP-trochstjoering stipet, en dat oare klanten dat wol kinne. Dy beheining bepaalt de arsjitektuer foardat der in opdracht typt is. As de iennige beskikbere klant de offisjele desktopapp is, is in Linux-gateway dy’t foar it LAN trochstjoert gjin konfiguraasje dy’t jo ôfmeitsje kinne, en gjin inkelde mjitte fan masquerading sil dat feroarje.

De ferfangende klant moat ek passe by de autentikaasjemetoade fan it einpunt en it belied dat jo tapasse wolle. Einpunten op basis fan sertifikaten, map en SAML akseptearje net deselde klantkonfiguraasjes, en in tredde-partijklant dy’t autentisearret mar de stjoerde rûtes negearret is gjin ferbettering.

Behannelje de klantkar as part fan ’e ûntwerpbesjoging. It bepaalt oft it LAN-trochstjoerpatroan hielendal beskikber is, en it bepaalt hokker identiteit it einpunt foar elk apparaat efter de gateway sjocht. Skriuw de klant en de einpuntkonfiguraasje op dêr’t er tsjin test is. In klantferwizing seis moannen letter kin de kapasiteit dy’t it ûntwerp oannaam stilwei fuorthelje.

Rjochtsje it LAN nei de tunnel en oersette it

Mei in stipe klant op plak is de rest gewoan gateway-wurk. De LAN-apparaten hawwe in rûte foar it VPC-berik nedich dy’t nei de Linux-host wiist, en de host hat ynskeakele trochstjoering nedich. As jo wolle dat it VPC it ferkear as de ferbûne klant sjocht en net as in willekeurich LAN-adres, oersette dan de boarne by de útgong.

LAN: 10.24.11.0/24
Linux LAN gateway: 10.24.11.15
VPN interface: tun0
Target VPC range: 10.2.0.0/16

iptables -t nat -A POSTROUTING -s 10.24.11.0/24 -d 10.2.0.0/16 -o tun0 -j MASQUERADE

Behein de regel ta de tunnel-ynterface en it VPC-berik, lykas hjirboppe, ynstee fan masquerading fan alles wat de host trochstjoert. De smelste regel is makliker te berêden, en hy feroaret net stilwei ferkear dat syn oarspronklike boarneadres hâlde moast.

Lit de LAN-rûte automatysk komme as jo kinne: in DHCP-opsje, in routerkundiging of in statyske rûte dy’t trochstjoerd wurdt troch wat it LAN beheart. In rûte dy’t allinnich op ien testmasine bestiet, sil it ûntwerp ferbûn lykje litte op it momint dat immen oars it besiket.

It antwurd hat ek in paad nedich

Sadree’t de oanfraach it VPC berikt, moat it antwurd weromkomme troch deselde oersettingssteaten en de LAN-rûte op ’e gateway fine. Dat part wurket meastentiids as de masquerade-regel op plak is, om’t de mappering libbet op ’e host dy’t it die. It brekt as de VPC-kant in rûte hat dy’t it antwurd earne oars hinne stjoert, en dêrom binne sawol de klant-CIDR-rûte as de subnet-ferbining op it einpunt fan belang.

Sjoch nei de tellers, net allinnich nei de ping. In masquerade-regel mei nul pakketten fertelt jo dat de oanfraach nea de tunnel-ynterface berikt hat, wat werom wiist nei de LAN-rûte of de eigen rûtearringstabel fan ’e klant. In regel mei pakketten mar sûnder antwurden wiist nei de VPC-kant, de autorisaasjeregels of in feiligensgroep dy’t de oersette boarne net akseptearret. Lês beide rjochtingen foardat jo eat feroarje, want in teller dy’t mar oan ien kant groeit is in ienrjochtingspaad, net in stadich paad.

Unthâld dat it einpunt in beheard tsjinst is. Der is gjin serverkonfiguraasjebestân om te bewurkjen en gjin client-config-ynstruksje om ta te foegjen, dus ynstruksjes skreaun foar in selsbeheard OpenVPN-server mei oanpaste klantsubnetrûtes drage net oer. Op AWS binne de hefbomen subnet-ferbining, autorisaasjeregels en de rûtearringstabellen fan it VPC.

Dielde identiteit is it part dêr’t belied antwurd op jaen moat

Elk apparaat efter de gateway brûkt de VPN-sesje fan ’e gateway. De autorisaasjeregels fan it einpunt jouwe tagong oan in brûker of in groep, en fan it eachpunt fan ’e tsjinst is der krekt ien brûker op dy sesje. Lokale trochstjoering fermannichfâldiget dy identiteit net ta autentikaasje per apparaat, en it wreidet apparaatpostuerkontrôles net út nei de printer yn ’e hoeke.

Dat kin akseptabel wêze, of it kin de reden wêze dat it ûntwerp wegere wurdt. It hinget ôf fan wat de VPC-boarnen oannimme oer wa’t der skillet. In dielde identiteit dy’t by it autorisaasjemodel past is goed; ien dy’t stilwei in inkele autentisearre sesje ta tagong foar it hiele LAN makket is in befiningspunt dat wachtet om skreaun te wurden.

As de eask echt is om in hiel side oan in VPC te ferbinen, fergelykje dan in stipe side-oan-side-ûntwerp foardat jo in remote-tagongsklant útwreidzje. De semantyk ferskilt, en in NAT-e klantsesje is in min ferfangsel foar in sideferbining as it VPC ferbinings nei it LAN begjinne moat.

Beslis de klant, de rûte, de oersetting en it identiteitsferhaal yn dy folchoarder. Elk beheint de folgjende, en de folchoarder ferklearret wêrom’t de host wurket wylst it LAN dat net docht.

Relatearre artikelen