Я запускаю Docker в Linux (Ubuntu). По умолчанию он использует docker0
сеть.
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
inet6 fe80::42:52ff:feb8:84eb prefixlen 64 scopeid 0x20<link>
Я запускаю множество программ для разработки, часто без какой-либо дополнительной сетевой аутентификации.
Как мне настроить безопасность сети, чтобы мой хост-компьютер мог подключаться к ним, но другие машины в моей сети (включая другие устройства в моей домашней / корпоративной локальной сети) не могли инициировать TCP-соединения?
Какой будет брандмауэр? Это iptables ... или что-то еще?
Один из подходов - попробовать привязать (без brige) IP-адрес и порт и защитить соединение, предназначенное для вашей машины, как классический брандмауэр.
Привязать порты
docker run -dit --name <container-name> -p 8080:80 <image>
Защитите свой хост / доступ к приложению
iptables -A INPUT -s 192.168.100.0/24 -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -s 192.168.200.0/24 -p tcp --dport 8080 -j DROP