TLDR; Я не могу пропинговать свои docker контейнеры от других моих сетевых клиентов. Только когда контейнер активно пропингует шлюз, я могу впоследствии связаться с контейнерами.
В моей сети (192.168.0.0/24) я запускаю шлюз 192.168.0.1, на котором размещен DNS-сервер, а также маршрутизирует inte rnet Траффи c. Мой docker хост (192.168.0.100) имеет сеть Macvlan, созданную с помощью
docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.100 -o parent=eth0 dockernet
Мои контейнеры теперь получают статические c IP-адреса, например 192.168.0.200. Контейнеры могут активно пропинговать другие физические хосты в сети, так что это прекрасно работает.
Но если я раскручиваю новый контейнер, он не может пропинговать из моей физической сети. Не от хоста docker (что ожидается, так как это кажется ограничением сети macvlan), ни от шлюза или любого другого клиента. Как только контейнер активно пропингует шлюз, он становится доступным и для других клиентов.
Так что я думаю, что нужно выполнить некоторую маршрутизацию, и там мне нужна ваша помощь.
Клиенты работают на debian buster и Я использую неуправляемый коммутатор для подключения клиентов.