在RHEL7里firewalld/ip(6)tables/ebtables这三个内核的子系统都能实现内核的netfilter模块的功能。这三个是相互冲突的,只能启用其中一个。



firewalld 对docker网络影响_防火墙






为防止误启动,建议masks锁定这些服务。




firewalld 对docker网络影响_firewalld_02





在RHEL6包括之前版本默认的是iptables。在RHEL7里默认使用的是firewalld-->底层调用的命令也是iptables。




firewall的使用


1、firewall-config图形化方式



firewalld 对docker网络影响_图形化_03



zone区域:系统划分的一些场景,内有各种预设的规则。一个网卡只能绑定一个zone。


最严格的是drop,丢弃一切数据包,即使手动修改规则,也是不允许。。


最松的是trusted,完全信任,允许一切数据包。


其他的,可以自己手动自定义。



2、firewall-cmd命令行方式


firewall-cmd --get-default-zone:查看默认区域





firewalld 对docker网络影响_防火墙_04



--set-default-zone=home:将默认区域设置成home



firewalld 对docker网络影响_firewalld_05





--get-zones:查看系统中一共有哪些zone



firewalld 对docker网络影响_firewalld_06





--get-service:查看支持哪些服务



firewalld 对docker网络影响_图形化_07



--get-service | grep http:查看http是否支持


firewalld 对docker网络影响_firewalld_08


--get-zone-of-interface=eno1435674544:查看网卡接口属于哪个zone


firewalld 对docker网络影响_firewalld_09




记不清具体的命令,可以查一下



firewalld 对docker网络影响_rhel7_10





--zone=home --change-interface=eno123545:改变指定网卡到home域



firewalld 对docker网络影响_firewalld_11





--change-interface=eno123545:不指定zone的话,将把网卡加入到默认zone中


firewalld 对docker网络影响_firewalld_12


--zone=home --add-interface=eno1111111:指定网卡加入到home域中



firewalld 对docker网络影响_rhel7_13



--query-service=http:查看http访问是否允许,默认查看默认域pubic域





firewalld 对docker网络影响_防火墙_14




--zone=home --query-service=http:查看home域中,http访问是否允许


firewalld 对docker网络影响_firewalld_15




--add-service=http:添加http访问



firewalld 对docker网络影响_rhel7_16





--remove-service=http:去除http访问



firewalld 对docker网络影响_图形化_17





--add-port=80/tcp:添加tcp80端口



firewalld 对docker网络影响_80端口_18





--query-port=80/tcp:查看tcp80端口是否允许访问



firewalld 对docker网络影响_图形化_19





--remove-port=80/tcp:删除tcp80端口



firewalld 对docker网络影响_80端口_20





--list-all:查看默认域的信息



firewalld 对docker网络影响_80端口_21





--list-services:查看默认域允许哪些服务



firewalld 对docker网络影响_80端口_22





--list-ports:查看默认域允许哪些端口



firewalld 对docker网络影响_firewalld_23





不属于任何zone的网卡,可利用source来指定zone


eno11111的ip地址是192.168.30.250


--remove-interface=eno111111



firewalld 对docker网络影响_防火墙_24





--get-zone-of-interface=eno11111



firewalld 对docker网络影响_防火墙_25





--add-source=192.168.30.0/24 --zone=home



firewalld 对docker网络影响_firewalld_26





--list-all --zone=home



firewalld 对docker网络影响_防火墙_27





--zone=home --add-service=http



firewalld 对docker网络影响_防火墙_28





--zone=home --add-service=https



firewalld 对docker网络影响_防火墙_29





在用firefox打开192.168.30.250,即可打开网页。


以上所做的修改,只是当前生效,并未写入配置文件。


--add-service=http --permanent:永久生效



firewalld 对docker网络影响_firewalld_30