firewalld 操作
https://blog.csdn.net/s_p_j/article/details/80979450
--permanent永久生效,没有此参数重启后失效
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='222.222.222.222' reject" 单个IP
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='222.222.222.0/24' reject" IP段
firewall-cmd --permanent --remove-rich-rule="rule
封58.83.141.73 80端口
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=58.83.141.73 port=80 protocol=tcp drop"
配置后要重新载入以生效
firewall-cmd --reload
删除该规则把 –add-rich-rule 改成 –remove-rich-rule即可
如开放服务器6669端口
1、开启防火墙
systemctl start firewalld
2、开放端口
firewall-cmd --zone=public --add-port=6669/tcp --permanent #在public区域开放单个端口
firewall-cmd --zone=public --add-port=1-65535/tcp --permanent #在public区域开放多个端口
firewall-cmd --zone=dmz --add-port=6669/tcp --permanent #在dmz区域开放一个端口
3、将刚配置的public和dmz区域分布加入eth0网卡(内网)和eth1网卡(外网)
firewall-cmd --zone=public --add-interface=eth0 --permanent
firewall-cmd --zone=dmz --add-interface=eth1 --permanent
4、载入规则已便生效
firewall-cmd --reload
5、查看作用域有哪些网卡
firewall-cmd --get-active-zones
查看指定网卡的作用域
firewall-cmd --get-zone-of-interface=eth0
查看public区域已开放的端口
firewall-cmd --zone=public --list-ports
查看public 区域规则
firewall-cmd --zone=public --list-all
6、删除规则
firewall-cmd --zone=public --remove-port=80/tcp --permanent
端口转发
开启端口转发
firewall-cmd --permanent --zone=public --add-masquerade
#检查是否允许转发
firewall-cmd --query-masquerade
# 禁止防火墙 NAT 转发
firewall-cmd --remove-masquerade
1、开放端口
firewall-cmd --zone=public --add-port=6601/tcp
2、将刚配置的public和dmz区域分布加入eth0网卡(内网)
firewall-cmd --zone=public --add-interface=eth0
3、转发端口
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 # 将80端口的流量转发至8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.0.1 # 将80端口的流量转发至192.168.0.1
firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.0.1:toport=8080 # 将80端口的流量转发至192.168.0.1的8080端口
4、设置生效
firewall-cmd --reload
Firewall默认开放ssh 22端口的,如果ssh改成其他端口再直接开始防火墙,会直接连不上服务器的,所以慎重操作。
要么先开启防火墙,再开放一个端口,再把ssh改成已开放的端口;
如果ssh端口已经改过了还想再开始防火墙,可以直接编辑 /etc/firewalld/zones/public.xml文件,添加一行,格式如下:
<port protocol="tcp" port="2222"/>
然后再开始firewalld即可
firewall默认不开放http协议
firewall-cmd --query-service http 查看是否开启
firewall-cmd --add-service=http 临时开放
firewall-cmd --add-service=http --permanent 永久开放http