Il-klijent jgħid konness, l-indirizz tat-tunnel iwieġeb ping, u xejn fuq il-LAN tal-uffiċċju ma jwieġeb. Nara dan wara kważi kull aġġornament tal-klijent, u l-ewwel instinkt hu li tiftaħ il-firewall, li normalment hu l-mossa żbaljata: it-tunnel hu tajjeb, u l-ksur jinsab f’waħda minn tliet qabżiet li l-pakkett irid jaqsam. Imxi t-triq fl-ordni li jieħu l-pakkett, l-ewwel ir-rotta tal-klijent, imbagħad il-forwarding tas-server, imbagħad il-vjaġġ lura, u ssib is-sid tal-ħsara fi ftit minuti.

L-ewwel pass: osserva d-deċiżjoni tal-routing tal-klijent

Qabel ma tmiss is-server, ipprova li l-klijent jibgħat il-pakkett fit-tunnel. Staqsi lill-kernel liema interface juża għal host LAN wieħed speċifiku, minflok taqra t-tabella kollha:

ip route get 192.168.50.10

Jekk it-tweġiba ssemmi l-adapter fiżiku tiegħek u l-gateway tal-uffiċċju, ebda bidla fuq in-naħa tas-server ma tista’ tgħin. OpenVPN iqassam rotot biss meta s-server jimbuttahom, għalhekk fittex push "route 192.168.50.0 255.255.255.0" fil-konfigurazzjoni tas-server, u mbagħad erġa’ qabbad il-klijent. Il-biċċa l-kbira tal-klijenti japplikaw ir-rotot imbuttati waqt il-konnessjoni, mhux meta terġa’ tgħabbi l-profil.

Fuq Windows l-istess mistoqsija għandha kmand ieħor. Find-NetRoute -RemoteIPAddress 192.168.50.10 jistampa l-interface u l-qabża li jmiss li tagħżel il-munzell, u route print -4 juri jekk il-prefiss imbuttat jeżistix xejn.

It-tieni pass: ikkonferma li s-server se jgħaddi l-pakkett

Jekk ir-rotta tal-klijent hija tajba, il-pakkett jasal għand is-server u s-server irid jaqbel li jgħaddih. L-iswiċċ tal-kernel hu l-ewwel bieb, u sysctl net.ipv4.ip_forward irid jirritorna 1. Issettjah b’echo 1 > /proc/sys/net/ipv4/ip_forward jaħdem sat-tnedija mill-ġdid li jmiss, u huwa eżattament għalhekk li l-istess ilment jerġa’ lura ġimgħat wara.

Ikteb dan f’post li jgħaddi minn tnedija mill-ġdid:

echo 'net.ipv4.ip_forward = 1' > /etc/sysctl.d/99-openvpn-forward.conf
sysctl --system

It-tieni bieb hija t-tabella tal-filtri. Host b’Docker installat spiss ikollu politika FORWARD ta’ DROP, u t-tunnel jiret dik id-deċiżjoni. iptables -L FORWARD -v -n juri kemm il-politika kif ukoll il-kontaturi tal-pakketti; jekk il-politika hija DROP, il-forwarding jeħtieġ aċċettazzjoni espliċita għad-direzzjoni mit-tunnel għal-LAN u oħra għat-tweġiba.

It-tielet pass: segwi l-pakkett sal-LAN u fittex it-tweġiba

Osserva ż-żewġ naħat tas-server fl-istess ħin. Aqbad fuq it-tunnel u fuq l-interface tal-LAN, iffiltrat għal klijent wieħed u host wieħed biex l-output jibqa’ jinqara:

tcpdump -ni tun0 host 192.168.50.10
tcpdump -ni eth0 host 192.168.50.10

Talbiet li jidhru fuq tun0 u għal darb’oħra fuq eth0 b’sors 10.8.0.x, segwiti mis-skiet, ifissru li l-pakkett wasal u t-tweġiba marret x’imkien ieħor. Il-host tal-LAN iwieġeb lill-gateway default tiegħu, dak il-gateway m’għandux rotta għall-pool tal-VPN, u t-tweġiba tmut fuq ir-router tal-LAN. Li tagħmel ping lill-host tal-LAN mis-server ma jipprova xejn dwar din it-triq, għax dak it-traffiku qatt ma jaqsam it-tunnel.

Ir-raba’ pass: agħżel bejn traduzzjoni u rotta tar-ritorn

Żewġ tiswijiet jagħlqu t-toqba, u l-għażla għandha konsegwenzi lil hinn minn jekk il-ping jaħdimx. It-traduzzjoni tas-sors tagħmel is-server il-mittent apparenti:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Illimita r-regola għall-pool u għall-interface tal-LAN, imbagħad agħmilha permanenti, inkella t-tagħbija mill-ġdid tal-firewall li jmiss tneħħi t-tiswija tiegħek bil-kwiet. Il-prezz hu l-identità: kull klijent jidher bħas-server tal-VPN fil-logs tal-LAN u fir-regoli tal-aċċess, u per-client policy becomes guesswork.

Rotta statika għal 10.8.0.0/24 fuq ir-router tal-LAN, li tipponta lejn is-server tal-VPN, iżżomm l-indirizzi tal-klijenti viżibbli u hija l-aħjar tweġiba fit-tul meta dak ir-router huwa tiegħek. Ħafna siti jmexxu t-tnejn għal xi żmien, NAT għat-tiswija immedjata u r-rotta ladarba l-politika tal-firewall tkun miktuba. Jekk is-server hu peer site-to-site u mhux pool, in-naħa tas-server teħtieġ ukoll iroute għas-subnet remota, altrimenti r-rotta tal-peer teżisti imma t-traffiku tal-klijenti qatt ma jiġi assoċjat magħha.

Il-ħames pass: ivverifika mill-klijent u nnota x’inbidel

Agħlaq iċ-ċiklu mill-klijent, mhux mis-server. Qabbad ma’ servizz reali fuq il-host tal-LAN, imbagħad ikkonferma li l-kontaturi tat-traduzzjoni ċċaqalqu b’iptables -t nat -L POSTROUTING -v -n, għax regola b’żero pakketti hija regola li qatt ma qabdet. conntrack -L -s 10.8.0.5 juri l-fluss u l-istat tiegħu meta għandek bżonn prova li d-direzzjoni tar-ritorn hija traċċata.

Ħalli nota fil-konfigurazzjoni tas-server: liema subnet, liema interface, liema regola, u jekk ir-router tal-LAN iġorrx rotta lura. Id-darba li jmiss meta aġġornament tal-klijent iħassar rotta imbuttata, dik in-nota tibdel sessjoni ta’ tifi tan-nar fi tiswija ta’ linja waħda.

Artikli relatati