Den Host erreecht den IPsec-Peer, den Docker-Container net
En Bridge-Container benotzt eng aner Quell a kënnt iwwer Forwarding eran, dofir beweist den Tunnel vum Host wéineg. Kontrolléiert d’Selektoren, ier Dir Docker nei startt.
Dir pingt den entfernten Host vun der Linux-Maschinn aus an hien äntwert, also funktionéiert den Tunnel. Den Container niewendrun leeft nach ëmmer an en Timeout, an deen natierlechsten nächste Schrëtt ass Docker nei ze starten. En Container am Bridge-Netz fänkt meeschtens mat enger anerer Quelladress un a kënnt iwwer Forwarding an den Host, net iwwer de eigenen Ausgangswee vun der Host-Uwendung, dofir huet den erfollegräiche Test en anert Paket gemooss. Fir en policy-baséierten strongSwan-Tunnel genüügt eng gewéinlech Route zum entfernten Subnetz net, wann dat weidergeleet Paket net zu der installéierter IPsec-Policy passt.
Den Duerchgang hei drënner verfollegt een Zil iwwer zwou Quellen a liest den Zoustand, ier eppes geännert gëtt.
Fänkt mat engem Zil an zwou Quelle un
Wielt d’éischt en Dingscht, deen Dir iwwer IP kennt, fir net gläichzäiteg DNS ze debuggen. Notéiert dräi Fakten: de Bridge-Präfix vum Container, d’Quelladress vun der Host-Ufro déi fonctionéiert huet, an déi ausgemaachte lokal an entfernt Traffic-Selektoren vum Tunnel. Déi dräi Zuele erkläre bal all Fall vun dësem Symptom.
Widderhëlt dann d’feelgeschloe Ufro aus dem Container eraus a fänkt d’Quell of, déi en tatsächlech benotzt. Wann déi Adress net vum lokale Selekter ofgedeckt ass, wësst Dir d’Resultat schonn, an et ännert sech net duerch en neien Container.
Liest d’Policyen, ier Dir Docker ufreit
Nëmme-Liesen-Hostkontrollen decken d’Routing-Entscheedungen, d’Policy-Datebank an d’Reegelen of, déi tëschent hinnen auswielen:
ip rule show
ip route show table all
ip xfrm policyD’Policy-Lëscht weist Selektoren a Richtung ouni en IPsec-Zoustandsauszuch voll Schlësselmaterial ze brauchen, dofir ass et sécher, se an en Ticket ze pechen. Sicht en lokale Selekter, deen d’Hostadress deckt awer net de Bridge-Präfix. Kontrolléiert och Iwwerlappung: eng Container-Route, déi d’entfernt Zil als lokal behandelt, produzéiert ni dat erwaart weidergeleet Paket, an den Tunnel kritt d’Schold. Späichert déi Lëscht nieft der Quelladress vum Container, well déi zwee zesummen den ganze Verglach sinn.
Wann de Container-Präfix feelt, stoppt a entscheet d’Architektur, ier Dir eppes anescht ännert. De Rescht vun dësem Duerchgang geet dovun aus, datt Dir Iech drop gëeenegt hutt, wéi eng Quelladress um Drot erschéine soll.
Kontrolléiert Filterung an Iwwersetzung der Rei no
D’Linux-Bridge-Firewall vum Docker kann Forwarding onofhängeg vun IPsec blockéieren. Mat dem iptables-Backend, kuckt de FORWARD-Wee an d’DOCKER-USER-Entscheedungen un, a denkt drun, datt eng Reegele déi no engem fréiere Verdikt dobäi koum eventuell ni leeft. Den nftables-Backend integréiert sech anescht, also maacht keng DOCKER-USER-Kette just well e iptables-Beispill se sou genannt huet; kontrolléiert wéi ee Backend Ären Daemon tatsächlech benotzt.
Kontrolléiert duerno d’Quell-Iwwersetzung. Eng breet MASQUERADE-Reegele kann e Paket, dat virdru mat engem IPsec-Selekter iwwerenee gestëmmt huet, an ee verwandelen, dat et net méi mécht, an de Feeler gesäit genee wéi e Routingproblem aus. Den strongSwan-Forwarding-Guide dokumentéiert d’NAT-Ausnam, déi virun esou enger Iwwersetzung fir schonn policy-konformen Traffic néideg ass.
Déi Ausnam ass kee Wee, fir eng ongedeckt Container-Quell zum Tunnel bäizesetzen. Si schützt nëmmen Traffic, deen schonn zum Entworf passt, also klärt d’Froe vum Selekter a vum Réckwee als éischt, an da bréngt NAT a Filterung mat der Äntwert an Einklang. Wann Dir amplaz d’Ausnam ausweidert, ass de Selekter dat, wat sech muss änneren, net d’NAT-Reegele.
Entscheet dann geroutet oder iwwersat
En geroutet Container-Subnetz verlaangt, datt béid Peeren dëst Subnetz akzeptéieren an et en entfernte Réckwee dohinner gëtt, wat meeschtens eng Selekterännerung op béiden Enner bedeit an e Gespréich mat deem, deen déi wäit Säit besëtzt. En bewosst iwwersaten Entworf muss amplaz eng Adress presentéieren, déi vun der Policy an der relevanter Lookup-Stuf gedeckt ass, wat meeschtens eng schmuel, dokumentéiert Reegele bedeit amplaz engem Standard-MASQUERADE.
Keng vun den zwou Opsetzungen ergëtt sech automatesch aus dem funktionéierenden Tunnel vum Host, an d’Wiel tëschent hinnen ass eng Entwurfsentscheedung mat engem Besëtzer. Schreift op, wéi eng Dir gewielt hutt, well soss wäert den nächsten Ingenieur se erëm aus de Firewall-Zieler ofleeden.
Passt och op de hybriden Feeler op: d’Halschent vum Reegele-Set iwwersat an d’Halschent net, wat en ënnerbrach Erfolleg ergëtt, deen vum Zilport ofhänkt an net vun eppes um Netz.
Verifizéiert mat enger frëscher Verbindung, net mat engem Neistart
Benotzt eng frësch Uwendungsverbindung, wärend Dir schmuel Firewall-Zieler an den entfernten Empfänger beobacht, sou datt all Observatioun eng Quell huet. En Docker-Neistart kann den Zoustand vun de Reegelen änneren an stéiert och d’Aarbechtslaascht, wat Iech dat propper Signal kascht, dat Dir wollt kréien.
D’dauerhaft Resultat sinn véier Aussagen, déi Dir weise kënnt: d’Quell vum Container, de passenden geschützte Wee, erlaabt Forwarding an eng Äntwert, déi zréckkënnt. Wann all véier gëllen, erreecht den Container de Peer aus demselwe Grund wéi den Host.