mik*_*ana 9 ssh iptables firewalld
我已将 sshd 配置为位于不同的端口上。我已经使用 firewalld 打开了那个端口:
$ sudo firewall-cmd --zone=public --add-port=22000/tcp --permanent
Run Code Online (Sandbox Code Playgroud)
列表规则显示端口 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:
Run Code Online (Sandbox Code Playgroud)
但是我无法从远程主机登录到端口 22000。如果我使用 iptables,它可以工作:
$ sudo iptables -I INPUT -p tcp --dport 22000 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
我现在可以登录了。但是如何使用 Firewalld 打开端口?
编辑:根据要求:
$ sudo firewall-cmd --get-default-zone
public
Run Code Online (Sandbox Code Playgroud)
和:
$ firewall-cmd --get-active-zones
public
interfaces: eth0 eth1
Run Code Online (Sandbox Code Playgroud)
小智 8
请参阅firewalld 文档:
永久选项 --permanent 可用于永久设置选项。这些更改不会立即生效,只有在服务重启/重新加载或系统重启后才会生效。如果没有 --permanent 选项,更改将只是运行时配置的一部分。
使用--permanent
选项时,您应该重新加载配置firewall-cmd --reload
这是因为--permanent
选项将更改写入保存的配置,而不是运行配置。