Docker高级教程之智能添加与修改防火墙规则

2020-06-17 06:44:44易采站长站整理

usage: modify_docker_container_firewall.py [-h] [-l] [-a] [-r RM][-m {internal,external}][-s SOURCE] [-sp SPORT] [-d DEST][-dp DPORT] [-pm {dynamic,manual}][-e] [-ap ADDIP] [-rp RMIP]container_name


It is userful tool to modify docker container firewall

positional arguments:
container_name list local docker container name

optional arguments:
-h, --help show this help message and exit
-l, --list show container firewall rules
-a, --add add container firewall rules
-r RM, --rm RM rm container firewall rules
-m {internal,external}, --mode {internal,external}
set container firewall mode
-s SOURCE, --source SOURCE
source ip view container firewall rules
-sp SPORT, --sport SPORT
source port view container firewall rules
-d DEST, --dest DEST destination ip container firewall rules
-dp DPORT, --dport DPORT
destination port view container firewall rules
-pm {dynamic,manual}, --portmode {dynamic,manual}
set container port mode
-e, --effect effect container firewall rules
-ap ADDIP, --addip ADDIP
add external ip to container
-rp RMIP, --rmip RMIP
rm external ip to container

说明:

-l是展示当前容器的所有防火墙规则,后面不加值

-a是进行增加容器防火墙规则,后面不加值

-r是删除容器规则,后面是防火墙的id值

-m是防火墙规则的模式,有internal(内部模式)与external(外部模式),如果你使用跟宿主机一样出口ip的话,选择

internal,如果使用独立的外网ip,就选择external

-s是来源ip,后面是ip/netmask模式

-sp是来源访问端口,后面需要输入允许外边访问进来的端口

-d是指定独立的外网ip,后面需要输入ip值

-dp是指定访问容器的端口,后面是属于端口值

-pm是指定来源端口的模式,有dynamic与manual模式,如果选择dynamic就不需要你指定来源端口值,会自动生成一个值,使

用manual的话,就需要你手动输入一个来源端口值

-e是设置好防火墙后,应用此防火墙策略,也就是在iptables里生效,后面不加值

-ap是在本机增加独立的外网ip,后面是ip/netmask模式

-rp是删除本机独立外网ip,后面是ip模式

2、查看test1的规则

目前我本机有test1-3这3个容器


[root@docker-test3 code]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c07b67c2382a docker.ops-chukong.com:5000/centos6-http:new "/usr/bin/supervisor 40 hours ago Up 40 hours test2
7c31bbfe0091 docker.ops-chukong.com:5000/centos6-http:new "/usr/bin/supervisor 3 days ago Up 15 hours test1
5eede798f189 docker.ops-chukong.com:5000/centos6-http:new "/usr/bin/supervisor 3 days ago Exited (0) 24 hours ago test3

其中test1与test2都使用持久化固定ip了,test3没有