Viso LAN OpenVPN klientas OpenWrt: veikianti tvarka
Sąsajos nuosavybė, zonos politika, masquerade ir lentelės pagal SSID yra keturi atskiri darbai. Atlikite juos iš eilės, ir viso maršrutizatoriaus tunelis nustos priešintis.
Keturi nepriklausomi darbai pastato visą maršrutizatoriaus LAN už vieno tunelio. Tunelio įrenginiui reikia savininko, ugniasienės zonos, vertimo tikslo link uplink ir, jei kai kurie klientai turi likti už VPN ribų, maršrutizavimo pagal šaltinio adresą. Tuneliui, kuris prisijungia, bet niekas per jį neina, dažniausiai trūksta vieno iš šių keturių. Darbas priklausomybių tvarka reiškia, kad gedimas pabaigoje priklauso žingsniui, kurį ką tik pakeitėte. Kiekvienas žingsnis žemiau baigiasi tuo, ką galite stebėti, ir tai apsaugo kitą žingsnį nuo spėliojimų.
Nuspręskite, kas dalijasi tuneliu
Maršrutizatorius, kuris dalija Wi-Fi ir DHCP, gali pats paleisti klientą. Tai pastato kiekvieną prijungtą įrenginį už tunelio be atskiro nustatymo, ir tai yra sprendimas, kurio nori dauguma mažų objektų. Tai taip pat sprendimas su didžiausiu poveikiu, kai tunelis nukrenta, nes kiekvienas įrenginys vienu metu praranda savo kelią. Niekas LAN tinkle neišlaiko veikiančio išėjimo.
Antras maršrutizatorius už pirmojo, paleidžiantis klientą su savo potinkliu, apriboja tunelį savo įrenginiams. Jį lengviau pašalinti ir lengviau paaiškinti tam, kas jį paveldi. Kaina yra pasiekiamumas tarp abiejų pusių be maršruto ar prievado peradresavimo.
Kad ir kaip būtų, padarykite LAN potinklius skirtingus. Identiški diapazonai leidžia manyti, kad viena pusė prijungta tiesiogiai, ir atsiradusi juodoji skylė ištisas valandas atrodo kaip VPN gedimas.
Duokite tuneliui savininką
Deklaruokite tunelį kaip tinklo sąsają su vardu, įrenginiu ir be savo protokolo. Tada tinklo sistema sukuria ir valdo įrenginį, o viskas žemiau nurodo sąsają vardu, o ne įrenginiu. Tai leidžia zonai jį rasti.
Nekurkite to paties įrenginio dviejose vietose. Rankiniu būdu sukurtas tunelis šalia deklaruotos sąsajos sukuria įrenginį, kuris egzistuoja, bet nėra zonoje, arba tokį, kuris dingsta perkrovus. Abu atrodo kaip kliento gedimas, ir nė vienas neduoda klaidos, įvardijančios tikrąją priežastį. Pasirinkite deklaratyvų kelią ir ištrinkite rankinį.
Laikykite vardą identišką tinklo, ugniasienės ir VPN konfigūracijoje. Zona išvardija tinklus pagal vardą, todėl rašybos klaida palieka tunelį už bet kokios zonos, nors pati sąsaja atrodo sveika. Sveika sąsaja be politikos yra sunkiausiai pastebima būsena.
Įdėkite į zoną, tada perduokite į ją
Ugniasienės zona yra ten, kur gyvena politika: įvestis, išvestis, perdavimas ir masquerade. Tunelis, kuris nėra jokioje zonoje, valdomas numatytųjų verčių, kurių nepasirinkote, ir tai retai yra tai, ko reikia maršrutizatoriaus klientui. Žemiau esantys blokai deklaruoja sąsają, įdeda ją į zoną ir leidžia LAN srautą į tą zoną.
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'
Leidimuose, senesniuose nei 21.02, ta pati sąsajos eilutė rašoma kaip option ifname, todėl prieš įklijuodami patikrinkite, kurią formą supranta įdiegta programinė įranga. Perdavimo blokas yra leidimas, kuris apskritai leidžia LAN srautui naudotis tuneliu. Be jo įrenginys įjungtas, klientas prisijungęs, ir nė vienas LAN kompiuteris nepasiekia tunelio. Tai dažniausias pranešimas apie prisijungimą be interneto maršrutizatoriaus klientuose.
Masquerade VPN zonoje sujungia kiekvieną LAN adresą į maršrutizatoriaus tunelio adresą prieš paketui išeinant. Tai pašalina grįžimo maršruto į jūsų potinklį kitoje pusėje poreikį.
Jei kita pusė jau maršrutizuoja jūsų LAN, masquerade išjungimas palieka šaltinio adresus matomus ir daro kiekvieno kliento žurnalus prasmingus. Pasirinkite vieną ir užsirašykite, kurią, nes abu pasirinkimai vėliau sukuria skirtingus palaikymo klausimus. Numatytosios LAN-WAN perdavimo pašalinimas yra atskiras sprendimas su savo pasekme. Pašalinkite jį, ir paties maršrutizatoriaus prieiga prie interneto išeis kartu.
Įvardinkite tikrąjį uplink NAT
Programinėje įrangoje, kurioje vertimo taisyklė rašoma rankiniu būdu, išeinanti sąsaja yra laukas, kuris sugenda. Taisyklė, įvardijanti vlan2, nieko nedaro, kai sesija baigiasi ppp0 adresu. Taisyklė be jokios sąsajos gali versti srautą, kuris turėjo likti privatus. Nė viena klaida nepraneša apie save, nes tunelis toliau veikia.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Pakeiskite ppp0 toje taisyklėje sąsaja iš ip route arba aktyvių sąsajų sąrašo, tada stebėkite skaitiklį, kol LAN kompiuteris įkelia puslapį. Maršrutizatoriuje su vienu tiekėju paprastai pakanka vienos masquerade taisyklės uplinkui. Antra taisyklė tunelio sąsajai nepakeičia pirmosios.
Tada pridėkite kliento parinktis, kurios nusprendžia, kas patenka į tunelį. Direktyva redirect-gateway siunčia kliento interneto srautą per VPN, o be jos tunelis neša tik serverio siunčiamus maršrutus. Patikrinkite gautą maršrutų lentelę prieš liedami DNS.
Padalinkite Wi-Fi antrąja lentele
Viena maršrutų lentelė negali laikyti dviejų numatytųjų maršrutų. Todėl antrasis SSID, kuris turi apeiti tunelį, turi savo potinklį ir savo lentelę. Priskirkite tuneliuojamam SSID savo diapazoną, tada maršrutizuokite tik tą diapazoną į tunelį taisykle, kuri pasirenka lentelę.
Politikos maršrutizavimo paketai OpenWrt tiksliai išreiškia tą derinį. Rankiniu būdu taip pat veikia, su šaltinio taisykle ir lentele, kurios numatytasis maršrutas rodo į tunelio įrenginį.
Patikrinkite atskyrimą iš abiejų tinklų. Tuneliuojamo SSID klientas turėtų rodyti VPN išėjimo adresą, o įprasto SSID klientas – tiekėjo adresą. Kai abu atrodo vienodai, taisyklė atitinka neteisingą šaltinį arba lentelė niekada nėra konsultuojama. Išbandykite ir po prisijungimo iš naujo, nes taisyklė, priklausanti nuo sąsajos vardo, sugenda, kai įrenginys pernumeruojamas.
Įtarkite laikrodį ir įrenginio vėliavėlę
Vėliavėlė persist-tun palieka tunelio įrenginį vietoje tarp paleidimų. Tai tinka serveriui ir klaidina klientą, kurio būsena turėtų būti kuriama iš naujo. Pašalinkite ją, kai sprendžiate maršrutizatoriaus kliento problemą, nes įrenginys, išgyvenantis nepavykusias derybas, paslepia, kuris žingsnis iš tikrųjų lūžo. Grąžinkite ją, kai klientas prisijungia patikimai, ir ne anksčiau.
Laikrodis yra kita tylioji klaida. Maršrutizatorius be baterija maitinamo laikrodžio pradeda nuo epochos, o tai reiškia, kad sertifikatų patikros nepavyksta, kol NTP nepasiveja. Palyginkite žurnalo laiko žymes su tikruoju laiku prieš liedami sertifikatą, nes klientas, prisijungiantis po minutės nuo paleidimo, paprastai laukia laiko sinchronizacijos.