第二章:怎么通过docker实现firewall防火墙模拟nat网关通信过程?
准备基础环境centos7.x.x使用防火墙firewall, 机制进行端口转发,调试内核转发参数 echo 1 >/proc/sys/net/ipv4/ip_forward #路由转发,优点可以隐藏一些端口通过nmap扫描工具,一的一些端口扫描不到,从安全进度看,还是有一点作用的。
1,firewall防火墙执行参数如下,已经基本参数说明
1 2 3 4 5 6 7 8 9 10 11 12 | firewall-cmd --permanent --zone=public --add-forward-port=port=80:proto=tcp:toaddr=172.17.0.3:toport=80 firewall-cmd --permanent --zone=public --add-forward-port=port=8080:proto=tcp:toaddr=172.17.0.3:toport=80 firewall-cmd #执行指令 --permanent #永久添加的防火墙规则 --zone=public #指定防火墙区域 --add-forward-port=port=80 #转发目标端口 proto=tcp #转发协议tcp/udp toaddr=172.17.0.3 #指定内部服务器ip地址 toport=80 #内部实际情况端口 firewall-cmd --permanent --zone=trusted --change-interface=docker0 #指定虚拟网卡设备 firewall-cmd --reload #重新加载防火墙生效 firewall-cmd --add-masquerade --permanent #执行内部容器才可以上网在启动防火墙 伪装路由设备上网 |
2,firewall防火墙内部配置规则
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [root@jenkins ~]# cat /etc/firewalld/zones/public.xml <?xml version="1.0" encoding="utf-8"?></p> <zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <service name="ssh"></service> <service name="dhcpv6-client"></service> <port protocol="tcp" port="8081"></port> <port protocol="tcp" port="8080"></port> <port protocol="tcp" port="80"></port> <forward-port to-addr="172.17.0.3" to-port="22" protocol="tcp" port="6022"></forward-port> <forward-port to-addr="172.17.0.3" to-port="80" protocol="tcp" port="80"></forward-port> <forward-port to-addr="172.17.0.3" to-port="80" protocol="tcp" port="8080"></forward-port> </zone> <p> |
赏
支付宝赞助
微信赞助
第二章:怎么通过docker实现firewall防火墙模拟nat网关通信过程?:等您坐沙发呢!