在RHEL7里firewalld/ip(6)tables/ebtables这三个内核的子系统都能实现内核的netfilter模块的功能。这三个是相互冲突的,只能启用其中一个。
为防止误启动,建议masks锁定这些服务。
在RHEL6包括之前版本默认的是iptables。在RHEL7里默认使用的是firewalld-->底层调用的命令也是iptables。
firewall的使用
1、firewall-config图形化方式
zone区域:系统划分的一些场景,内有各种预设的规则。一个网卡只能绑定一个zone。
最严格的是drop,丢弃一切数据包,即使手动修改规则,也是不允许。。
最松的是trusted,完全信任,允许一切数据包。
其他的,可以自己手动自定义。
2、firewall-cmd命令行方式
firewall-cmd --get-default-zone:查看默认区域
--set-default-zone=home:将默认区域设置成home
--get-zones:查看系统中一共有哪些zone
--get-service:查看支持哪些服务
--get-service | grep http:查看http是否支持
--get-zone-of-interface=eno1435674544:查看网卡接口属于哪个zone
记不清具体的命令,可以查一下
--zone=home --change-interface=eno123545:改变指定网卡到home域
--change-interface=eno123545:不指定zone的话,将把网卡加入到默认zone中
--zone=home --add-interface=eno1111111:指定网卡加入到home域中
--query-service=http:查看http访问是否允许,默认查看默认域pubic域
--zone=home --query-service=http:查看home域中,http访问是否允许
--add-service=http:添加http访问
--remove-service=http:去除http访问
--add-port=80/tcp:添加tcp80端口
--query-port=80/tcp:查看tcp80端口是否允许访问
--remove-port=80/tcp:删除tcp80端口
--list-all:查看默认域的信息
--list-services:查看默认域允许哪些服务
--list-ports:查看默认域允许哪些端口
不属于任何zone的网卡,可利用source来指定zone
eno11111的ip地址是192.168.30.250
--remove-interface=eno111111
--get-zone-of-interface=eno11111
--add-source=192.168.30.0/24 --zone=home
--list-all --zone=home
--zone=home --add-service=http
--zone=home --add-service=https
在用firefox打开192.168.30.250,即可打开网页。
以上所做的修改,只是当前生效,并未写入配置文件。
--add-service=http --permanent:永久生效