Volltunnel-OpenVPN: en Internetausgang op der Serversäit dobäisetzen
Eng Standardroute erauszedrécken ass just d'Halschent vum Volltunnel-Service. De Server brauch och Viruleedung, eng agegrenzt Viruleedungsregel an e Wee zréck an de Pool.
E Client authentifizéiert sech, kritt eng Adress aus dem Pool a mécht d'Servicer um VPN-Host erreechbar, awer all ëffentlech Destinatioun leeft an en Timeout. Sou gesäit en Tunnel ouni Ausgang aus, an dat bleift sou, bis véier getrennte Saache richteg sinn. De Client muss eng Standardroute akzeptéieren, de Server muss viruleeden, d'Firewall muss den Transit erlaben, an d'Äntwerten brauchen e Wee zréck an de Pool. All véier Feeler deelen ee Symptom, ännert also pro Versuch eng eenzeg Saach a notéiert d'Resultat.
Dréckt d'Standardroute eraus a bestätegt, wat de Client installéiert huet
D'Linn op der Serversäit ass kuerz, an si betrëfft nëmme Clienten, déi gedréckten Optiounen akzeptéieren. D'def1-Form installéiert zwou Hallef-Standardrouten, amplaz déi existéierend Standardroute ze läschen, wat déi aktuell Verbindung lieweg hält an trotzdem all Destinatioun erfaasst.
push "redirect-gateway def1"
Liest no enger neier Verbindung d'Routingtabell vum Client, amplaz dem Profil ze vertrauen. Ënner Linux erschéngen déi zwou /1-Andräg nieft der ursprénglecher Standardroute, an Windows weist déiselwecht Puer als 0.0.0.0/1 an 128.0.0.0/1. E Client, deen déi gedréckten Optiounen ignoréiert, oder een, dee konfiguréiert ass se ofzeleenen, behält seng al Standardroute a schéckt ni Internetverkéier an den Tunnel. Kläert dës Fro, ier dir eppes um Server ännert, well keng Regel op der Serversäit dat kompenséiere kann.
Viruleedung ass eng Serverastellung, keng VPN-Astellung
Liest de Viruleedungsflag, ier dir d'Routing ufässt. Eng Null do bedeit, datt de Kernel dem Client säi Pak ugeholl huet an et refuséiert virun ze leeden, wat genee wéi e Firewall-Block vum aneren Enn ausgesäit. Setzt de Wäert iwwer de Konfiguratiounsverzeechnis vum System, sou datt en en Neistart iwwerlieft.
sysctl net.ipv4.ip_forward
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-vpn-forward.conf
sudo sysctl --system
Bestätegt duerno, datt den Host selwer eng funktionéierend Route bis zum Internetausgang huet. Eng Ufro aus der Shell vum Server beweist, datt de Wee no uewen notzbar ass, a seet absolut näischt iwwer d'Viruleedung vun engem Clientpak, also behandelt se als zwee getrennte Tester. Wann de Server d'Destinatioun net erreecht, hëlleft keng Quantitéit u Viruleedungskonfiguratioun.
Erlaabt genee deen Transit, deen dir wëllt, an soss näischt
Virugeluede Päck passéieren de forward-Wee; Verkéier, deen un den VPN-Host selwer adresséiert ass, passéiert input. Dat sinn ënnerschiddlech Entscheidungen, an de input-Wee opzemaachen erlaabt keen Transit duerch d'Maschinn. Se ze verwiesselen ass dee heefegste Grond, firwat eng Firewall alles z'erlabe schéngt, wärend d'Clienten nach ëmmer an en Timeout lafen.
Eng minimal Politik akzeptéiert nei Verbindungen aus dem Pool Richtung Ausgangsinterface an akzeptéiert Äntwerten, déi zu etabléierte Flëss gehéieren. Setzt se an de Reegelsaz-Besëtzer, deen deng Distributioun benotzt, amplaz bei all Boot eng duebel Regel unzehaangen; duebel Regele sammelen sech un an d'Zieler bedeiten näischt méi.
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
All Kette fasst op accept ze setzen, d'Test besteet an de Grond fir d'Existenz vun der Firewall fält ewech. Halt de Beräich op de Pool an de Ausgangsinterface, a loos onbetraffe Viruleedung a Rou.
Gitt den Äntwerten en Zil, wou se hikennen
D'Adresse vum Pool si privat, dofir kann en ëffentleche Server eng Äntwert net direkt dohi liwweren. Entweder iwwersetzt den VPN-Host d'Quelladress um Ausgang, oder en Apparat weider uewen huet eng Route zréck an de Pool.
sudo iptables -t nat -A POSTROUTING -s 10.90.0.0/24 -o eth0 -j MASQUERADE
Setzt genee eng Iwwersetzungsschicht dobäi. En zweet NAT méi uewen verstoppt dat éischt a mécht béid Logbicher bal notzlos, wa méi spéit eppes futt geet. Wann en Router weider uewen de Pool schonn zréckleed, ass d'Iwwersetzung um Host iwwerflësseg, an de Wee zréck hänkt dann vun der Konfiguratioun vun deem Router of amplaz vun denger.
Cloud-Instanze setzen nach en Dier dobäi, well e puer Plattformen Päck verwerfen, deenen hir Quelladress net déi vun der Instanz ass, ausser dës Kontroll gëtt gelockert. Dës Astellung läit ausserhalb vum Gaascht a gëtt liicht vergiess, wa eng lokal Testmaschinn funktionéiert.
Beweist et vum Client aus, net aus der Shell vum Server
Fänkt mat enger numerescher IPv4-Ufro un, dann en Nummopschlag, dann d'Applikatioun. E ping beweist Viruleedung an Iwwersetzung;iwwer d'Nummopsléisung beweist en näischt, well DNS-Optiounen eréischt wierken, wa Clientintegratioun se installéiert.
curl -4 -m 5 http://198.51.100.10/
dig +short example.com
Notéiert d'Ännerungen an de Réckgängeschrëtt ënnerwee, sou datt d'Ausgangspolitik mat enger eenzeger Aktioun zréckgezu ka ginn, wa en Test feelt. Dës Rezept deckt nëmmen IPv4 of; inventariséiert IPv6 separat, ier dir behaapt, d'Deployment droege géif de ganze Verkéier.