参考 https://blog.51cto.com/wenguonideshou/2393639
开启防火墙
systemctl start firewalld
查看开放的端口和服务以及屏蔽的IP
firewall-cmd --zone=public --list-all
查看系统中查看系统中可用的服务
firewall-cmd --get-services
添加端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
范围批量开放端口
firewall-cmd --zone=public --add-port=80-90/tcp --permanent
添加端口段
firewall-cmd --zone=public --add-port=5060-5061/udp --permanent
删除端口
firewall-cmd --permanent --zone=public --remove-port=8080/tcp
热加载才能生效
重新刷新防火墙配置 不断开连接
firewall-cmd --reload
重新刷新防火墙配置 断开所有连接 类似重启
firewall-cmd --complete-reload
屏蔽IP
注:红色部分 Linux防火墙内的策略动作有REJECT和DROP两种
- REJECT动作会返回一个拒绝(终止)数据包(TCP FIN或UDP-ICMP-PORT- UNREACHABLE),明确的拒绝对方的连接动作。对内使用
- DROP动作只是简单的直接丢弃数据,并不反馈任何回应。需要Client等待超时,Client容易发现自己被防火墙所阻挡。对外使用
firewall-cmd --permanent --add-rich-rule=“rule family=ipv4 source address=ip地址 reject”
#禁止一个IP段,比如禁止123.56..
firewall-cmd --permanent --add-rich-rule=‘rule family=ipv4 source address=“123.56.0.0/16” drop’
#禁止一个IP段,比如禁止123.56.161.*
firewall-cmd --permanent --add-rich-rule=‘rule family=ipv4 source address=“103.145.13.0/24” drop’
移除被屏蔽IP
firewall-cmd --permanent --remove-rich-rule=“rule family=ipv4 source address=ip地址 reject”