OpenWrt VPN-tsoon, edastamine ja maskeerimine: mida vajate?
Tsooni sisend, edastamine ja maskeerimine vastavad erinevatele küsimustele. Otsustage, mida teie VPN-liiklus vajab, enne kui avate WAN-tsooni.
Kolm muudatust aetakse segamini alati, kui VPN OpenWrt-iga kohtub: pordi avamine, edastamise lubamine ja maskeerimise sisselülitamine. Need vastavad erinevatele küsimustele ja tavaliselt on ainult üks neist tegelik nõue. Iga juhtimisvahendi lugemine selle liiklusrolli järgi, mida see juhib, muudab oletuse otsuseks ja ütleb ka, millist sümptomit vale muudatuse korral oodata. Alustage rolli nimetamisest, mis ebaõnnestus, mitte märkeruudust, mida mäletate.
Nimetage liiklusroll enne, kui puudutate juhtimisvahendit
Tsooni sisend otsustab, mis võib jõuda ruuterini endani. Tsooni väljund hõlmab liiklust, mille ruuter ise loob, tsooni edastamine on vaikeväärtus tsooni läbivale liiklusele ja maskeerimine otsustab, kas lähteaadress kirjutatakse väljaminekul ümber. Need on neli erinevat küsimust ja tsoonipoliitika vastab neile kõigile korraga sama väärtusega, mistõttu kogu tsooni hõlmav muudatus on jäme vahend. Nimega reegel saab vastata ühele neist ilma ülejäänuid puudutamata.
Kasulik kaart on liiklusrolli järgi, sest just seda saab jälgida, kui miski ebaõnnestub. Igal allpool oleval rollil on üks juhtimisvahend, mis seda otsustab, ja üks sümptom, mis sellele osutab:
| 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 |
Ruuteril kuulaja vajab ühte kitsast sisendreeglit
Ruuteril olev OpenVPN server võtab vastu ruuterile adresseeritud liiklust, seega sõltub selle väline ühendus tsooni sisendpoliitikast, mis seda kannab. Lubage konfigureeritud transport ja port ning jätke kõik muu selles tsoonis tagasilükatud. Üks pordireegel on palju väiksem muudatus kui kogu tsooni lubamine ja just seda suudate ka aasta pärast selgitada.
Kaks asja teevad selle reegli hoidmise turvaliseks: see nimetab pordi, mida teenus tegelikult kasutab, ja see seisab tsooni definitsiooni kõrval, et järgmine inimene näeks, miks see olemas on. Allpool olevad read on vorm, kus port esindab seda, mis on serveris konfigureeritud. Muutke seda porti mõlemas kohas, kui teenus liigub, sest vanale jäänud reegel on kuni auditini nähtamatu.
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'Valideerige enne uuesti laadimist, sest tulemüüri faili süntaksiviga võib jätta ruuteri ilma töötava reeglistikuta. Väljaandes, mis kasutab fw4, on kontroll eraldi käsk ja see ebaõnnestub valjult, selle asemel et katkine plokk vaikselt vastu võtta. Laadige uuesti alles pärast kontrolli läbimist ja hoidke eelmist faili seal, kust saate selle tagasi panna.
fw4 check
service firewall reloadKliendi päring läbib edastamist, mitte sisendit
Pärast autentimist tekitab tunnelikliendi päring LAN-teenusele edastatud voo, seega on selle otsustav juhtimisvahend tunnelitsooni ja LAN-tsooni vaheline edastussuhe. Määrake tunneliliides soovitud tsoonile, seejärel deklareerige suund, allikad ja teenus. Tsoonimäärang on see, mis annab edastusreeglile tähenduse, ja mõlemal on mõtet ainult koos lugedes. Edastussuhe, mis nimetab tunnelitsooni allikaks ja LAN-tsooni sihtkohaks, loetakse üheks teadlikuks otsuseks, samas kui kaks kogu tsooni lubamist loetakse õnnetuseks.
Ruuterini endani jõudmine kasutab endiselt sisendteed, mistõttu ping lüüsile ei ütle midagi selle taga oleva failijagamise kohta. Need kaks tõrget elavad erinevates plokkides ja parandatakse erinevate muudatustega. Kirjutage mõlemad teed eraldi üles enne, kui kumbagi muudate.
Maskeerimine on marsruutimisotsus, mitte luba
Maskeerimine kirjutab ümber valitud väljamineva liikluse lähteaadressi. See võib päästa väljundkujunduse, kus kaugemal poolel pole tagasiteed, ja peidab ka üksikute klientide aadresse iga teenuse eest, mis aadresse logib või nende järgi autoriseerib. Selle väljalülitamine on marsruudivalik tagasitee kohta, mitte turvalüliti, mis sulgeb sissetuleva augu. Tunnel, mis töötab tõlkimisega sisse lülitatud ja ebaõnnestub hetkel, kui see välja lülitatakse, on tavaliselt puuduva tagasiteega, mitte puuduva tulemüürireegliga.
Marsruuditud alternatiiv vajab tõlkimise asemel tagasiteed kaugemal poolel. Kumbki valik ei anna tulemüüriluba ega rakendusekontot, mistõttu maskeerimise väljalülitamine peaaegu kunagi ei paranda tunneliklienti, mis ei saa kuhugi jõuda. Käsitlege ka IPv4 ja IPv6 poliitikat eraldi, sest üks tõlkimise seade ei kirjelda mõlemat perekonda.
Tõestage otsus lubatud ja tagasilükatud päringuga
Saatke üks päring, mis peaks olema lubatud, ja üks, mis peaks olema tagasilükatud, seejärel tehke kindlaks juhtimisvahend, mis iga otsuse tegi. Leht, mis juhuslikult laadib, ei ole tõend; tõend on reegel, mis sobis, selles ahelas, kus see sobis. Tagasilükkamine loeb sama palju kui õnnestumine, sest see näitab, et poliitika teeb midagi, mitte et kõik on lubatud.
Kaks käsku annavad selle tõendi praeguses väljaandes. Sobiva reegli loendur liigub, kui päring vastu võetakse, ja logi näitab kõrvalejätmist, kui olete reegli jaoks logimise sisse lülitanud:
nft list chain inet fw4 forward_wan
logread -f | grep -i -E 'DROP|REJECT'Hoidke haldustee, mida saate veel kasutada, enne kui muudate ükskõik millist tulemüüripoliitikat, ja järgige konfiguratsiooni omaniku valideerimis- ja tagasipööramisprotsessi. Muudatus, mis lukustab teid ruuterist välja, ei ole testitulemus, vaid teine juhtum. Märkige tsoon ja liiklusroll iga vaatluse kõrvale, et tulemuste paar selgitaks poliitikat, mitte ei kirjeldaks õnnelikku lehelaadimist.