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 roleControl that decides itWhere it lives in the configSymptom when it is wrong
A client reaching a listener on the routerInput policy of the zone that carries the connection, or a rule for the portoption input in the zone stanza, or a named ruleThe handshake never completes and the tunnel log says nothing
A tunnel client reaching the router itselfInput policy of the tunnel zoneoption input in the VPN zoneA ping to the gateway fails
A tunnel client reaching another LAN hostForwarding from the tunnel zone to the LAN zoneconfig forwarding plus the zone assignmentThe gateway answers and the file share times out
The router's own traffic leaving the WANOutput policy, and translation if the far side needs itoption output and option masqThe 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 reload

Ang 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.

Kaugnay na mga artikulo