OpenWrt VPN-sône, trochstjoeren en maskerjen: hokker hawwe jo nedich?
Sône-ynfier, trochstjoeren en maskerjen beantwurdzje ferskillende fragen. Beslis hokker jo VPN-ferkear nedich hat foardat jo de WAN-sône iepenje.
Trije feroarings wurde trochelkoar helle as in VPN OpenWrt moetet: in poarte iepenje, trochstjoeren tastean en maskerjen oansette. Se beantwurdzje ferskillende fragen, en meastentiids is mar ien fan har it echte ferlet. Eltse kontrôle lêze neffens de ferkearsrol dy't it regelet makket fan in gissing in beslút, en it seit ek hokker symptoom jo ferwachtsje moatte as de feroaring ferkeard is. Begjin mei it neamen fan de rol dy't mislearre, net it fakje dat jo noch betinke.
Nammje de ferkearsrol foardat jo in kontrôle oanreitsje
Sône-ynfier beslút wat de router sels berikke mei. Sône-útfier omfettet ferkear dat de router sels makket, sône-trochstjoeren is de standert foar ferkear dat troch in sône giet, en maskerjen beslút oft it boarneadres ûnderweis nei bûten wer oerskreaun wurdt. Dat binne fjouwer ferskillende fragen, en in sônebelied beantwurdet se allegear tagelyk mei deselde wearde, dêrom is in feroaring foar de hiele sône in grof ynstrumint. In neamd regel kin ien fan har beantwurdzje sûnder de oaren oan te reitsjen.
De nuttige kaart is op ferkearsrol, want dat is wat jo waarnimme kinne as eat misrint. Eltse rol hjirûnder hat ien kontrôle dy't it beslút en ien symptoom dat derop wiist:
| 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 |
In tsjinnder op de router hat ien smelle ynfierregel nedich
In OpenVPN-tsjinner op de router ûntfangt ferkear dat oan de router rjochte is, dus syn bûtenferbining hinget ôf fan it ynfierbelied fan de sône dy't it draacht. Tastean it konfigurearre ferfier en de poarte en lit al it oare yn dy sône ôfwiisd. Ien poarteregel is in folle lytsere feroaring as in talitting foar de hiele sône, en it is dejinge dy't jo oer in jier noch útlizze kinne.
Twa dingen meitsje dy regel feilich om te hâlden: hy neamt de poarte dy't de tsjinst echt brûkt, en hy stiet njonken de sônedefinysje sadat de folgjende persoan sjocht wêrom't er bestiet. De rigels hjirûnder binne de foarm, mei de poarte as ferfanging foar wat op de tsjinner konfigurearre is. Feroarje dy poarte op beide plakken as de tsjinst ferhuze, want in regel dy't op 'e âlde bliuwt is ûnsichtber oant in 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'Falidearje foardat jo wer lade, want in syntaksflater yn in firewalltriem kin de router sûnder wurkjende regelset litte. Op in ferzje mei fw4 is de kontrôle in apart kommando, en it mislearret lûd ynstee fan stil in brutsen blok oan te nimmen. Werlade pas nei't de kontrôle slagge is, en hâld de foarige triem dêr't jo him weromsette kinne.
fw4 check
service firewall reloadIn kliïntfersyk giet oer trochstjoeren, net oer ynfier
Nei autentikaasje makket in fersyk fan in tunnelkliïnt om in LAN-tsjinst in trochstjoerde stream, dus de kontrôle dy't dat beslút is de trochstjoerrelaasje tusken de tunnelsône en de LAN-sône. Wijs de tunnelinterface ta oan de bedoelde sône, en ferklearje dan de rjochting, de boarnen en de tsjinst. De sônetawizing is wat de trochstjoerregel betsjutting jout, en beide hawwe allinnich tegearre lêzen sin. In trochstjoerrelaasje dy't de tunnelsône as boarne en de LAN-sône as bestimming neamt, wurdt lêzen as ien bewust beslút, wylst twa talittings foar de hiele sône as in ûngelok lêzen wurde.
De router sels berikke brûkt noch altyd it ynfierpaad, dêrom seit in ping nei de gateway neat oer de triemdieling dêrefter. Dy twa flaters libje yn ferskillende blokken en wurde mei ferskillende feroarings reparearre. Skriuw beide paden apart op foardat jo ien fan beide feroarje.
Maskerjen is in routingbeslút, gjin talitting
Maskerjen skriuwt it boarneadres fan selektearre útgeand ferkear oer. It kin in útgongsûntwerp rêde wêrby't de fiere kant gjin weromrûte hat, en it ferberget ek de adressen fan yndividuele kliïnten foar elke tsjinst dy't adressen logt of op adres autorisearret. It útsette is in routingkar oer it werompaad, net in feiligensskaakelder dy't in yngeand gat tichtet. In tunnel dy't wurket mei oersetting oan en ferrint op it stuit dat dy útset wurdt, mist meastentiids in weromrûte, net in firewallregel.
In routed alternatyf hat in weromrûte oan de fiere kant nedich ynstee fan oersetting. Gjin fan beide opsjes leveret de firewaltalitting of it applikaasje-account, dêrom reparearret it útsetten fan maskerjen hast nea in tunnelkliïnt dy't neat berikke kin. Behannelje it belied foar IPv4 en IPv6 ek apart, want ien oersettingsynstelling beskriuwt net beide famyljes.
Bewiis it beslút mei in tastien en in ôfwiisd fersyk
Stjoer ien fersyk dat tastien wurde moat en ien dat ôfwiisd wurde moat, en wjis dan de kontrôle oan dy't elk beslút naam hat. In side dy't tafallich laadt is gjin bewiis; it bewiis is de regel dy't oerienkaam, yn 'e keatling dêr't er oerienkaam. De ôfwizing jildt likefolle as it súkses, want it lit sjen dat it belied eat docht ynstee dat alles tastien is.
Twa kommando's jouwe jo dat bewiis op in aktuele ferzje. De teller op 'e oerienkommende regel beweecht as it fersyk akseptearre wurdt, en it log lit de drop sjen as jo logging foar de regel oanset hawwe:
nft list chain inet fw4 forward_wan
logread -f | grep -i -E 'DROP|REJECT'Hâld in behearpaad dat jo noch brûke kinne foardat jo hokker firewallbelied dan ek feroarje, en folgje it falidaasje- en weromsetproses fan 'e eigner fan 'e konfiguraasje. In feroaring dy't jo bûten de router slút is gjin testresultaat, it is in twadde ynsidint. Skriuw de sône en de ferkearsrol njonken elke waarnimming, sadat it pear resultaten it belied útlizze ynstee fan in lokkige sidebelading te beskriuwen.