1

我正在尝试保护容器免受外部 IP 访问“0.0.0.0”

我想将一些容器配置为公共访问,而其他容器则限制为某些 IP。

sudo iptables -N DOCKER-USER
sudo iptables -I DOCKER-USER -j DROP

# where x.x.x.x is external IP allowed
sudo iptables -I DOCKER-USER -s x.x.x.x -j ACCEPT

# where yyyy is the external port that will be allow
sudo iptables -I DOCKER-USER -p tcp --dport yyyy -j ACCEPT

sudo iptables -I FORWARD -o docker0 -j DOCKER-USER

它工作正常,但重新启动后,此配置被重置并停止工作。

我已经尝试将此脚本放在/etc/rc.local但重新启动后它不会执行。

我的环境是:

Client:
 Version:      17.05.0-ce
 API version:  1.29
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:10:54 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.05.0-ce
 API version:  1.29 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:10:54 2017
 OS/Arch:      linux/amd64
 Experimental: false
4

1 回答 1

1

您可以保存当前的 iptables 配置,然后在服务器启动时加载它:

iptables-save | sudo tee /etc/iptables.conf

将以下内容复制到 /etc/rc.local

# Load iptables rules from this file
iptables-restore < /etc/iptables.conf
于 2018-05-03T09:48:27.600 回答