iptables限制Docker IP和端口访问

一、【模板参考】限制与Docker主机的连接

       默认情况下,允许所有外部源IP连接到Docker主机。要仅允许特定的IP或网络访问容器,请在DOCKER-USER过滤器链的顶部插入一个否定的规则。

#限制除192.168.1.1地址外的其他地址访问
$ iptables -I DOCKER-USER -i ext_if ! -s 192.168.1.1 -j DROP

请注意,您将需要更改ext_if与主机的实际外部接口相对应。!排除以外。您可以改为允许来自源子网的连接。

#限制除192.168.1.0/24网段外的其他地址访问
$ iptables -I DOCKER-USER -i ext_if ! -s 192.168.1.0/24 -j DROP

最后,您可以指定要接受的IP地址范围–src-range (请记住-m iprange在使用–src-range或时也要添加–dst-range):

#限制除192.168.1.1-192.168.1.3外的其他地址访问
$ iptables -I DOCKER-USER -m iprange -i ext_if ! --src-range 192.168.1.1-192.168.1.3 -j DROP

您可以结合使用-s或–src-range与-d或–dst-range一起控制连续源地址和连续目标地址。例如,如果Docker守护程序同时监听 192.168.1.99和10.1.2.3,则可以制定特定于10.1.2.3并保持 192.168.1.99打开的规则。

二、【实际案例】iptables限制Docker端口和IP

1、案例1:限制IP访问

1.1 首先需添加一条禁止所有IP访问docker策略

iptables -I DOCKER-USER -i eth0  -s 0.0.0.0/0 -j DROP

注:允许上方命令后,如果出现容器无法上网问题,请将下方策略添加到上方策略前。

iptables -I DOCKER-USER -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

1.2 在依次添加所有允许访问docker的IP,允许172.27.100.101地址访问docker

iptables -I DOCKER-USER -i eth0  -s 172.27.100.101 -j ACCEPT

2、案例2:限制docker指定端口访问策略

2.1 禁止所有IP访问docker的389端口

iptables -I DOCKER-USER -i eth0 -p tcp --dport 389 -j DROP

2.2 允许172.27.30.92地址访问docker的389端口

iptables -I DOCKER-USER -i eth0  -s 172.27.30.92 -p tcp --dport 389 -j ACCEPT

3、查询DOCKER-USER策略

iptables --line -nvL  DOCKER-USER 

[root@test ~]# iptables --line -nvL  DOCKER-USER 
Chain DOCKER-USER (1 references)
num   pkts bytes target     prot opt in     out     source               destination         
1        8   432 ACCEPT     tcp  --  eth0   *       172.27.30.92         0.0.0.0/0            tcp dpt:389
2       13   740 DROP       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:389
3      188 12524 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0  

4、删除DOCKER-USER策略

#删除DOCKER-USER链第一条(num)规则
iptables -D DOCKER-USER 1

5、保存DOCKER-USER策略,默认临时生效

[root@test ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  确定  ]
© 版权声明
THE END
喜欢就支持一下吧
点赞13赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容