Сиз Linux машинасынан алыскы хостко ping жибересиз, ал жооп берет, демек туннель иштеп жатат. Жаныңыздагы контейнер дагы эле убакыт бүтүүгө учурайт, ал эми кийинки табигый кадам — Docker’ди кайра баштоо. Көпүрө тармагындагы контейнер адатта башка булак дареги менен башталат жана хостко колдонмонун өз чыгуу жолу менен эмес, багыттоо аркылуу кирет, ошондуктан ийгиликтүү сыноо башка пакетти өлчөдү. Саясатка негизделген strongSwan туннели үчүн алыскы субнетке карай жөнөкөй маршрут жетишсиз, эгер багытталган пакет орнотулган IPsec саясатына туура келбесе.

Төмөнкү жетекчилик бир максатты эки булак аркылуу көзөмөлдөп, бир нерсени өзгөртүүдөн мурун абалды окуйт.

Бир максат жана эки булак менен баштаңыз

Алгач IP боюнча белгилүү кызматты тандаңыз, ошондо бир убакта DNS менен алектенбейсиз. Үч фактыны жазып алыңыз: контейнердин көпүрө префикси, ийгиликтүү хост сурамынын булак дареги жана туннель үчүн келишилген жергиликтүү жана алыскы трафик селекторлору. Бул үч сан бул симптомдун дээрлик бардык учурун түшүндүрөт.

Андан кийин ийгиликсиз сурамды контейнердин ичинен кайталап, ал чындап колдонгон булакты кармап алыңыз. Эгер бул дарек жергиликтүү селектор менен камтылбаса, натыйжаны билесиз, ал эми контейнерди кайра түзүү муну өзгөртпөйт.

Docker’ге тийүүдөн мурун саясаттарды окуңуз

Жалаң окуу үчүн хост текшерүүлөрү маршруттоо чечимдерин, саясат маалымат базасын жана алардын ортосунда тандаган эрежелерди камтыйт:

ip rule show
ip route show table all
ip xfrm policy

Саясаттар тизмеси селекторлорду жана багытты ачкыч материалына толгон IPsec абалын чыгаруусуз көрсөтөт, ошондуктан аны тикетке коюу коопсуз. Хост дарегин камтыган, бирок көпүрө префиксин камтыбаган жергиликтүү селекторду издеңиз. Кабатташууну да текшериңиз: алыскы максатты жергиликтүү деп эсептеген контейнер маршруту күтүлгөн багытталган пакетти эч качан чыгарбайт, ал эми туннель күнөөлөнөт. Бул тизмени контейнердин булак дарегинин жанында сактаңыз, анткени экөө бирге бүткүл салыштыруу.

Эгер контейнер префикси жок болсо, токтоп, башка нерсени түзөтүүдөн мурун архитектураны чечиңиз. Жетекчиликтин калганы кайсы булак дареги тармакта көрүнүшү керектиги жөнүндө келишкениңизди болжолдойт.

Фильтрлөө жана которууну ирети менен текшериңиз

Docker’дин Linux көпүрө дарбазасы багыттоону IPsec’тен көз карандысыз бөгөттөй алат. iptables бэкенди менен FORWARD жолун жана DOCKER-USER чечимдерин карап чыгыңыз, мурунку өкүмдөн кийин кошулган эреже эч качан аткарылбашы мүмкүн экенин эсиңизде тутуңуз. nftables бэкенди башкача интеграцияланат, ошондуктан iptables мисалы аны ошентип атаганы үчүн гана DOCKER-USER чынжырын түзбөңүз; демонуңуз чындап кайсы бэкенди колдонгонун текшериңиз.

Андан кийин булак которуусун текшериңиз. Кенен MASQUERADE эрежеси мурун IPsec селекторуна туура келген пакетти эми туура келбеген пакетке айландырышы мүмкүн, ал эми бузулуу дал маршруттоо маселесиндей көрүнөт. strongSwan багыттоо жетекчилиги саясатка мурунтан туура келген трафик үчүн ушундай которуудан мурун керектүү NAT өзгөчөлүгүн документтештирет.

Бул өзгөчөлүк туннелге камтылбаган контейнер булагын кошуунун жолу эмес. Ал долбоорго мурунтан туура келген трафикти гана коргойт, ошондуктан адегенде селектор жана кайтуу жолу маселелерин чечиңиз, андан кийин NAT менен фильтрлөөнү жоопко шайкеш келтириңиз. Эгер өзгөчөлүктү кеңейте баштасаңыз, өзгөртүлүүчү нерсе — селектор, NAT эрежеси эмес.

Андан кийин маршрутталган же которулган деп чечиңиз

Маршрутталган контейнер субнети эки өнөктөштүн тең аны кабыл алышын жана ага алыскы кайтуу жолунун болушун талап кылат, бул адатта эки учунда селекторду өзгөртүүнү жана алыскы тараптын ээси менен сүйлөшүүнү билдирет. Атайын которулган долбоор болсо тиешелүү издөө баскычында саясат камтыган даректи сунуштоого тийиш, бул адатта демейки MASQUERADE ордуна тар, документтештирилген эрежени билдирет.

Эки чечимдин эч бири хосттун иштеп жаткан туннелинен автоматтык түрдө келип чыкпайт, ал эми алардын ортосунда тандоо — ээси бар долбоордук чечим. Кайсынысын тандаганыңызды жазыңыз, болбосо кийинки инженер аны дарбаза эсептегичтеринен кайра чыгарат.

Гибриддик бузулууга да көңүл буруңуз: эрежелер жыйнагынын жарымы которулган, жарымы которулбаган, бул максат портуна көз каранды жана тармактагы эч нерсеге көз каранды эмес үзгүлтүктүү ийгилик берет.

Кайра баштоо менен эмес, жаңы туташуу менен текшериңиз

Тар дарбаза эсептегичтерин жана алыскы кабыл алуучуну байкоо менен жаңы колдонмо туташуусун колдонуңуз, ар бир байкоонун булагы болушу үчүн. Docker’ди кайра баштоо эрежелердин абалын өзгөртүшү мүмкүн жана жумуш жүктөрүн да бузат, бул сиз алгыңыз келген таза сигналдан ажыратат.

Туруктуу натыйжа — көрсөтө ала турган төрт билдирүү: контейнердин булагы, дал келген корголгон жол, уруксат берилген багыттоо жана кайтып келген жооп. Төртөө тең аткарылса, контейнер өнөктөшкө хост сыяктуу эле ошол себептен жетет.

Тектеш макалалар