修改配置
cat firewalld.conf | grep -Ev "^#|^$"
DefaultZone=trusted
#主要是这个位置,必须修改trusted的
MinimalMark=100
CleanupOnExit=yes
Lockdown=no
IPv6_rpfilter=yes
IndividualCalls=no
LogDenied=off
AutomaticHelpers=system
# 启动firewalld
systemctl enable firewalld
systemctl start firewalld
# 查看默认区
firewall-cmd --get-default-zone
# 设置默认区为trusted
firewall-cmd --set-default-zone=trusted
# 添加新的分区(名字自己定义)
firewall-cmd --permanent --new-zone=nfs
# 添加允许访问的IP和端口,使用少量IP添加的
firewall-cmd --permanent --zone=nfs --add-source=172.17.6.247
firewall-cmd --permanent --zone=nfs --add-source=172.17.6.250
firewall-cmd --permanent --zone=nfs --add-port=2049/tcp
# 重新加载firewalld,让其生效
firewall-cmd --reload
# 添加drop 访问规则
# 禁止所有机器访问2049端口。防火墙规则:数据源,进来会去匹配各个区,如果有,就执行匹配的区,如果没有,就执行默认区
firewall-cmd --permanent --zone=trusted --add-rich-rule="rule family="ipv4" port protocol="tcp" port="2049" drop"
firewall-cmd --reload
# 适合批量IP添加,配合ipset使用
ipset 会在 /etc/firewalld/ipsets 里面
zone 区 会在/etc/firewalld/zones 里面
# 新建ipset
firewall-cmd --permanent --new-ipset=Hadoop50070 --type=hash:ip
# 添加IP到这个ipset,需要复制执行
for i in `cat ip.txt`; do firewall-cmd --permanent --ipset=Hadoop50070 --add-entry=$i; done
# 新建区
firewall-cmd --permanent --new-zone=hadoop50070
# 添加端口到新建的区
firewall-cmd --permanent --zone=hadoop50070 --add-port=50070/tcp
这样的
目录是:/etc/firewalld/zones
添加这个到区里面
<?xml version="1.0" encoding="utf-8"?>
<zone>
<source ipset="Hadoop50070"/>
<port protocol="tcp" port="50070"/>
</zone>
重载
firewall-cmd --reload
禁止所有机器访问端口,但是有白名单
firewall-cmd --permanent --zone=trusted --add-rich-rule="rule family="ipv4" port protocol="tcp" port="6080" drop"
重载
firewall-cmd --reload