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