Getrennten Ausgang: VPN-Pool op usb0, Gateway-Verkehr op eth0
Weidergeleet VPN-Clienten kënnen iwwer usb0 erausgoen, während de Gateway seng eth0-Standardroute behält. Baut eng komplett ausgewielten Tabell a maacht dann datt de Feeler zoumaacht amplaz ze lecken.
D'Clienten verbannen sech a authentifizéieren sech, an duerno geet hiren Traffic iwwer de falschen Uplink eraus, well déi eenzeg Standardroute um Apparat zum Gateway selwer gehéiert. Dës Standardroute ersetzen géif dem Apparat seng eege Updater an de Management-Zougang briechen, dofir muss d'Auswiel méi schmuel sinn wéi «all den Traffic». D'Form déi funktionéiert ass eng Politik-Regel déi op der banneschter Quelladress vum Client-Pool baséiert an op eng zweet Routing-Tabell weist déi de alternativen WAN huet. Vun do un geet et an der Checklist ëm Vollständigkeit a Verhalen beim Feeler, net ëm d'Regel selwer.
Bestätegt datt d'Quelladress bis zur Routing-Entscheedung iwwerliewt
Eng Politik-Regel déi op en Quellberäich passt, léist nëmme wann de Pak dës Quell zum Zäitpunkt vum Nokucken nach dréit. Weidergeleet Client-Traffic mécht dat, soulaang uewen nach näischt en virum Routing ëmgeschriwwen huet. Traffic dee vum Gateway selwer generéiert gëtt, mécht dat net, an dofir kann dem Gateway seng eege Standardroute bleiwen wou se ass.
Hei féieren lokal Tester an d'Ierr. En curl deen um Gateway lafe gelooss gëtt, ass en lokal generéierte Floss mat der Adress vum Gateway, also hëlt en d'Haapttabell a beweist näischt iwwer de Client-Wee. Test vun engem verbonnenen Client, oder generéiert Traffic mat enger Quell déi wierklech zum Pool gehéiert.
Fänkt un andeems Dir déi richteg Wäerter op schreift: de Pool-Prefix, den Tunnelinterface deen en dréit, d'Adress an den nächsten Hop vum zweeten WAN, an d'Tabellnummer déi Dir wëllt benotzen. Läscht déi al Regele vun all fréiere Versuch ier Dir nei derbäi setzt, well duebel Regele mat ënnerschiddleche Prioritéiten zu Feeler féieren déi zoufälleg ausgesinn.
Baut eng ausgewielten Tabell déi komplett ass
Eng Tabell ass keng Standardroute mat engem Frënd. Si brauch genuch Ruten datt all Nokucken an hirem bannenzeg opgeléist gëtt, och d'verbonnen Rut fir de WAN-Subnetz sou datt den nächsten Hop erreechbar ass. Fir e Pool vun 10.77.0.0/24 op tun1, eng WAN-Adress vun 203.0.113.20/24 mat nächstem Hop 203.0.113.1, an d'Tabell 600:
ip -4 route replace 203.0.113.0/24 dev usb0 src 203.0.113.20 table 600
ip -4 route replace 10.77.0.0/24 dev tun1 table 600
ip -4 route replace default via 203.0.113.1 dev usb0 table 600
ip -4 rule add priority 1500 from 10.77.0.0/24 lookup 600
D'Regel sëtzt op enger Prioritéit ënner all existéierender Fang-all-Regel, dofir treffen déi passend Clienten d'Tabell 600 als éischt an alles anescht fält an d'Haapttabell duerch. D'ip-rule-Referenz beschreift dat geuerdert Nokuck-Modell an d'Selektor-Syntax vollstänneg.
Denkt dann drun wat d'Tabell net enthält. En Zil dat nëmmen an der Haapttabell eng Rut huet, wéi en Management-Subnetz dat iwwer eth0 erreechbar ass, gëtt net an der Tabell 600 fonnt a fält net op d'Haapttabell zréck wann do eng Standardroute existéiert. Wann déi Weeër wichteg sinn, setzt se ausdrécklech an déi ausgewielten Tabell, wat normalerweis déi richteg Äntwert fir eng VPN-Ausgangstabell ass.
Halt dem Lauschterer säin eegenen Traffic aus der Politik
Den OpenVPN-Lauschterer huet seng eege baussenzeg Verbindung, déi iwwer dee Uplink gedroe gëtt iwwer deen de Client en erreecht huet. Dee Traffic muss de Retourwee behalen mat deem en ukomm ass, an eng breet Regel déi d'ëffentlech Adress vum Server oder de ganzen Tunnelinterface deckt, kann en an déi alternativ Tabell zéien. Beschränkt d'Regel op de banneschten Pool an op näischt anescht.
D'Filtere vum Retourwee verdéngt aus demselwe Grond en Bléck. Wann Äntwerten un d'Clienten iwwer usb0 erausgoen wärend d'Ufro iwwer eng aner Verbindung ukomm ass, kann eng streng rp_filter-Astellung Päck verworf déi d'Routing-Politik als gülteg betruecht. Kontrolléiert déi effektiv sysctl-Wäerter op béiden Interface ier Dir schléisst datt d'Regel versot huet.
D'Reiefolleg ass och wichteg par rapport zu allem anescht um Apparat. Docker-Brécken, en zweeten VPN an all existéierend Regele vun engem Provider-Image ginn all Prioritéiten derbäi, also liest déi komplett Regellëscht amplaz unzehuelen datt d'Prioritéit 100 eleng steet.
Maacht datt d'Weiderleeden an d'Iwwersetzen mat der Rut iwwerenee stëmmen
Routing wielt en Uplink; et gëtt keng Erlaabnes fir weiderzeleeden. De Kernel muss IPv4-Weiderleeden aktivéiert hunn, an d'Firewall muss d'Richtung vum Client op de WAN an den Retour-Traffic akzeptéieren. Eng korrekt Tabell mat enger FORWARD-Kette déi de Floss verwërft, gëtt déiselwecht Symptomer wéi eng feelend Rut, dofir ginn béid am selwechte Passage kontrolléiert.
Wann den zweeten WAN e private Pool net zréck op Iech routet, iwwersetzt d'Quell op deem Ausgang. Fir en Interface mat enger dynamescher Adress ass eng schmuel masquerade-Regel beschränkt op de Pool an den Interface déi üblech Wiel:
iptables -t nat -A POSTROUTING -s 10.77.0.0/24 -o usb0 -j MASQUERADE
Den Ëmfang ass hei méi wichteg wéi d'Zil. Eng masquerade-Regel déi op all erausgoenden Interface passt, schreift och Traffic ëm dee korrekt iwwer eth0 erausgeet, an dat verstoppt Routing-Feeler amplaz se ze reparéieren. D'Iwwersetzung laft nom Routing-Entscheed, also kann se ni e Pak reparéieren dee fir de falschen Uplink geschéckt gouf.
Den Tunnel-Overhead brauch och Opmierksamkeet soubal d'Weeër sech ënnerscheeden. Wann d'Clienten eng grouss TCP-MSS ausmaachen an den alternativen WAN eng méi niddereg MTU oder en Tunnel dobannen huet, stoppen grouss Segmenter während kleng funktionéieren. MSS um Weiderleet-Wee klemmen mécht doraus en viraussoen Verhalen amplaz vun engem ënnerbrach Hangen.
Entscheet wat geschitt wann usb0 verschwënnt
Eng eidel Tabell ass keen Zoustand dee beim Feeler zoumaacht. Wann déi passend Rut verschwënnt, geet d'Nokucken op déi nächst Regel weider, erreecht d'Haapttabell an hëlt d'eth0-Standardroute. Traffic deen iwwer den zweeten WAN sollt erausgoen, geet roueg iwwer den éischten eraus, wat fir eng politik-geroutet Installatioun normalerweis dat Resultat ass dat Dir am mannsten wëllt.
Wou dee Réckfall net akzeptabel ass, setzt eng ausdrécklech Terminal-Rut an d'Tabell 600, wéi eng blackhole-Standardroute, oder verwerft de Pool an der Firewall während den Interface erof ass. Béid Méiglechkeete sinn eng Entscheedung déi Dir opschreiwe kënnt; d'Schwäigen ass et net.
D'Persistenz ass de leschten Punkt. Wien och ëmmer béid Linken huet, ob et den Netzwierkmanager, en Dispatcher-Skript oder de Liewenszyklus vun der Verbindung ass, muss d'Ruten an d'Regel bei all Neiverbindung nei uleeën ouni Duplikater derbäizesetzen. Iwwerpréift mat enger Ufro vun engem richtege Client an enger separater Ufro vum Gateway, bestätegt den observéierten Ausgang bei béiden, zitt dann den zweeten WAN eraus a kuckt wéi ee vun den zwee entworfene Resultater tatsächlech optrëtt. IPv6 brauch seng eege Tabell, Regel an Iwwersetzung; d'IPv4-Regel uewen seet näischt doriwwer.