Béid Designs schützen deeselwechten Trafik mat deeselwechter IPsec-Maschinn, an si ënnerscheede sech doran, wat entscheet, wéi ee Pak an den Tunnel kënnt. An enger politikbaséierter Verbindung maachen déi ausgehandelt Trafikselektoren déi Aarbecht; an enger routbaséierter mécht et eng Route, déi op en Tunnelinterface weist. Sech déi zwou ze verwiesselen erzeugt de bekannten Support-Thread, an deem den Tunnel sech als opgeriicht mellt, während d'Applikatioun näischt erreecht. Den Ënnerscheed ass am wichtegsten, wann Dir en Netz derbäisetze wëllt, e Routingprotokoll bedreift oder e Wee debuggt, dee roueg duerch den falschen Ausgang verschwënnt.

Zwee Weeër ze entscheeden, wat an den Tunnel kënnt

En politikbaséierte VPN baut eng Sécherheetspolitik op, déi op Quell- an Zilprefixer passt, an verschlësselt dann alles, wat passt. De Partner muss kompatibel Selektoren aushandelen, sou datt de effektive Beräich am Endeffekt de Schnëtt vun deem ass, wat béid Säiten proposéiert hunn. Näischt ausserhalb vun deem Schnëtt ass geschützt, egal wat d'Routingtabelle seet.

En routbaséierte VPN erstellt en Interface, deen den Tunnel duerstellt, a léisst d'Routingtabelle Trafik dran schécken. Den IKE-Daemon installéiert nach ëmmer den Zoustand an d'Politik pro Interface, an dat ass de Detail, dee Leit iwwersprangen, wa se entscheeden, datt Routen d'Verschlësselung ersat hunn. Béid Designs verschlësselen mat IPsec; just de Selektiounsmechanismus ënnerscheet sech.

Liest de Verglach hei drënner als eng Rei vu Feelerzeeche a net als eng Punktebelle, well keng Kolonn fir sech eleng gewënnt.

AspectPolicy-basedRoute-based
What selects trafficNegotiated selectorsA route into the tunnel interface
Adding a networkEdit selectors on both peersAdd a route, widen the selector once
Dynamic routingAwkward to run over the tunnelRuns over the interface directly
Typical failureTunnel up, host outside the selectorTunnel up, no route or wrong source

Politikbaséiert: de Selektor ass de Kontrakt

Selektoren ginn ausgehandelt, net nëmmen agestallt. Proposéiert 10.10.0.0/16 op enger Säit an 10.10.1.0/24 op der anerer, an d'Assoziatioun deckt dat, wat d'Aushandlung festgeluecht huet, während all aneren Host dobaussen bleift.

Liest den installéierte Zoustand anstatt d'Konfiguratiounsdatei. Bei engem Linux-Partner sinn d'Tabellen vum Kernel selwer d'Grondwahrheet, an si weisen, wat d'Aushandlung iwwerlieft huet. Eng Politik, déi déi richteg Prefixer nennt ouni passenden Zoustand, heescht, datt d'Assoziatioun ni eropgaange war. Zoustand gepaart mat enger Politik fir de falsche Prefix ass de Géigendeel, an en erzeugt den Tunnel, dee gesond ausgesäit, während een Subnetz näischt erreecht.

sudo ip xfrm state
sudo ip xfrm policy
sudo swanctl --list-sas

Vergläicht béid Ausgänge mat de Prefixen, déi Dir mengt ze schützen. Dee eenzege Verglach léist déi meescht Rapporten iwwer en funktionéierenden Tunnel mat engem onereechbaren Server. En weist och, wéi ee Partner geännert soll ginn, well d'Diskrepanz meeschtens nëmmen an enger Richtung ze gesinn ass.

Routbaséiert: den Interface ass de Kontrakt

En XFRM-Interface gëtt dem Tunnel en Numm an eng Identitéit, an den Trafik erreecht en, well d'Routingtabelle et seet. E puer wäit ewech Prefixer ginn dann e Routingproblem anstatt e Selektorproblem, an e Routingprotokoll kann se annoncéieren. Dat ass de richtege Gewënn, net d'Verschlësselung.

Den Interface hëlt d'Noutwendegkeet vun enger Politik net ewech. Den Daemon installéiert Regele pro Interface, déi un d'Interface-Identitéit gebonne sinn, sou datt e Pak, deen um falschen Interface ukënnt, nach ëmmer feelt. Eng Quelladress, déi de Partner net akzeptéiert, feelt och, och mat enger perfekter Route. Routbaséiert heescht, datt d'Route den Agang entscheet, net datt d'Politik verschwonnen ass.

sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip route add 10.20.0.0/16 dev xfrm0
ip -s link show xfrm0
ip route get 10.20.5.10

Beobacht d'Interface-Zieler, soubal d'Route stoet. Eng Route, déi existéiert, während d'Zieler op Null bleiwen, heescht, datt näischt an den Tunnel agepasst gëtt, wat meeschtens op e fehlenden Zoustand hindeit an net op eng fehlend Route.

Wou déi zwou Designs wierklech ausernee ginn

En Netz derbäisetzen ass de proppersten Test, wéi ee Modell Iech passt. En routbaséierten Design setzt eng Route derbäi an erweidert de Selektor héchstens eemol, während en politikbaséierten Design Prefixpaaren op béide Partner ännert an nei ausgehandelt. Zwee stabil Subnetzer maachen déi Ännerung trivial, an zwanzeg maachen e Projet draus.

Kee vun de Modeller ersetzt eng Firewall, an d'Vergläicher halen normalerweis virun dësem Punkt un. En breeden Selektor oder eng breet Route entscheet, wat verschlësselt gëtt, net wat erlaabt ass.

D'MTU-Verhalen ënnerscheet sech an der Praxis och. D'Encapsulation réduiséiert d'notzbar Charge, an en routbaséierten Interface dréit seng eege MTU, sou datt d'MSS-Klamp op béiden Gateways de Blackhole-Symptom vermeit, bei deem kleng Äntwerten ukommen an déi grouss verschwannen. Politikbaséiert Tunnele stoussen op déiselwecht Mauer vun der anerer Säit, well e Selektor näischt iwwer d'Pakgréisst seet. Setzt d'Klamp bewosst, anstatt de Partner ze beschëllegen.

Migréiere ohne de Retourwee ze verléieren

Schreift déi existéierend Prefixpaaren op, ier Dir eppes ännert, bewegt dann ee Applikatiounswee an beobacht en Enn-zu-Enn. En Tunnel, deen sech opriicht, ass keen Tunnel, deen weiderleet, an den Ënnerscheed weist sech an der Richtung vun der Äntwert.

Wann d'Partner sech verbannen, awer LAN-Hoste net, iwwerpréift d'Retourroute an d'Quelladress, déi den wäiten Host benotze wäert. E Host mat zwee Interfaces kann vum falschen äntweren, an keng Selektoriännerung reparéiert dat. Fänkt Trafik op béiden Enner un, ier Dir Algorithmen ännert.

ip route get 10.20.5.10
sudo tcpdump -ni any host 10.20.5.10 and icmp
sudo swanctl --list-conns

Halt e Verwaltungswee fräi, deen net vum Tunnel ofhängt, während Dir schafft. Zréckrollen ass méi einfach, wann den eegenen Zougang vum Gateway net op der Verbindung reit, déi Dir debuggt.

Ähnlech Artikelen