web-dev-qa-db-ja.com

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
7
mikemaccana

firewalld docs を参照してください:

永続オプション--permanentは、オプションを永続的に設定するために使用できます。これらの変更は、サービスの再起動/リロードまたはシステムの再起動後にのみ有効になります。 --permanentオプションがないと、変更はランタイム構成の一部になります。

--permanentオプションを使用する場合は、firewall-cmd --reloadで構成を再ロードする必要があります
これは、--permanentオプションが、実行中の構成ではなく、保存された構成に変更を書き込むためです。

7
Sergei B.