En vollënnigen Tunnel am strongSwan brauch 0.0.0.0/0 op béide Säiten
En vollënnigen Tunnel brauch 0.0.0.0/0 als remote_ts vum Client an als local_ts vum Gateway, plus Weiderleedung, NAT an eng Retourroute. Iwwerpréift all véier.
Eng strongSwan-Verbindung, déi fir en eenzelt privat Subnetz funktionnéiert, iwwerdréit keen Internettrafic just well een eng eenzeg Zeil geännert huet. En vollënnigen Tunnel ass eng Ofmachung tëscht zwee Peers doriwwer, wéi eng Adressen déi child SA schützt, an all Peer nennt déi aner Säit par rapport zu sech selwer. Maacht eng Säit richteg an déi aner falsch, an déi child SA kënnt entweder net erop oder kënnt méi schmuel erop wéi virgesinn. Déi fënnef Iwwerpréiwungen hei drënner verfollegen déi Ofmachung vum Client, duerch de Gateway, bis an den Internet.
Iwwerpréift als éischt de Selekt vum Client
De Client beschreift, wat hien op der wäiter Säit schütze wëll, als remote_ts, an alles wat hie schéckt, kënnt vun senger eegener zougewisener Adress. Fir Internettrafic muss dëse Wäert d'Destinatiounen decken, déi de Benotzer tatsächlech erreecht, wat praktesch de ganzen IPv4-Raum bedeit. En Client, dee nach ëmmer ee Subnetz oplëscht, freet en opgedeelten Tunnel un, wéi och ëmmer de Profil an der Interface heescht. D'Quellsäit ass meeschtens dynamic, well d'Adress beim Verbannen zougewisen gëtt. Eng fest Quell, déi do steet, brécht soubal de Pool sech ännert.
children {
net {
local_ts = dynamic
remote_ts = 0.0.0.0/0
}
}
D'Fragment ass keng komplett Verbindungsdatei, an dës geet dovun aus, datt Authentifizéierung, Identitéiten an de Pool vu virtuelle Adressen schonn konfiguréiert sinn. De Quellselekt vum Client an d'Adress, déi de Server zouweist, mussen nach ëmmer iwwerenee stëmmen, soss kënnt déi child SA mat engem Ëmfang erop, deen keng Säit erwaart huet. Luet en mat swanctl --load-all a liest d'Ausgab, ier Dir Succès unhëlt. Eng Datei, déi sech parsen léisst, ka nach ëmmer wéinst engem Selekt refuséiert ginn, deen sech net mam Virschlag vum aneren Peer iwwerschneit.
Iwwerpréift de Selekt vum Gateway op senger eegener Säit
De Gateway liest dee selwechte Konzept aus der Géigendrichtung. Internetdestinatioune si lokal fir de Gateway, also ass säi local_ts dee breet an säi remote_ts beschreift de Clientpool. Dës Ëmkeerung ass dee heefegste Feeler an enger Volltunnel-Konfiguratioun, an en iwwersteet d'Iwwerpréiwung, well béid Zeilen eenzel plausibel ausgesinn.
children {
rw {
local_ts = 0.0.0.0/0
remote_ts = 10.77.0.0/24
}
}
D'Fragment vum Client an d'Gateway-Datei kopéieren ergëtt e Selektpaar, dat näischt Nëtzleches beschreift, well béid Säiten déiselwecht Roll behaapten. Den strongSwan-Weiderleedungsleitfaden dokumentéiert d'Paarung vu Client a Gateway ausdrécklech, an et ass derwäert, en nieft der Verbindungsdatei ze liesen an net no der Ausfaellung. D'Gateway-Datei brauch och d'Definitioun vum Pool, op deen remote_ts verweist. E Selekt, deen en net existéierende Pool nennt, luede sech ouni Beschwéierde a schléit beim Verbannen feel.
Den eelere ipsec.conf benotzt lénks a riets Rolle mat verschiddenen Schlësselen, an eng rightsubnet-Zeil ass keen direkte Ersatz fir de swanctl-Wäert. Halt déi zwou Syntaxen an getrennten Dateien, amplaz déi eng an déi aner ze pechen. Se an engem Verzeechnis ze mëschen ass de Wee, wéi eng funktionéierend Verbindung no engem Neistart stëll zréckfält.
Iwwerpréift déi ausgehandelt child SA, net d'Datei
Eng gespaichert Konfiguratioun beweisegt d'Absicht an näischt méi. En Peer kann dat Gefrot verengen, an eng existéierend child SA gëtt net ersat just well d'Datei drënner sech geännert huet. Bestätegt, wat tatsächlech installéiert ass, ier Dir eppes anescht ännert.
swanctl --list-conns
swanctl --list-sas
ip xfrm policy list
Den éischte Kommando weist, wat den Daemon gelueden huet, den zweeten déi etabléiert child SA'en, an den drëtten d'Richtlinien, déi de Kernel uwende wäert. Wann d'Datei 0.0.0.0/0 seet an d'Lëscht ee Subnetz weist, huet d'Verhandlung den Ëmfang verengt, an d'Datei nach eng Kéier ze liesen erkläert dat net. Beendegt d'child, start se nei a vergläicht all dräi Ausgaben nach eng Kéier. Eng child, déi mat demselwechte schmuele Ëmfang zréckkënnt, gëtt vun der wäiter Säit verengt an net vun der lokaler Datei, an dat ass e Gespräch mam aneren Administrateur amplaz enger lokaler Ännerung.
Liest béid Richtungen an der Richtlinnenlëscht, well en Tunnel, deen eng Richtung installéiert an déi aner net, e Routingproblem a Konfigurationskostüm ass. D'Vir- an Zréckrichtlinne sollen déiselwecht Selektpaar am Spigelbild nennen, an e fehlende Spigel ass e Feeler am Daemon oder am Virschlag an net am Selektstext.
Iwwerpréift d'Weiderleedung an d'Retourroute
E Selekt erlaabt Trafic zum Gateway, awer en bréngt de Gateway net dozou, deen Trafic weider ze router. D'Weiderleedung muss aktivéiert sinn, d'Firewall muss de Floss erlaben, an d'Äntwert muss de Wee zréck an de Clientpool fannen. Dat sinn dräi getrennt Ufuerderungen, an all eenzel schléit mat engem anere Symptom feel. Eng fehlend Weiderleedungsregel verhält sech wéi e schwaarzt Lach, wärend eng fehlend Retourroute sech wéi en Een-Wee-Tunnel verhält.
sysctl net.ipv4.ip_forward
iptables -t nat -S | grep -i masq
ip route get 1.1.1.1
Privat Clientadressen brauchen normalerweis eng bewosst Quelltranslatatioun, ier se eng ëffentlech Interface verloossen, wärend eng explizit geroutete Zouweisung eng aner Behandlung brauch. Wann NAT am Spill ass, behält d'Ënnerstëtzung vun der Implementatioun fir Ausnamen, sou datt Trafic, deen eng Sécherheetsrichtlinn iwwerpréiwe soll, net drun laanscht translatéiert gëtt. Eng breet Masquerade-Regel, déi vun engem anere Gateway kopéiert gouf, ännert vill méi Flëss wéi hire Auteur geduecht huet. Schreift d'Regel nëmme fir de Clientpool a loosst e Kommentar, firwat se existéiert.
Um Client bestätegt déi Rutten, déi de Backend installéiert huet, an net déi, déi Dir ugeholl hutt. En Manager mat desaktivéierter Rutteninstallatioun brauch en handgeschaaften Routingdesign, an deen Design muss aktualiséiert ginn, wann den Tunnel sech ännert. Iwwerpréift d'Routingtabell no enger Reconnectioun, net nëmmen no engem frëschen Start.
Iwwerpréift, wat den Tunnel nach ëmmer net deckt
D'Selektpaar deckt IPv4 an näischt anescht. IPv6, DNS an all Richtlinn op Applikatiounsniveau sinn getrennt Entscheidungen, déi en breeden IPv4-Selekt stëll ignoréiert. En Tunnel, deen all IPv4-Paket dréit, kann nach ëmmer all Namsouch lecken.
Nennt de geplangten DNS-Wee ausdrécklech, well en vollënnigen Tunnel, deen Nimm nach ëmmer iwwer de lokale Resolver opléist, Ufroe baussen dem Tunnel leckt an privat Nimm brécht. Wann dem Client eng IPv6-Adress zougewisen gëtt, brauch déi Adressfamill déiselwecht Behandlung, soss bevorzugt den Host e Wee, deen den Tunnel net schützt. Test mat engem Numm, deen nëmmen déi privat Säit beäntwerten kann, a behandelt eng ëffentlech Äntwert als Leck.
resolvectl query intranet.example.internal
traceroute -n 1.1.1.1
Bestätegt d'Kette mat deenen zwee Kommandos plus den ausgehandelte Selekten aus der Lëscht uewen. Wann den traceroute den lokale Router als éischte Sprong weist, benotzt den Trafic den Tunnel net, egal wat d'Selekten behaapten. Den Internetzougang ass just komplett, wann den ausgewielten Trafic duerch den entwéckelten Gateway zougelooss, weidergeleet a zréckbruecht gëtt. 0.0.0.0/0 an engem Profil ze fannen ass den Ufank vun där Kette an net hire Beweis.