# 检查状态
firewall-cmd --state
# 查看开启的端口
firewall-cmd --zone=public --list-ports
# 添加应用端口
firewall-cmd --zone=public --add-port=2222/tcp --permanent
# 删除端口
firewall-cmd --zone=public --remove-port=9099/tcp --permanent
# 重新载入
firewall-cmd --reload
# 开启防火墙(如未开启)
systemctl start/stop firewalld.service
# 防火墙开机自启
systemctl enable/disable firewalld.service
# 添加域
firewall-cmd --new-zone=srshttpapi --permanent
# 在该域中添加端口
firewall-cmd --zone=srshttpapi --add-port=18444/tcp --permanent
# 添加允许访问的ip
firewall-cmd --zone=srshttpapi --add-source=192.168.3.106 --permanent
# 本机443端口转发到8443
firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=8443 --permanent
Note
firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=8443 --permanent
配置此条端口转发后,443端口就开启了,不需要配置--add-ports=443/tcp
。这个是比较迷惑的点:dog:
开启或关闭Linux实例中的系统防火墙 (aliyun.com)
CentOS7 中使用 firewall-cmd 配置只允许指定ip访问本机的指定端口-Java架构师必看 (javajgs.com)
Tip
CentOS 防火墙默认使用的域是public
,所以通常添加端口的域参数为--zone=public
firewalld 的9个zone
1、zone 是firewalld 的单位。默认使用public zone
2、查看所有的zone : firewall-cmd --get-zones
3、查看默认的zone : firewall-cmd --get-default-zone
4、9个zone说明:
drop (丢弃) 任何接收到的网络数据都被丢弃,没有任何回复,公有发送出去的网络连接
block(限制)任何接收的网络连接都被IPV4 的icmp-host-prohibited信息和IPV6的icmp6-adm-prohibited信息所拒绝
public (公共) 在公共区域内使用,不能相信网络内的其它计算机不会对你的计算机造成危害,只接收经过选取的连接
external (外部)特别是为路由器启用了伪装功能的外部网。你不能信任来自网络的其它计算,不能信任它们不会对你的计算机造成危害,只能接收经过选择的连接。
dmz (非军事区) 用于你的非军事区的电脑 ,此区域内可公开访问,可以有限的进入你的内部网络,仅接收经过选择的连接。
work (工作) 可以基本信任网络内的其它计算机不会危害你的计算机,仅接收经过选择的连接。
home (家庭) 用于家庭网络,可以基本信任网络内的其它计算机不会危害你的计算机,仅接收经过选择的连接。
internal (内部)用于内部网络,可以基本信任网络内的其它计算机不会危害你的计算机,仅接收经过选择的连接
trusted (信任) 可接收所有的网络连接
©著作权归作者所有:来自51CTO博客作者liwen4210的原创作品,请联系作者获取转载授权,否则将追究法律责任 firewalld防火墙的9个zone的操作及zone下面service的操作 https://blog.51cto.com/u_10690709/2115113