我在 Linux(Ubuntu)上运行 Docker。默认情况下,它使用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 吗?还是其他?
答案1
一种方法是尝试绑定(不使用桥接)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