OpenVPN b'mina sħiħa: żid ħruġ tal-internet fuq in-naħa tas-server
Li timbotta rotta default hija biss nofs is-servizz tal-mina sħiħa. Is-server jeħtieġ ukoll għoti 'l quddiem, regola ta' għoti 'l quddiem limitata u triq lura għall-pool.
Klijent jawtentika ruħu, jirċievi indirizz mill-pool u jilħaq is-servizzi fuq il-host VPN, iżda kull destinazzjoni pubblika tispiċċa f'timeout. Hekk jidher mina mingħajr ħruġ, u hekk jibqa' sakemm erba' affarijiet separati jkunu veri. Il-klijent irid jaċċetta rotta default, is-server irid jgħaddi 'l quddiem, il-firewall irid jippermetti t-transitu, u t-tweġibiet jeħtieġu triq lura lejn il-pool. L-erba' fallimenti kollha għandhom sintomu wieħed, għalhekk ibdel oġġett wieħed kull prova u noti r-riżultat.
Imbotta r-rotta default u kkonferma x'installa l-klijent
Il-linja fuq in-naħa tas-server hija qasira, u taffettwa biss klijenti li jaċċettaw għażliet imbuttati. Il-forma def1 tinstalla żewġ nofs rotot default minflok tħassar id-default eżistenti, li żżomm il-konnessjoni attwali ħajja filwaqt li xorta taqbad kull destinazzjoni.
push "redirect-gateway def1"
Wara li terġa' tikkonnettja, aqra t-tabella tal-irrotar tal-klijent minflok toqgħod fuq il-profil. Fuq Linux iż-żewġ entrati /1 jidhru ħdejn id-default oriġinali, u Windows juri l-istess par bħala 0.0.0.0/1 u 128.0.0.0/1. Klijent li jinjora l-għażliet imbuttati, jew wieħed konfigurat biex jirrifjutahom, iżomm id-default antik tiegħu u qatt ma jibgħat traffiku tal-internet fil-mina. Issolvi din il-kwistjoni qabel ma tbiddel xi ħaġa fuq is-server, għax ebda regola fuq in-naħa tas-server ma tista' tikkumpensa.
L-għoti 'l quddiem huwa sett tas-server, mhux sett tal-VPN
Aqra l-bandiera tal-għoti 'l quddiem qabel ma tmiss l-irrotar. Żero hemmhekk ifisser li l-kernel jirċievi l-pakkett tal-klijent u jirrifjuta li jgħaddih 'l quddiem, li jidher eżattament bħal blokk tal-firewall mit-tarf 'il bogħod. Issettja l-valur permezz tad-direttorju tal-konfigurazzjoni tas-sistema biex jibqa' wara rikostruzzjoni.
sysctl net.ipv4.ip_forward
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-vpn-forward.conf
sudo sysctl --system
Sussegwentement, ikkonferma li l-host innifsu għandu rotta li taħdem lejn il-ħruġ tal-internet. Talba mill-qoxra tas-server tipprova li t-triq 'il fuq hija użabbli u ma tgħid xejn dwar l-għoti 'l quddiem tal-pakkett ta' klijent, għalhekk ittrattahom bħala żewġ testijiet separati. Jekk is-server ma jistax jilħaq id-destinazzjoni, ebda ammont ta' konfigurazzjoni tal-għoti 'l quddiem ma jgħin.
Ippermetti eżatt it-transitu li biħsiebek, u xejn ieħor
Pakketti mgħoddija 'l quddiem jaqsmu t-triq forward; traffiku indirizzat lill-host VPN innifsu jaqsam input. Dawn huma deċiżjonijiet distinti, u l-ftuħ tat-triq input ma jippermettix transitu mill-magna. It-taħlit tagħhom huwa l-aktar raġuni komuni għaliex firewall jidher li jippermetti kollox filwaqt li l-klijenti xorta jispiċċaw f'timeout.
Politika minima taċċetta konnessjonijiet ġodda mill-pool lejn l-interface tal-ħruġ u taċċetta tweġibiet li jappartjenu għal flussi stabbiliti. Poġġiha f'dak is-sid tas-sett ta' regoli li tuża d-distribuzzjoni tiegħek, minflok ma żżid regola duplikata f'kull boot; regoli duplikati jakkumulaw u l-counter ma jibqgħux ifissru xejn.
sudo iptables -A FORWARD -i tun0 -o eth0 -s 10.90.0.0/24 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Li tbiddel kull katina għal aċċetta jagħmel it-test jgħaddi u jneħħi r-raġuni għaliex jeżisti l-firewall. Żomm l-ambitu fuq il-pool u l-interface tal-ħruġ, u ħalli l-għoti 'l quddiem mhux relatat kif inhu.
Agħti lit-tweġibiet post fejn imorru
L-indirizzi tal-pool huma privati, għalhekk server pubbliku ma jistax iwassal tweġiba lilhom direttament. Jew il-host VPN jittraduċi l-indirizz tas-sors fil-ħruġ, jew apparat 'il fuq iżomm rotta lura lejn il-pool.
sudo iptables -t nat -A POSTROUTING -s 10.90.0.0/24 -o eth0 -j MASQUERADE
Żid eżattament saff wieħed ta' traduzzjoni. It-tieni NAT aktar 'il fuq jaħbi l-ewwel u jagħmel iż-żewġ logs kważi inutli meta xi ħaġa tinkiser aktar tard. Jekk router 'il fuq diġà jrotta l-pool lura, iż-żieda ta' traduzzjoni fuq il-host hija żejda, u t-triq lura mbagħad tiddependi mill-konfigurazzjoni ta' dak ir-router u mhux tiegħek.
L-istanzi tal-cloud iżidu daħla oħra, għax xi pjattaformi jarmu pakketti li l-indirizz tas-sors tagħhom mhuwiex tal-istanza sakemm ma jitħallix dak il-kontroll. Dik is-setting tinsab barra mill-mistieden u hija faċli tinseha meta magna tal-prova lokali taħdem.
Ipprova dan mill-klijent, mhux mill-qoxra tas-server
Ibda b'talba IPv4 numerika, imbagħad tfittxija ta' isem, imbagħad l-applikazzjoni. ping jipprova l-għoti 'l quddiem u t-traduzzjoni;ma jipprova xejn dwar ir-riżoluzzjoni, għax l-għażliet DNS jidħlu fis-seħħ biss meta l-integrazzjoni tal-klijent tinstallahom.
curl -4 -m 5 http://198.51.100.10/
dig +short example.com
Noti l-bidliet u l-pass tal-annullament waqt li tmur, biex il-politika tal-ħruġ tkun tista' tiġi rijvertita b'azzjoni waħda meta test ifalli. Dan ir-riċetta jkopri biss IPv4; inventarja IPv6 separatament qabel ma tgħid li l-varar iġorr it-traffiku kollu.