Foltunnel-OpenVPN: foegje in ynternetútgong ta oan 'e tsjinnerkant
In standertrûte drukke is mar de helte fan 'e foltunnettsjinst. De tsjinner hat ek trochstjoering, in beheinde trochstjoerregel en in werompaad foar de pool nedich.
In klant autentisearret, krijt in adres út de pool en berikt tsjinsten op de VPN-host, mar elke publike bestimming rint op in time-out. Sa sjocht in tunnel sûnder útgong derút, en sa bliuwt it oant fjouwer aparte dingen wier binne. De klant moat in standertrûte akseptearje, de tsjinner moat trochstjoere, de firewall moat de trochgong tastean, en antwurden hawwe in paad werom nei de pool nedich. Alle fjouwer flaters diele ien symptoom, feroarje dus ien item per besykjen en notearje it resultaat.
Druk de standertrûte en befêstigje wat de klant ynstallearre hat
De rigel oan tsjinnerkant is koart, en hy beynfloedet allinnich klanten dy’t tawiisde opsjes akseptearje. De def1-foarm ynstallearret twa heal-standertrûtes ynstee fan de besteande standert te wiskjen, wat de hjoeddeiske ferbining libben hâldt wylst elke bestimming noch altyd fêstlein wurdt.
push "redirect-gateway def1"
Lês nei it opnij ferbinen de rûtetabel fan de klant ynstee fan it profyl te fertrouwen. Op Linux ferskine de twa /1-ynskriuwingen njonken de oarspronklike standert, en Windows toant itselde pear as 0.0.0.0/1 en 128.0.0.0/1. In klant dy’t tawiisde opsjes negearret, of ien dy’t ynsteld is om se te wegerjen, hâldt syn âlde standert en stjoert nea ynternetferkear de tunnel yn. Beslis dy fraach foardat jo wat op de tsjinner feroarje, want gjin regel oan tsjinnerkant kin dat goedmeitsje.
Trochstjoeren is in tsjinnerynstelling, gjin VPN-ynstelling
Lês de trochstjoerflagge foardat jo oan routing komme. In nul dêre betsjut dat de kernel it pakket fan de klant ûntfangt en wegert it troch te stjoeren, wat der krekt as in firewallblokkade fan de oare kant út sjocht. Set de wearde fia de konfiguraasjemap fan it systeem sadat it in werstart oerlibbet.
sysctl net.ipv4.ip_forward
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-vpn-forward.conf
sudo sysctl --system
Befêstigje dêrnei dat de host sels in wurkjende rûte nei de ynternetútgong hat. In oanfraach út 'e shell fan de tsjinner bewissiget dat it opstreampaad brûkber is en seit hielendal neat oer it trochstjoeren fan in pakket fan in klant, behannelje se dus as twa aparte tests. As de tsjinner de bestimming net berikke kin, sil gjin inkelde hoemannichte trochstjoerkonfiguraasje helpe.
Stean krekt de trochgong ta dy’t jo bedoele, en neat oars
Trochstjoerde pakketten kruse it forward-paad; ferkear rjochte op de VPN-host sels krúst input. Dat binne aparte besluten, en it iepenjen fan it input-paad stiet gjin trochgong troch de masine ta. Se trochinoar helje is de meast foarkommende reden dat in firewall liket alles ta te stean wylst klanten noch altyd yn in time-out rinne.
In minimaal belied akseptearret nije ferbiningen fan de pool nei de útgongsynterface en akseptearret antwurden dy’t by festige streamen hearre. Set it yn 'e eigner fan 'e regelset dy’t jo distribúsje brûkt, ynstee fan by elke opstart in dûbele regel ta te foegjen; dûbele regels sammelje har op en de tellers betsjutte neat mear.
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
Elke keatling op aksept sette lit de test slagje en hellet de reden fuort wêrom't de firewall bestiet. Hâld it berik by de pool en de útgongsynterface, en lit net-relatearre trochstjoering gewurde.
Jou de antwurden in plak om hinne te gean
Pooladressen binne privee, dus in publike tsjinner kin in antwurd net streekrjocht by har besoargje. Of de VPN-host set it boarneadres om op 'e wei nei bûten, of in apparaat streamop hâldt in rûte werom nei de pool.
sudo iptables -t nat -A POSTROUTING -s 10.90.0.0/24 -o eth0 -j MASQUERADE
Foegje krekt ien oersettingslaach ta. In twadde NAT fierder streamop ferberget de earste en makket beide logs hast nutteloas as letter wat brekt. As in router streamop de pool al weromrûtet, is oersetting op de host oerstallich, en it werompaad hinget dan ôf fan 'e konfiguraasje fan dy router ynstee fan fan dyn.
Cloud-eksimplaren foegje noch in poarte ta, om't guon platfoarms pakketten fuortsmite wêrfan't it boarneadres net fan it eksimplaar is, útsein as dy kontrôle fersêfte wurdt. Dy ynstelling sit bûten de gast en is maklik te ferjitten as in lokale testmasine wurket.
Bewiis it fan de klant ôf, net fan 'e shell fan de tsjinner
Begjin mei in numerike IPv4-oanfraach, dan in namsesykjen, dan de applikaasje. In ping bewissiget trochstjoering en oersetting;hy bewissiget neat oer namme-oplossing, om't DNS-opsjes pas wurkje as de klantyntegraasje se ynstallearret.
curl -4 -m 5 http://198.51.100.10/
dig +short example.com
Notearje de feroaringen en de weromsetstap wylst jo dwaande binne, sadat it útgongsbelied by in mislearre test yn ien aksje weromdraaid wurde kin. Dit resept beslacht allinnich IPv4; ynventarissearje IPv6 apart foardat jo beweare dat de útrôljen al it ferkear draacht.