OpenVPN-klant foar it hiele LAN op OpenWrt: in wurkjende folchoarder
Eigendom fan it ynterface, soanebelied, masquerade en tabellen per SSID binne fjouwer aparte taken. Doch se yn folchoarder en in tunnel foar de hiele router hâldt op mei tsjinwurkjen.
Fjouwer ûnôfhinklike taken sette it hiele LAN fan in router efter ien tunnel. It tunnelapparaat hat in eigener, in fjoerwâlsoane, in oersetdoel nei de uplink en, as guon klanten bûten de VPN bliuwe moatte, routing op boarneadres. In tunnel dy’t ferbynt wylst der neat trochgiet, mist meastal ien fan dy fjouwer. Yn folchoarder fan ôfhinklikheid wurkje betsjut dat in flater oan it ein by de stap heart dy’t jo krekt feroare hawwe. Elke stap hjirûnder einiget mei iets dat jo sjen kinne, wat de folgjende stap fan gisjen hâldt.
Beslis wat de tunnel dielt
De router dy’t Wi-Fi en DHCP útdielt, kin de klant sels draaie. Dat set elk oansletten apparaat efter de tunnel sûnder ynstelling per apparaat, en it is de opstelling dy’t de measte lytse lokaasjes wolle. It is ek dy mei de grutste ynfloed as de tunnel falt, want elk apparaat ferliest tagelyk syn paad. Neat op it LAN hâldt in wurkjende útgong.
In twadde router efter de earste, dy’t de klant mei syn eigen subnet draait, beheint de tunnel ta syn eigen apparaten. It is makliker fuort te heljen en makliker út te lizzen oan wa’t it erft. De priis is berikberens tusken de beide kanten sûnder in rûte of in portfoarstjoering.
Hoe dan ek, meitsje de LAN-subnetten ferskillend. Identike berikken meitsje dat ien kant direkt ferbûn liket, en it swarte gat dat dêrtroch ûntstiet liket oeren lang op in VPN-flater.
Jou de tunnel in eigener
Ferklearje de tunnel as in netwurkyntrface mei in namme, in apparaat en gjin eigen protokol. It netwurksysteem makket en beheart dan it apparaat, en alles dêrûnder ferwiist nei it ynterface by namme, net by apparaat. Dat is wat de soane it fine lit.
Meitsje itselde apparaat net op twa plakken. In hânmakke tunnel njonken in ferklearre ynterface jout in apparaat dat bestiet mar net yn in soane sit, of ien dat by it werladen ferdwynt. Beide lykje as hat de klant faald, en gjin fan beide jout in flater dy’t de wiere oarsaak neamt. Keas de ferklearjende wei en wiskje de hânmakke.
Hâld de namme gelyk yn ’e netwurk-, fjoerwâls- en VPN-konfiguraasje. De soane neamt netwurken by namme, dus in typflater lit de tunnel bûten elke soane wylst it ynterface sels sûn liket. In sûn ynterface sûnder belied is de steat dy’t it minst te sjen is.
Set him yn in soane, en stjoer der dan nei troch
In fjoerwâlsoane is wêr’t it belied wennet: ynput, útput, trochstjoere en masquerade. In tunnel sûnder soane wurdt regele troch standertwearden dy’t jo net keazen hawwe, en dat is komselden wat in routerklant nedich hat. De blokken hjirûnder ferklearje it ynterface, sette it yn in soane en tastean LAN-ferkear yn dy soane.
config interface 'vpn'
option device 'tun0'
option proto 'none'
config zone
option name 'vpn'
list network 'vpn'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
config forwarding
option src 'lan'
option dest 'vpn'
Op útjeften âlder as 21.02 wurdt deselde ynterfaceregel skreaun as option ifname, dus kontrolearje foar it plakken hokker foarm de ynstalleare firmware parst. It trochstjoerblok is de tasteanning dy’t LAN-ferkear de tunnel hielendal brûke lit. Sûnder dat is it apparaat oan, is de klant ferbûn, en berikt gjin inkele LAN-host de tunnel. Dat is it meast foarkommende berjocht fan ferbûn mar gjin ynternet by routerklanten.
Masquerade op de VPN-soane hellet elk LAN-adres yn it tunneladres fan de router foar’t it pakket fuortgiet. Dat hellet de needsaak foar in weromrûte nei jo subnet oan ’e oare kant wei.
As de oare kant jo LAN al rûtet, hâldt masquerade útskeakelje de boarneadressen sichtber en makket listen per klant sinfol. Kies ien en skriuw op hokker, want de twa karren jouwe letter ferskillende stipefragen. It standert trochstjoeren fan LAN nei WAN fuorthelje is in aparte beslissing mei eigen gefolch. Nim it wei en de eigen ynternettagong fan de router giet mei.
Neam de echte uplink yn NAT
Op firmware wêr’t de oersetregel mei de hân skreaun wurdt, is it útgeande ynterface it fjild dat ferkeard giet. In regel dy’t vlan2 neamt docht neat as de sesje op ppp0 einiget. In regel sûnder hokker ynterface dan ek kin ferkear oersette dat privee bliuwe moatten hie. Gjin fan beide flaters kundiget himsels oan, want de tunnel bliuwt wurkjen.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Ferfange ppp0 yn dy regel troch it ynterface út ip route of de list fan aktive ynterfaces, en besjoch dan de teller wylst in LAN-host in side laden hat. Op in router mei ien provider is ien masquerade-regel foar de uplink normaal genôch. In twadde regel foar it tunnelinterface is gjin ferfanging foar de earste.
Foegje dan de klantopsjes ta dy’t beslisse wat de tunnel yn giet. In redirect-gateway-rigel stjoert ynternetferkear fan de klant troch de VPN, en sûnder dy draacht de tunnel allinnich de rûtes dy’t de tsjinner triuwt. Kontrolearje de resultearjende rûtetabel foar’t jo DNS oanreitsje.
Splits de Wi-Fi mei in twadde tabel
Ien rûtetabel kin gjin twa standerten hâlde. In twadde SSID dat de tunnel omgean moat, hat dêrom syn eigen subnet en syn eigen tabel nedich. Jou it tunnelle SSID syn eigen berik, en rûte dan allinnich dat berik de tunnel yn mei in regel dy’t de tabel kiest.
Pakketten foar beliedsrouting op OpenWrt uterje krekt dy kombinaasje. Mei de hân wurket it ek, mei in regel op boarne en in tabel wêrfan’t de standert nei it tunnelapparaat wiist.
Kontrolearje de splitsing fan beide netwurken. In klant op it tunnelle SSID heart it útgeande adres fan de VPN te toanen, en in klant op it gewoane SSID dat fan de provider. As beide itselde lykje, dan makket de regel de ferkearde boarne of de tabel wurdt nea rieplachte. Test ek nei in werferbining, want in regel dy’t fan de ynterfacenamme ôfhinget, brekt as it apparaat opnij nûmere wurdt.
Fertinkje de klok en de apparaatflagge
De flagge persist-tun lit it tunnelapparaat stean oer werstarts. Dat past by in tsjinner en ferbjusteret in klant waans steat fanôf it begjin opboud wurde moat. Helje him fuort by it oplossen fan in routerklant, want in apparaat dat in mislearre ûnderhanneling oerlibbet ferberget hokker stap echt brutsen is. Set him werom as de klant betrouber ferbynt, en net earder.
De klok is de oare stille flater. In router sûnder batterijstipe klok begjint by de epoch, wat betsjut dat sertifikaatkontrôles mislearje oant NTP efterkomt. Fergelykje de tiidstimpels yn de loggen mei echte tiid foar’t jo in sertifikaat oanreitsje, want in klant dy’t in minút nei it opstarten ferbynt, wachtet meastal op tiidssyngronisaasje.