Pingnete vzdialený hostiteľ z linuxového stroja a odpovedá, takže tunel funguje. Kontajner vedľa vás stále končí časovým limitom a prirodzeným ďalším krokom je reštart Dockeru. Kontajner na mostovej sieti zvyčajne začína s inou zdrojovou adresou a do hostiteľa vstupuje cez forwarding, nie vlastnou výstupnou cestou aplikácie, takže úspešný test zmeral iný paket. Pri tuneli strongSwan založenom na politike nestačí obyčajná trasa k vzdialenej podsieti, keď forwardovaný paket nezodpovedá nainštalovanej politike IPsec.

Postup nižšie sleduje jeden cieľ cez dva zdroje a číta stav skôr, než čokoľvek zmení.

Začnite jedným cieľom a dvoma zdrojmi

Najprv zvoľte známu službu podľa IP, aby ste zároveň neladili DNS. Zapíšte tri fakty: mostový prefix kontajnera, zdrojovú adresu úspešnej požiadavky hostiteľa a vyjednané miestne a vzdialené selektory prevádzky pre tunel. Tie tri čísla vysvetľujú takmer každý prípad tohto príznaku.

Potom zopakujte neúspešnú požiadavku zvnútra kontajnera a zachyťte zdroj, ktorý naozaj používa. Ak tú adresu miestny selektor nepokrýva, výsledok už poznáte a žiadne znovuvytvorenie kontajnera to nezmení.

Prečítajte politiky skôr, než sa dotknete Dockeru

Kontroly hostiteľa len na čítanie pokrývajú rozhodnutia smerovania, databázu politík a pravidlá, ktoré medzi nimi vyberajú:

ip rule show
ip route show table all
ip xfrm policy

Výpis politík ukazuje selektory a smer bez výpisu stavu IPsec plného kľúčového materiálu, preto je bezpečné vložiť ho do tiketu. Hľadajte miestny selektor, ktorý pokrýva adresu hostiteľa, ale nie mostový prefix. Skontrolujte aj prekrytie: trasa kontajnera, ktorá vzdialený cieľ považuje za miestny, nikdy nevytvorí očakávaný forwardovaný paket a tunel za to dostane vinu. Uložte ten výpis vedľa zdrojovej adresy kontajnera, pretože obe spolu tvoria celé porovnanie.

Ak prefix kontajnera chýba, zastavte sa a rozhodnite architektúru skôr, než upravíte čokoľvek ďalšie. Zvyšok postupu predpokladá, že ste sa zhodli, ktorá zdrojová adresa má byť v sieti vidieť.

Skontrolujte filtrovanie a preklad v poradí

Linuxový mostový firewall Dockeru môže blokovať forwarding nezávisle od IPsec. S backendom iptables prejdite cestu FORWARD a rozhodnutia DOCKER-USER a pamätajte, že pravidlo pridané po skoršom verdikte sa nemusí nikdy spustiť. Backend nftables sa integruje inak, takže nevytvárajte reťaz DOCKER-USER len preto, že ho tak nazval príklad pre iptables; skontrolujte, ktorý backend váš démon naozaj používa.

Potom skontrolujte preklad zdroja. Široké pravidlo MASQUERADE môže zmeniť paket, ktorý predtým zodpovedal selektoru IPsec, na taký, ktorý už nezodpovedá, a porucha vyzerá presne ako problém smerovania. sprievodca forwardingom strongSwan dokumentuje výnimku z NAT potrebnú pred takým prekladom pre prevádzku, ktorá už politike zodpovedá.

Tá výnimka nie je spôsob, ako pridať do tunela nepokrytý zdroj kontajnera. Chráni len prevádzku, ktorá už do návrhu zapadá, takže najprv vyriešte otázky selektora a spiatočnej cesty a potom zlaďte NAT a filtrovanie s odpoveďou. Ak začnete výnimku rozširovať, meniť sa má selektor, nie pravidlo NAT.

Potom rozhodnite, či routované alebo prekladané

Routovaná podsieť kontajnera vyžaduje, aby oba partneri túto podsieť prijali a aby k nej viedla vzdialená spiatočná cesta, čo zvyčajne znamená zmenu selektora na oboch koncoch a rozhovor s vlastníkom vzdialenej strany. Zámerne prekladaný návrh naopak musí v príslušnej fáze vyhľadávania predložiť adresu pokrytú politikou, čo zvyčajne znamená úzke, zdokumentované pravidlo namiesto predvoleného MASQUERADE.

Ani jedno usporiadanie nevyplýva automaticky z fungujúceho tunela hostiteľa a voľba medzi nimi je návrhové rozhodnutie s vlastníkom. Zapíšte, ktoré ste zvolili, inak ho budúci inžinier znova odvodí z počítadiel firewallu.

Sledujte aj hybridnú poruchu: polovica sady pravidiel preložená a polovica nie, čo dáva občasný úspech závislý od cieľového portu, a nie od niečoho v sieti.

Overte novým spojením, nie reštartom

Použite nové spojenie aplikácie a popri tom sledujte úzke počítadlá firewallu a vzdialeného prijímača, aby každé pozorovanie malo zdroj. Reštart Dockeru môže zmeniť stav pravidiel a tiež naruší úlohy, čo vás pripraví o čistý signál, ktorý ste chceli získať.

Trvalý výsledok sú štyri tvrdenia, ktoré môžete ukázať: zdroj kontajnera, zodpovedajúca chránená cesta, povolený forwarding a odpoveď, ktorá sa vracia. Keď platia všetky štyri, kontajner sa dostane k partnerovi z rovnakého dôvodu ako hostiteľ.

Súvisiace články