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
# 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のポートを開く](https://www.tecmint.com/wp-content/uploads/2020/09/add-source-and-port-to-zone.png)
または、ネットワーク全体(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ゾーンの詳細を表示](https://www.tecmint.com/wp-content/uploads/2020/09/view-details-of-new-zone.png)
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'