创建容器网络
docker network create --driver bridge --subnet 192.168.1.0/24 --gateway 192.168.1.1 bianyuan
容器配置
启动指定network及内部网络ip(不再暴露端口)
--network=bianyuan --ip 192.168.1.8
启动防火墙
systemctl start firewalld
打开端口
firewall-cmd --add-port=3000/tcp --permanent
- 批量打开端口命令
firewall-cmd --permanent --zone=public --add-port=100-500/tcp
firewall-cmd --permanent --zone=public --add-port=100-500/udp
重启生效
firewall-cmd --reload
查看所有配置信息
firewall-cmd --list-all
允许http
firewall-cmd --zone=public --add-service=http
添加端口到容器的映射
firewall-cmd --add-forward-port=port=3000:proto=tcp:toaddr=192.168.1.8:toport=8080 --permanent
查看开放的端口
firewall-cmd --list-ports
查询端口是否开放
firewall-cmd --query-port=8080/tcp
关闭端口
firewall-cmd --zone=public --remove-port=3000/tcp --permanent
(重启才生效 注意是tcp 还是tcp6)
查看配置
cat /etc/firewalld/zones/public.xml
限制访问端口的IP
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.160.142.166" port protocol="tcp" port="3000" reject"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.160.142.166" port protocol="tcp" port="3000" accept"
(可直接编辑规则文件重新加载)
允许防火墙伪装IP
firewall-cmd --add-masquerade --permanent
查看限制规则
firewall-cmd --zone=public --list-rich-rules(修改重启后看到变化)