Я пытаюсь создать частную сеть виртуальных машин и контейнеров на Хетцнер Облако. Я протестировал эту настройку в своей локальной домашней сети, и все работает нормально.
План состоит в том, чтобы иметь частную сеть для виртуальных машин (10.0.0.0/8
просто для пробы). Для моего теста я использую 10.10.0.1
и 10.10.0.2
как виртуальные машины. И каждая виртуальная машина будет иметь мостовую сеть CNI (например: 172.20.0.0/16
, для контейнера). Я хочу сделать мостовые сети доступными для любой виртуальной машины на 10.0.0.0/8
сети со статическими маршрутами.
На Hetzner я настроил статический маршрут 172.20.0.0/16 до 10.10.0.1
. На 10.10.0.1
У меня есть мостовая сеть CNI для Podman, настроенная на тот же диапазон 172.20.0.0/16
.
Любой контейнер, который размещается в этой сети, без проблем пингуется или обращается к: локальным, другим контейнерам, хосту или Интернету и хосту (10.10.0.1
) не имеет проблем с доступом к контейнерам (172.20.0.Х
).
Проблема в том, что когда я хочу пропинговать контейнер из 10.10.0.2
. Я отслеживал трафик с помощью tcpdump
и ифтоп
, а маршрут Hetzner, кажется, работает просто отлично, так как соединения достигают виртуальной машины на 10.10.0.1
(ens10
). Что заставляет меня задаться вопросом, не является ли это проблемой маршрутизации между ens10
и подман-влан
мостовые интерфейсы?
Вот маршруты из 10.10.0.1
по умолчанию через 172.31.1.1 dev eth0 proto dhcp src X.Y.Z.W метрика 100
10.0.0.0/8 через 10.0.0.1 dev ens10
10.0.0.1 ссылка на объем dev ens10
172.17.0.0/16 dev docker0 ссылка на область ядра proto src 172.17.0.1
172.20.0.0/16 dev podman-vlan ссылка на область ядра proto src 172.20.0.1
172.31.1.1 dev eth0 proto dhcp scope link src XYZW метрика 100
На 10.10.0.2
VM, я только что сделал ip r добавить 172.20.0.0/16 через 10.0.0.1
(который, кажется, работает как).
Я ожидал получить 10.10.0.2 -> 10.0.0.1 -> 10.10.0.1 -> 172.20.0.1 -> 172.20.0.X
. Вместо этого кажется, что все теряется в 10.10.0.1
, в том числе, если я попытаюсь пинг -I ens10 172.20.0.X
Это конфигурация CNI:
{
"cniVersion": "0.4.0",
"имя": "подман",
"плагины": [
{
"тип": "мост",
"мост": "подман-влан",
"isGateway": правда,
"ipMasq": правда,
"promiscMode": правда,
"айпам": {
"тип": "локальный хост",
«маршруты»: [{ «dst»: «0.0.0.0/0» }],
"диапазоны": [
[
{
"подсеть": "172.20.0.0/16",
"шлюз": "172.20.0.1"
}
]
]
}
},
{
"тип": "карта порта",
"возможности": {
"portMappings": правда
}
},
{
"тип": "брандмауэр"
},
{
"тип": "тюнинг"
}
]
}
Заранее спасибо.