查看端口是否开放(TCP)

1
firewall-cmd --query-port=9090/tcp

开放端口

1
2
3
4
5
6
7
# 默认 zone 为 public

# 防火墙添加单个端口
firewall-cmd --zone=public --add-port=9090/tcp --permanent

# 防火墙添加范围端口
firewall-cmd --zone=public --add-port=40000-49999/udp --permanent

修改后刷新规则

1
firewall-cmd --reload

查看已开放端口命令

1
2
# 默认 zone 为 public
firewall-cmd --zone=public --list-all

删除规则

1
firewall-cmd --zone=public --remove-port=8080/tcp --permanent

参数说明

  • --zone=public:指定区域
  • --add-port=9090/tcp:添加端口及协议
  • --permanent:永久生效

firewalld 的 9 个 zone

默认 zone 为 public。

  • drop(丢弃):任何接受的网络数据包都被丢弃,没有任何恢复,仅能有发送出去的网络连接(数据包不能进来,但是可以出去)
  • block(限制):任何接受的网络连接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝(和 drop 相比,比较宽松一些,主要是为了针对 icmp)
  • public(公共):在公共区域内使用,不能相信网络内其他计算机不会对你造成危害,只能接受经过选取的连接
  • external(外部):特别是为路由器启用了伪装功能的外部网,你不能信任来自网络的其他计算,不能相信他们不会对你造成伤害,只能接受经过选择的连接
  • dmz(非军事区):用于你的非军事区内的电脑,此区域可公开访问,可以有限的进入你的内部网络,仅仅接受经过选择的连接
  • work(工作):用于工作区,你可以基本信任网络内的其他电脑不会对你造成危害,仅仅接收经过选择的连接
  • home(家庭):用于内部网络,你可以基本上信任网络内其他电脑不会对你造成危害,仅仅接收经过选择的连接
  • internal(内部):用于内部网络,你可以基本上信任网络内其他电脑不会对你造成危害,仅仅接收经过选择的连接
  • trusted(信任):可接受所有的网络连接