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アドレス/ネットワークへのポートアクセスを開く方法を学びました。