FirewallDで特定のポートを開く方法

Firewalldは、最新のLinuxディストリビューションのほとんどで使用されているファイアウォール管理ソリューションです。このチュートリアルでは、firewalldでポートを開く方法を学びます。このチュートリアルでは、ファイアウォールで特定のIPまたはIP範囲のパブリックポートを開く方法について説明します。

このチュートリアルでは、すべてのコマンドがMySQLポート3306用に記述されています。要件に応じて、他のポートでも同じコマンドを使用できます。

すべてのトラフィックにポートを許可

次のコマンドを使用して、パブリックネットワークからのすべてのトラフィックに対してポート3306の着信トラフィックを許可します。

firewall-cmd --zone=public --add-port=3306/tcp

永続的なルールを追加するには、コマンドで--permanentオプションを使用します。

firewall-cmd --permanent --zone=public --add-port=3306/tcp

特定のIPにポートを許可する

送信元アドレスに基づいて、任意のポートへのアクセスを制限することもできます。ファイアウォールリッチルールを追加するために必要なソースアドレスに基づいてポートアクセスを開く。

以下のコマンドを実行して、ポート4567から192.168.0.0/24ネットワークへのアクセスを許可します。

firewall-cmd --permanent --zone=public --add-rich-rule=' rule family="ipv4" source address="192.168.0.0/24" port protocol="tcp" port="3306" accept' 
firewall-cmd --permanent --zone=public --add-rich-rule=' rule family="ipv4" source address="192.168.0.0/24" port protocol="tcp" port="3306" accept'

ファイアウォールルールをリロードして、変更を適用します。

firewall-cmd --reload

ルールを確認する

firewalldにルールを追加した後、次のコマンドを実行して確認できます。

firewall-cmd --list-all

出力:

パブリック(アクティブ) ターゲット:デフォルト icmp-block-inversion:いいえ インターフェース:eth0 ソース: サービス:コックピットdhcpv6-client ssh ポート: プロトコル: 仮面舞踏会:いいえ 転送ポート: 送信元ポート: icmp-blocks: 豊富なルール: rule family = "ipv4" source address = "192.168.0.0/24" port port = "3306" protocol = "tcp" accept

出力の最後の行は、firewalldに追加された豊富なルールを示しています。

Firewalldからルールを削除する

ポートを開いたままにする必要がない場合は、–remove-portオプションを使用して、firewalldから上記のポートを削除/拒否できます。

firewall-cmd --permanent --zone=public --remove-port=3306/tcp

次に、次のコマンドを実行して変更を適用します。

firewall-cmd --reload

結論

このチュートリアルでは、LinuxオペレーティングシステムでFirewalldを使用して、すべてのトラフィックまたは特定のIPアドレス/ネットワークへのポートアクセスを開く方法を学びました。

Source