Назад | Перейти на главную страницу

Докер: Как создать сеть «только Интернет»?

Я использую докер, и я хотел бы создать сеть «только Интернет» для одного из моих контейнеров: я хочу, чтобы этот контейнер имел доступ только к Интернету, он не должен иметь доступа к другим контейнерам или к хост.

Я думал об использовании для этого iptables, но я думаю, что прямое создание сети докеров было бы более эффективным и элегантным. Тем не менее, я не смог найти, как создать эту сеть докеров «только Интернет».

Не могли бы вы мне помочь?

Спасибо !

Вы можете изолировать контейнеры друг от друга, настроив новую сеть для этого контейнера.

docker network create internetonly
docker run --rm -ti --network internetonly fedora:25 /bin/bash

Он не сможет подключиться к существующим контейнерам, хотя любые будущие контейнеры, которые вы начнете с --network internetonly, смогут связываться друг с другом. Если вы этого не хотите, дайте им все отдельные сети (но iptables, вероятно, будет удобнее)

К сожалению, это не защищает хост, поскольку сети докеров он понадобится в качестве исходящего маршрута.

Если ваша сетевая ситуация поддерживает настройку vlan, сеть Macvlan Docker может поместить контейнер в тегированный vlan - а затем ваш маршрутизатор / брандмауэр разрешит этому vlan доступ только к тем сетевым ресурсам, которые вы хотите. Видеть Вот для получения дополнительной информации.