Zone ng VPN sa OpenWrt, pagpapasa at masking: alin ang kailangan?
Ang input ng zone, pagpapasa at masking ay sumasagot sa magkaibang tanong. Magpasya kung ano ang kailangan ng iyong trapiko ng VPN bago buksan ang zone ng WAN.
Tatlong pagbabago ang naghahalo sa tuwing makakasalubong ng VPN ang OpenWrt: pagbubukas ng port, pagpayag sa pagpapasa at pagbubukas ng masking. Sumasagot ang mga ito sa magkaibang tanong, at kadalasan isa lamang sa kanila ang tunay na pangangailangan. Ang pagbasa sa bawat kontrol ayon sa papel ng trapikong pinamamahalaan nito ay ginagawang desisyon ang hula, at sinasabi rin kung anong sintomas ang aasahan kapag mali ang pagbabago. Magsimula sa pagpangalan ng papel na nabigo, hindi sa kahon na natatandaan mo.
Pangalanan ang papel ng trapiko bago hawakan ang isang kontrol
Ang input ng zone ay nagpapasya kung ano ang makakarating sa router mismo. Ang output ng zone ay sumasaklaw sa trapikong nililikha ng router, ang pagpapasa ng zone ang default para sa trapikong dumadaan sa isang zone, at ang masking ay nagpapasya kung muling isusulat ang source address sa labasan. Apat na magkaibang tanong iyon, at sinasagot ng patakaran ng zone ang lahat nang sabay gamit ang parehong halaga, kaya ang pagbabago sa buong zone ay isang magaspang na kasangkapan. Ang pinangalanang tuntunin ay makakasagot sa isa sa kanila nang hindi hinahawakan ang iba.
Ang kapaki-pakinabang na mapa ay ayon sa papel ng trapiko, dahil iyon ang mapapansin mo kapag may nabigo. Bawat papel sa ibaba ay may isang kontrol na nagpapasya nito at isang sintomas na tumuturo dito:
| 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 |
Ang tagapakinig sa router ay nangangailangan ng isang makitid na tuntunin sa input
Ang server ng OpenVPN sa router ay tumatanggap ng trapikong nakadirekta sa router, kaya ang panlabas na koneksyon nito ay nakasalalay sa patakaran ng input ng zone na nagdadala nito. Payagan ang naka-configure na transport at port at hayaang tanggihan ang lahat ng iba pa sa zone na iyon. Ang isang tuntunin sa port ay mas maliit na pagbabago kaysa pahintulot sa buong zone, at iyon ang maipapaliwanag mo pa pagkalipas ng isang taon.
Dalawang bagay ang nagpapaligtas sa tuntuning iyon: pinangalanan nito ang port na aktwal na ginagamit ng serbisyo, at nakatayo ito sa tabi ng depinisyon ng zone upang makita ng susunod na tao kung bakit ito naroroon. Ang mga linya sa ibaba ay anyo lamang, ang port ang kumakatawan sa naka-configure sa server. Baguhin ang port na iyon sa dalawang lugar kapag lumipat ang serbisyo, dahil ang tuntuning naiwan sa luma ay hindi nakikita hanggang sa isang audit.
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'I-validate bago mag-reload, dahil ang error sa syntax sa file ng firewall ay maaaring mag-iwan sa router na walang gumaganang set ng tuntunin. Sa bersyong gumagamit ng fw4, ang pagsusuri ay hiwalay na utos, at malakas itong nabigo sa halip na tahimik na tanggapin ang sirang bloke. Mag-reload lamang pagkatapos pumasa ang pagsusuri, at itago ang dating file kung saan maibabalik mo ito.
fw4 check
service firewall reloadAng kahilingan ng kliyente ay dumadaan sa pagpapasa, hindi sa input
Pagkatapos ng pagpapatunay, ang kahilingan ng kliyente ng tunnel para sa serbisyo ng LAN ay gumagawa ng naipasang daloy, kaya ang kontrol na nagpapasya nito ay ang ugnayan ng pagpapasa sa pagitan ng zone ng tunnel at zone ng LAN. Itakda ang interface ng tunnel sa gustong zone, pagkatapos ipahayag ang direksyon, ang mga pinagmulan at ang serbisyo. Ang pagtatalaga ng zone ang nagbibigay ng kahulugan sa tuntunin ng pagpapasa, at ang dalawa ay mauunawaan lamang kapag binasa nang sama-sama. Ang ugnayan ng pagpapasa na nagpangalan sa zone ng tunnel bilang pinagmulan at zone ng LAN bilang patutunguhan ay binabasa bilang isang sadyang desisyon, samantalang ang dalawang pahintulot sa buong zone ay binabasa bilang isang aksidente.
Ang pag-abot sa router mismo ay gumagamit pa rin ng landas ng input, kaya ang ping sa gateway ay walang sinasabi tungkol sa pagbabahagi ng file sa likod nito. Ang dalawang pagkabigong iyon ay naninirahan sa magkaibang bloke at inaayos ng magkaibang pagbabago. Isulat ang dalawang landas nang hiwalay bago baguhin ang alinman sa kanila.
Ang masking ay desisyon sa pagruruta, hindi pahintulot
Ang masking ay muling nagsusulat ng source address ng piniling palabas na trapiko. Maaari nitong iligtas ang disenyo ng labasan kung saan walang rutang pabalik ang malayong panig, at itinatago rin nito ang mga address ng indibidwal na kliyente mula sa anumang serbisyong nag-log o nagpapahintulot ayon sa address. Ang pag-off nito ay pagpiling pagruruta tungkol sa rutang pabalik, hindi switch ng seguridad na nagsasara ng butas sa pasukan. Ang tunnel na gumagana kapag nakabukas ang pagsasalin at nabigo sa sandaling ito ay patayin ay kadalasang kulang ang rutang pabalik, hindi ang tuntunin ng firewall.
Ang rutang alternatibo ay nangangailangan ng rutang pabalik sa malayong panig sa halip ng pagsasalin. Wala sa dalawang opsyon ang nagbibigay ng pahintulot ng firewall o account ng aplikasyon, kaya ang pag-off ng masking ay halos hindi kailanman nag-aayos ng kliyente ng tunnel na hindi makarating kahit saan. Tratuhin din nang hiwalay ang patakaran sa IPv4 at IPv6, dahil ang isang setting ng pagsasalin ay hindi naglalarawan sa dalawang pamilya.
Patunayan ang desisyon sa pinayagang at tinanggihang kahilingan
Magpadala ng isang kahilingang dapat payagan at isang dapat tanggihan, pagkatapos tukuyin ang kontrol na gumawa ng bawat desisyon. Ang pahinang nag-load nang nagkataon ay hindi ebidensya; ang ebidensya ay ang tuntuning tumugma, sa kadena kung saan ito tumugma. Ang pagtanggi ay kasinghalaga ng tagumpay, dahil ipinapakita nitong may ginagawa ang patakaran sa halip na lahat ay pinapayagan.
Dalawang utos ang nagbibigay sa iyo ng ebidensyang iyon sa kasalukuyang bersyon. Gumagalaw ang counter sa tugmang tuntunin kapag tinanggap ang kahilingan, at ipinapakita ng log ang pagtatapon kung binuksan mo ang pag-log para sa tuntunin:
nft list chain inet fw4 forward_wan
logread -f | grep -i -E 'DROP|REJECT'Panatilihin ang landas ng administrasyon na magagamit mo pa bago baguhin ang anumang patakaran ng firewall, at sundin ang proseso ng pagvalidate at pagbabalik ng may-ari ng configuration. Ang pagbabagong nagkakandado sa iyo sa labas ng router ay hindi resulta ng pagsubok, ito ay pangalawang insidente. Itala ang zone at ang papel ng trapiko sa tabi ng bawat obserbasyon, upang ipaliwanag ng pares ng resulta ang patakaran sa halip na ilarawan ang isang mapalad na pag-load ng pahina.