firewalld教程
阅读原文时间:2023年07月08日阅读:1

修改配置

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