Območje VPN v OpenWrt, posredovanje in maskiranje: kaj potrebujete?
Vhod območja, posredovanje in maskiranje odgovarjajo na različna vprašanja. Odločite se, kaj vaš promet VPN potrebuje, preden odprete območje WAN.
Tri spremembe se zmešajo vsakič, ko se VPN sreča z OpenWrt: odpiranje vrat, dovoljenje posredovanja in vklop maskiranja. Odgovarjajo na različna vprašanja in običajno je le ena od njih resnična zahteva. Branje vsakega nadzora glede na vlogo prometa, ki ga upravlja, spremeni ugibanje v odločitev in pove tudi, kateri simptom pričakovati, ko je sprememba napačna. Začnite z imenom vloge, ki je odpovedala, ne s potrditvenim poljem, ki se ga spomnite.
Imenujte vlogo prometa, preden se dotaknete nadzora
Vhod območja odloča, kaj lahko doseže sam usmerjevalnik. Izhod območja pokriva promet, ki ga ustvari usmerjevalnik sam, posredovanje območja je privzeta vrednost za promet, ki prečka območje, maskiranje pa odloča, ali se izvorni naslov ob odhodu prepiše. To so štiri različna vprašanja in politika območja odgovori na vsa hkrati z isto vrednostjo, zato je sprememba za celotno območje grobo orodje. Poimenovano pravilo lahko odgovori na eno od njih, ne da bi se dotaknilo ostalih.
Uporaben zemljevid je po vlogi prometa, saj je to tisto, kar lahko opazujete, ko kaj odpove. Vsaka vloga spodaj ima en nadzor, ki jo določi, in en simptom, ki kaže nanjo:
| Traffic role | Control that decides it | Where it lives in the config | Symptom when it is wrong |
|---|---|---|---|
| A client reaching a listener on the router | Input policy of the zone that carries the connection, or a rule for the port | option input in the zone stanza, or a named rule | The handshake never completes and the tunnel log says nothing |
| A tunnel client reaching the router itself | Input policy of the tunnel zone | option input in the VPN zone | A ping to the gateway fails |
| A tunnel client reaching another LAN host | Forwarding from the tunnel zone to the LAN zone | config forwarding plus the zone assignment | The gateway answers and the file share times out |
| The router's own traffic leaving the WAN | Output policy, and translation if the far side needs it | option output and option masq | The tunnel never establishes, or replies vanish |
Poslušalec na usmerjevalniku potrebuje eno ozko vhodno pravilo
Strežnik OpenVPN na usmerjevalniku sprejema promet, naslovljen na usmerjevalnik, zato je njegova zunanja povezava odvisna od vhodne politike območja, ki ga nosi. Dovolite nastavljeni transport in vrata, vse ostalo v tem območju pa pustite zavrnjeno. Eno pravilo za vrata je veliko manjša sprememba kot dovoljenje za celotno območje, in prav to boste lahko pojasnili še po letu dni.
Dve stvari naredita to pravilo varno za ohranitev: imenuje vrata, ki jih storitev dejansko uporablja, in stoji ob definiciji območja, da naslednja oseba vidi, zakaj obstaja. Vrstice spodaj so le oblika, vrata pa nadomeščajo tisto, kar je nastavljeno na strežniku. Spremenite ta vrata na obeh mestih, ko se storitev preseli, ker je pravilo, ki ostane na starih, nevidno do revizije.
config zone
option name 'wan'
option input 'REJECT'
option forward 'REJECT'
option output 'ACCEPT'
option masq '1'
config rule
option name 'allow-openvpn'
option src 'wan'
option proto 'udp'
option dest_port '1194'
option target 'ACCEPT'Preverite pred ponovnim nalaganjem, ker lahko sintaktična napaka v datoteki požarnega zidu pusti usmerjevalnik brez delujočega nabora pravil. V izdaji s fw4 je preverjanje ločen ukaz in glasno odpove, namesto da bi tiho sprejelo pokvarjen blok. Znova naložite šele po uspešnem preverjanju in shranite prejšnjo datoteko tam, kjer jo lahko vrnete.
fw4 check
service firewall reloadZahteva odjemalca gre skozi posredovanje, ne skozi vhod
Po preverjanju pristnosti zahteva odjemalca tunela po storitvi LAN ustvari posredovani tok, zato je nadzor, ki to določi, razmerje posredovanja med območjem tunela in območjem LAN. Dodelite vmesnik tunela želenemu območju in nato razglasite smer, vire in storitev. Dodelitev območja je tisto, kar daje pravilu posredovanja pomen, in oboje je smiselno le skupaj brano. Razmerje posredovanja, ki kot vir navaja območje tunela in kot cilj območje LAN, se bere kot ena premišljena odločitev, medtem ko se dve dovoljenji za celotno območje bereta kot nesreča.
Doseganje samega usmerjevalnika še vedno uporablja vhodno pot, zato ping na prehod ne pove ničesar o skupni rabi datotek za njim. Ti dve napaki živita v različnih blokih in se popravljata z različnimi spremembami. Zapišite obe poti ločeno, preden spremenite katero od njiju.
Maskiranje je odločitev o usmerjanju, ne dovoljenje
Maskiranje prepiše izvorni naslov izbranega odhodnega prometa. Lahko reši zasnovo izhoda, kjer oddaljena stran nima povratne poti, in tudi skrije naslove posameznih odjemalcev pred vsako storitvijo, ki naslove beleži ali po njih odobri. Izklop je izbira usmerjanja glede povratne poti, ne varnostno stikalo, ki zapre vhodno luknjo. Tunel, ki deluje z vključenim prevajanjem in odpove v trenutku, ko ga izklopite, običajno nima povratne poti, ne manjkajočega pravila požarnega zidu.
Usmerjena alternativa potrebuje namesto prevajanja povratno pot na oddaljeni strani. Nobena od možnosti ne daje dovoljenja požarnega zidu ali računa aplikacije, zato izklop maskiranja skoraj nikoli ne popravi odjemalca tunela, ki ne doseže ničesar. Tudi politiko IPv4 in IPv6 obravnavajte ločeno, ker ena nastavitev prevajanja ne opisuje obeh družin.
Dokažite odločitev z dovoljeno in zavrnjeno zahtevo
Pošljite eno zahtevo, ki bi morala biti dovoljena, in eno, ki bi morala biti zavrnjena, nato določite nadzor, ki je sprejel vsako odločitev. Stran, ki se naloži po naključju, ni dokaz; dokaz je pravilo, ki se je ujemalo, v verigi, kjer se je ujemalo. Zavrnitev šteje enako kot uspeh, ker kaže, da politika nekaj počne, namesto da bi bilo vse dovoljeno.
Dva ukaza vam data ta dokaz v trenutni izdaji. Števec na ujemajočem pravilu se premakne, ko je zahteva sprejeta, dnevnik pa pokaže izpust, če ste za pravilo vklopili beleženje:
nft list chain inet fw4 forward_wan
logread -f | grep -i -E 'DROP|REJECT'Ohranite administrativno pot, ki jo še lahko uporabljate, preden spremenite katero koli politiko požarnega zidu, in sledite postopku preverjanja in razveljavitve lastnika konfiguracije. Sprememba, ki vas zaklene izven usmerjevalnika, ni rezultat preizkusa, je drugi incident. Zapišite območje in vlogo prometa ob vsakem opažanju, da par rezultatov pojasni politiko, namesto da bi opisoval srečno nalaganje strani.