Imqabbad ma' OpenVPN imma xejn ma jitgħabba: vjaġġ mill-klijent 'il barra
It-tunnel qiegħed għaddej u l-browser għadu jdur. Mexxi mill-klijent 'il barra: żewġ qabdiet, swiċċ wieħed fil-qalba, l-interface reali tal-ħruġ, imbagħad id-DNS.
It-tieqa tal-klijent tgħid Connected, l-indirizz tat-tunnel hemm, u l-browser għadu jdur. Dan il-par jidher normali, għax handshake li jirnexxi jipprova biss li t-tunnel inbena; ma jgħid xejn dwar jekk is-server se jgħaddix il-pakketti tiegħek, jerġax jikteb l-għajn tagħhom, jew iwieġeb il-mistoqsijiet DNS tiegħek. L-iżball li jagħmlu l-biċċa l-kbira hu li jiftħu l-konfigurazzjoni tas-server l-ewwel. Mexxi minflok mill-klijent 'il barra, għax kull pass hawn taħt jgħidlek jekk dak li jmiss huwiex saħansitra ta' min jiċċekkjah.
Ibda fuq il-klijent u mexwi 'l barra
Agħmel tliet testijiet f'dan il-ordni u ikteb fejn tfalli l-ewwel waħda. Ping l-indirizz tat-tunnel tas-server, li jipprova li t-tunnel stess iġorr it-traffiku. Ping indirizz pubbliku b'numru, li jipprova t-trasferiment u t-traduzzjoni mingħajr ma jinvolvi r-riżoluzzjoni tal-ismijiet. Imbagħad ipprova ssolvi isem tal-host, li huwa l-uniku test li juża d-DNS. Kull riżultat ineħħi saff sħiħ mis-suspetti.
Aqbeżx għat-tielet test għax il-browser iħossu aktar malajr. Tagħbija ta' paġna li tfalli tkopri t-tliet saffi kollha f'daqqa, u minn hemm jibdew in-nies u mbagħad jerġgħu jibnu tunnel li kien qed jaħdem. Paġna li tfalli ma tgħidlekx liema mit-tlieta nqasam.
Żewġ qabdiet juru fejn joqogħdu l-pakketti
Waqt li ping lejn indirizz pubbliku għaddej mill-klijent, ħu qabda waħda fuq l-interface tat-tunnel u waħda fuq il-link ta' fuq li suppost jilħaq l-internet. Mexxi t-tnejn fl-istess ħin biex it-timbri tal-ħin jaqblu.
sudo tcpdump -ni tun0 -c 20 icmp
sudo tcpdump -ni enp1s0 -c 20 icmp
Jekk it-talbiet jidhru fuq it-tunnel u qatt fuq il-link ta' fuq, is-server tefagħhom bejn it-tunnel u l-wajer, u l-kawża hija t-trasferiment jew il-politika tal-firewall għat-trasferiment, mhux NAT. Jekk jidhru fuq it-tnejn, is-server għamel il-parti tiegħu u r-risposta hija nieqsa aktar 'il barra, li tindika traduzzjoni, filtru 'l fuq jew restrizzjoni mill-fornitur.
Ħu l-isem tal-link ta' fuq mit-tabella tar-routing, mhux minn tutorial. L-immaġini tal-cloud u l-adapters imsemmija mill-ġdid rari jaqblu mal-interface tal-eżempju f'gwida, u qabda meħuda fuq it-tagħmir żbaljat tidher eżattament bħal server li mhux jgħaddi:
ip -4 route get 9.9.9.9
Il-qasam dev f'dak l-output huwa l-isem li l-regola NAT se jkollha bżonn aktar tard, għalhekk żommu.
It-trasferiment huwa swiċċ tal-qalba u politika tal-firewall
Il-qalba trid taqbel li tgħaddi xejn xejn. Aqra l-valur attwali, imbagħad agħmel is-setting permanenti minflok ma tikteb biss fil-qalba li qed taħdem:
sysctl net.ipv4.ip_forward
printf 'net.ipv4.ip_forward=1\n' > /etc/sysctl.d/70-vpn-forward.conf
sysctl --system
It-trasferiment huwa biss nofs. Fuq host li juża UFW il-politika tat-trasferiment tiġi stabbilita fi /etc/default/ufw u trid tkun ACCEPT qabel ma jseħħ reload. Drop awtomatiku fil-mogħdija tat-trasferiment iħalli l-handshake perfettament f'saħħtu filwaqt li jarmi bilkwiet kull pakkett li jipprova joħroġ mit-tunnel, u dan huwa eżattament is-sintomu li bdejt bih.
Hosts li jamministraw nftables direttament għandhom l-istess mistoqsija b'sintassi oħra. Ħares lejn il-counters fuq il-katina tat-trasferiment waqt li jkun qed isir test mill-klijent, għax katina li ssirilha konsultazzjoni u katina li tarmi jidhru l-istess f'fajl ta' konfigurazzjoni.
Semmi l-interface reali tal-ħruġ fir-regola NAT
It-traduzzjoni tal-għajn tappartjeni għall-interface li verament tħalli l-host, mal-pool li s-server iqassam. Iż-żewġ nofsijiet ta' dik ir-regola jridu jiddeskrivu r-realtà, u lanqas waħda mhija fakultattiva.
iptables -t nat -A POSTROUTING -s 10.44.0.0/24 -o enp1s0 -j MASQUERADE
Il-falliment klassiku huwa regola kkopjata minn gwida li tgħid -o eth0 fuq magna li l-adapter tagħha jissejjaħ xi ħaġa oħra. Ir-regola tiġi installata mingħajr twissija, ma taqbel ma' xejn, u l-klijent xorta ma jkollux internet. Il-pool huwa n-nofs l-ieħor tal-istess żball: jekk is-server iqassam 10.44.0.0/24 u r-regola tkopri 10.8.0.0/24, xejn qatt ma se jaqbel.
Ħares lejn il-counters minflok ma tafda t-test tar-regola. Il-lista tirrapporta pakketti għal kull regola, u regola li qatt ma taqbel tibqa' fuq iż-żero kemm tidher korretta. Agħtiha minuta ta' traffiku reali tal-klijent qabel ma taqra xi ħaġa f'dak in-numru:
iptables -t nat -L POSTROUTING -v -n
Għadd ta' pakketti żero wara test reali tal-klijent ifisser li t-tqabbil huwa żbaljat, mhux li t-tunnel inqasam. Ladarba jaqbel, salv il-munita tar-regoli biex tgħaddi minn reboot; tiswija li tgħix biss fl-istorja tas-shell tiegħek tisparixxi fl-ewwel restart.
Jekk is-server huwa wkoll istanza NAT tal-cloud, il-pjattaforma wkoll għandha kelma. Istanza li tittraduċi indirizzi normalment teħtieġ il-verifika tal-għajn u tad-destinazzjoni mitfija fejn il-fornitur joffri dak is-setting, u l-port VPN stess irid ikun aċċessibbli minn barra.
Id-DNS huwa t-tieni falliment wara l-ewwel
Ping bl-indirizz li jaħdem waqt li l-ismijiet ifallu hija problema tar-resolver, u għandha l-kawża tagħha. Klijent li jżomm ir-resolver lokali tiegħu jibgħat dawk il-mistoqsijiet f'tunnel sħiħ u jistenna tweġiba li qatt ma tiġi, għax ir-resolver lokali issa jinsab fuq in-naħa żbaljata tar-rotta.
Imbotta resolver mis-server biex il-klijent ikun jaf fejn jistaqsi. Żewġ entrati jagħtu lill-klijent alternattiva jekk l-ewwel waħda ma tintlaħaqx, u t-tnejn għandhom ikunu resolvers li t-tunnel verament jippermetti.
push "dhcp-option DNS 9.9.9.9"
push "dhcp-option DNS 149.112.112.112"
Il-klijenti Windows imbagħad jistgħu xorta jaqgħu lura għar-resolver lokali, u dan huwa eżattament dak li block-outside-dns jeżisti biex jipprevjeni, bi prezz li jintilfu ismijiet li tista' ssolvi biss in-netwerk lokali. Il-klijenti Linux b'systemd-resolved spiss jinjoraw resolver imbuttat sakemm skript ma jinstallahx, għalhekk iċċekkja resolvectl status għat-tagħmir tat-tunnel qabel ma tikkonkludi li l-imbuttar ġie injorat.
Iffinalizza l-vjaġġ kif jesperjenzah utent. Tgħabbi paġna reali mill-klijent, ikkonferma l-indirizz li minnu toħroġ, erġa' ibda s-server, erġa' qabbad u erġa' agħmel it-tliet testijiet. Dak it-tieni dawra biss jipprova li r-regoli salvati, il-politika tal-firewall u r-resolver imbuttat kollha għaddew flimkien.