OpenVPN-i klient kogu LAN-ile OpenWrt-s: toimiv järjekord
Liidese omandiõigus, tsooni poliitika, maskeerimine ja SSID-põhised tabelid on neli eraldi tööd. Tee need õiges järjekorras ja ruuteriülene tunnel lakkab sinuga võitlemast.
Neli sõltumatut tööd panevad ruuteri kogu LAN-i ühe tunneli taha. Tunnelseade vajab omanikku, tulemüüri tsooni, tõlke sihtmärki ülesvoolu suunas ja, kui osa kliente peab jääma VPN-ist välja, marsruutimist lähteaadressi järgi. Tunnel, mis ühendub, aga millest miski läbi ei lähe, jääb tavaliselt ilma ühest neist neljast. Sõltuvuste järjekorras töötamine tähendab, et lõpu rike kuulub sammule, mille just muutsid. Iga samm allpool lõpeb millegagi, mida saad jälgida, ja see hoiab järgmise oletuseks muutumast.
Otsusta, mis tunnelit jagab
Ruuter, mis jagab Wi-Fi ja DHCP-d, võib klienti ise käitada. See paneb iga ühendatud seadme tunneli taha ilma seadmepõhise seadistuseta, ja see on lahendus, mida enamik väikseid kohti tahab. Samas on see lahendus, mille mõju on tunnelitohina korral kõige laiem, sest kõik seadmed kaotavad tee korraga. Miski LAN-is ei hoia töötavat väljapääsuteed.
Teine ruuter esimese taga, mis käitab klienti oma alavõrguga, piirab tunneli oma seadmetega. Seda on lihtsam eemaldada ja lihtsam selgitada sellele, kes selle pärib. Hinnaks on kättesaadavus kahe poole vahel ilma marsruudi või pordiedastuseta.
Ükskõik kuidas, tee LAN-i alavõrgud erinevaks. Samad vahemikud panevad ühe poole paistma otse ühendatuna, ja tekkinud must auk näib tunde VPN-i rikkena.
Anna tunnelile omanik
Deklareeri tunnel võrguliidesena, millel on nimi, seade ja mis ei oma oma protokolli. Võrgusüsteem loob ja haldab siis seadet ning kõik allavoolu viitab liidesele nime, mitte seadme järgi. Just see lubab tsoonil selle üles leida.
Ära loo sama seadet kahes kohas. Käsitsi tehtud tunnel deklareeritud liidese kõrval annab seadme, mis on olemas, aga ei kuulu tsooni, või sellise, mis uuestilaadimisel kaob. Mõlemad näevad välja nagu kliendi rike, ja kumbki ei anna viga, mis nimetaks tegelikku põhjust. Vali deklaratiivne tee ja kustuta käsitsi tehtu.
Hoia nimi samana võrgu, tulemüüri ja VPN-i seadistuses. Tsoon loetleb võrke nime järgi, nii et kirjaviga jätab tunneli igast tsoonist välja, kui liides ise paistab terve. Terve liides ilma poliitikata on kõige raskemini märgatav olek.
Pane see tsooni ja suuna siis sinna
Tulemüüri tsoon on koht, kus elab poliitika: input, output, forward ja masquerade. Tsoonita tunnelit juhivad vaikeväärtused, mida sa ei valinud, ja seda vajab ruuteriklient harva. Allpool olevad plokid deklareerivad liidese, panevad selle tsooni ja lubavad LAN-i liikluse sellesse tsooni.
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'
Väljaannetes, mis on vanemad kui 21.02, kirjutatakse sama liidese rida kujul option ifname, seega kontrolli enne kleepimist, millist vormi paigaldatud püsivara parsib. Edastusplokk on luba, mis üldse laseb LAN-i liiklusel tunnelit kasutada. Ilma selleta on seade üleval, klient ühendatud ja ükski LAN-i host ei jõua tunnelini. See on kõige tavalisem teade ühendatud, aga internetti pole ruuteriklientidel.
Masquerade VPN-i tsoonis surub iga LAN-i aadressi ruuteri tunneli aadressi enne, kui pakett väljub. See kaotab vajaduse tagasimarsruudi järele sinu alavõrku teisel pool.
Kui teine pool juba marsruudib sinu LAN-i, jätab masquerade väljalülitamine lähteaadressid nähtavaks ja teeb kliendipõhised logid sisukaks. Vali üks ja kirjuta üles, milline, sest kaks valikut tekitavad hiljem erinevaid toe küsimusi. Vaikimisi LAN-ist WAN-i edastuse eemaldamine on omaette otsus oma tagajärjega. Võta see ära ja ruuteri enda internetiühendus läheb kaasa.
Nimeta NAT-is õige ülesvoolu liides
Püsivaral, kus tõlkereegel on käsitsi kirjutatud, on vale väli väljuv liides. Reegel, mis nimetab vlan2, ei tee midagi, kui sessioon lõpeb ppp0 peal. Reegel ilma ühegi liideseta võib tõlkida liiklust, mis oleks pidanud jääma privaatseks. Kumbki viga ei teata endast, sest tunnel töötab edasi.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Asenda selles reeglis ppp0 liidesega käsust ip route või töötavate liideste loendist, seejärel vaata loendurit, kui LAN-i host laeb lehte. Ühe teenusepakkujaga ruuteril piisab ülesvoolu jaoks tavaliselt ühest masquerade-reeglist. Teine reegel tunneli liidese jaoks ei asenda esimest.
Seejärel lisa kliendi valikud, mis otsustavad, mis tunnelisse läheb. redirect-gateway direktiiv saadab kliendi internetiliikluse VPN-i kaudu ja ilma selleta kannab tunnel ainult marsruute, mida server lükkab. Kontrolli saadud marsruutimistabelit enne, kui DNS-i puutud.
Jaga Wi-Fi teise tabeliga
Üks marsruutimistabel ei mahuta kahte vaikeväärtust. Teine SSID, mis peab tunnelist mööda minema, vajab seepärast oma alavõrku ja oma tabelit. Anna tunnelisse viidud SSID-le oma vahemik ja suuna siis ainult see vahemik tunnelisse reegliga, mis valib tabeli.
Poliitikapõhise marsruutimise paketid OpenWrt-s väljendavad täpselt seda kombinatsiooni. Käsitsi saab ka: lähtekoha reegel ja tabel, mille vaikeväärtus osutab tunnelseadmele.
Kontrolli jagunemist mõlemast võrgust. Tunneli-SSID-i klient peaks näitama VPN-i väljumisaadressi ja tavalise SSID-i klient teenusepakkuja oma. Kui mõlemad paistavad samad, tabab reegel vale lähtekohta või tabelit ei küsita kunagi. Testi ka pärast uuestiühendumist, sest liidese nimest sõltuv reegel katkeb, kui seade ümber nummerdatakse.
Kahtlusta kella ja seadme lippu
Lipp persist-tun jätab tunnelseadme restartide vahel paigale. See sobib serverile ja ajab segadusse kliendi, mille olek tuleks nullist üles ehitada. Eemalda see ruuterikliendi tõrkeotsingu ajaks, sest ebaõnnestunud läbirääkimisest üle elanud seade varjab, milline samm tegelikult katki läks. Pane see tagasi, kui klient ühendub usaldusväärselt, ja mitte varem.
Kell on teine vaikne rike. Patareitoeta kellaga ruuter algab ajastust, mis tähendab, et sertifikaadi kontrollid ebaõnnestuvad, kuni NTP järele jõuab. Võrdle logi ajatempleid tegeliku ajaga enne, kui sertifikaati puutud, sest klient, mis ühendub minut pärast käivitust, ootab tavaliselt aja sünkroonimist.