У меня Docker работает на пару Ubuntu 18.04 vms, а также на Synology DS218 +. Между ними существует противоречивое поведение в отношении способности контейнеров получать доступ к другим узлам в локальной сети. Я не совсем понимаю, что именно здесь происходит:
Мой метод тестирования заключается в том, чтобы запустить интерактивную оболочку с bash в контейнере, в котором установлен ping. После этого я могу проверить подключение к другим контейнерам и к docker хостам. Контейнеры используют мостовые сети по умолчанию. Я понимаю, что это должно означать, что они могут взаимодействовать только с другими контейнерами, находящимися в той же мостовой сети.
В Synology, когда я bash в контейнере, я не могу пропинговать хост, на котором машина работает. Это, кажется, желаемое поведение. Однако, если я попытаюсь пропинговать другие машины в сети хоста, контейнер получит ответ. Этого не должно быть, так как мостовая сеть по умолчанию должна быть изолирована от сети хоста. Я попытался снять все контейнеры, остановить демон docker, очистить iptables и вернуть все обратно. Тот же результат.
На хостах Ubuntu я могу не только пропинговать другие машины в сети хоста, но и хост, на котором работает контейнер.
Есть ли что-то, чего мне здесь не хватает?