使用firewalld 打开端口似乎不起作用

使用firewalld 打开端口似乎不起作用

我已将 sshd 配置为使用其他端口。我已使用 Firewalld 打开该端口:

$ sudo firewall-cmd --zone=public --add-port=22000/tcp --permanent    

列表规则显示端口 22000 已开放:

$ sudo firewall-cmd --permanent --zone=public --list-all
public (default)
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports: 22000/tcp 
  masquerade: no
  forward-ports: 
  icmp-blocks:
  rich rules:

但是我无法从远程主机登录到端口 22000。如果我使用 iptables,它可以工作:

$ sudo iptables -I INPUT -p tcp --dport 22000 -j ACCEPT

我现在可以登录了。但是如何使用 Firewalld 打开端口

编辑:根据要求:

 $ sudo firewall-cmd --get-default-zone
 public

和:

 $ firewall-cmd --get-active-zones
 public
  interfaces: eth0 eth1

答案1

查看防火墙文档

永久选项 --permanent 可用于永久设置选项。这些更改不会立即生效,只有在服务重新启动/重新加载或系统重新启动后才会生效。如果没有 --permanent 选项,更改将只是运行时配置的一部分。

当使用--permanent选项时,您应该通过重新加载配置,firewall-cmd --reload
这是因为--permanent选项将更改写入已保存的配置,而不是正在运行的配置。

相关内容