Firewalldで特定のIPアドレスのポートを開く方法

プライベートネットワーク内の特定のIPアドレスからのトラフィックを許可したり、firewalldを介して特定のプライ

この短い記事では、firewalldファイアウォールを実行しているRHELまたはCentOSサーバーで特定のIPアドレスまたはネットワーク範囲のポートを開く方法を学びます。

これを解決する最も適切な方法は、firewalldゾーンを使用することです。 そのため、新しい構成を保持する新しいゾーンを作成する必要があります(または、使用可能な安全なデフォルトゾーンのいずれかを使用できます)。

Firewalldで特定のIPアドレスのポートを開く

最初に適切なゾーン名を作成します(この場合、MySQLデータベースサーバーへのアクセスを許可するためにmariadb-accessを使用し

# firewall-cmd --new-zone=mariadb_access --permanent

次に、firewalldの設定を再読み込みして、新しい変更を適用します。 この手順を省略すると、新しいゾーン名を使用しようとするとエラーが発生することがあります。 今回は、次のスクリーンショットで強調表示されているように、新しいゾーンがゾーンのリストに表示されます。

# firewall-cmd --reload# firewall-cmd --get-zones
次に、送信元IPアドレス(10.24.96.5/20)と、ローカルサーバーで開きたいポート(3306)を追加します。 次に、firewalld設定を再読み込みして、新しい変更を適用します。

# firewall-cmd --zone=mariadb-access --add-source=10.24.96.5/20 --permanent# firewall-cmd --zone=mariadb-access --add-port=3306/tcp --permanent# firewall-cmd --reload
Firewalldで特定のIPのポートを開く
Firewalldで特定のIPのポートを開く

または、ネットワーク全体(10.24.96.0/20)からサービスまたはポートへのトラフィックを許可するこ

# firewall-cmd --zone=mariadb-access --add-source=10.24.96.0/20 --permanent# firewall-cmd --zone=mariadb-access --add-port=3306/tcp --permanent# firewall-cmd --reload

新しいゾーンに上記で追加された必要な設定があることを確認するには、次のコマンドで詳細を確認します。

# firewall-cmd --zone=mariadb-access --list-all 
Firewalldゾーンの詳細を表示
Firewalldゾーンの詳細を表示

Firewalldからポートとゾーンを削除

次のようにして、送信元IPアドレスまたはネットワークを削除できます。

# firewall-cmd --zone=mariadb-access --remove-source=10.24.96.5/20 --permanent# firewall-cmd --reload

ゾーンからポートを削除するには、次のコマンドを発行し、firewalld設定をリロードします:

# firewall-cmd --zone=mariadb-access --remove-port=3306/tcp --permanent# firewall-cmd --reload

ゾーンを削除するには、次のコマンドを実行し、firewalld設定を再読み込みします:

# firewall-cmd --permanent --delete-zone=mariadb_access# firewall-cmd --reload

最後のリストではなく、firewalldリッチルールを使用することもできます。 ここに例があります:

# firewall-cmd --permanent –zone=mariadb-access --add-rich-rule='rule family="ipv4" source address="10.24.96.5/20" port protocol="tcp" port="3306" accept'