
プライベート LAN 内の CentOS 7 (アプリケーション サーバー) で実行されている Web アプリケーションは、同じプライベート LAN 上で実行されている別の CentOS 7 サーバー (データベース サーバー) にデータベース接続を行う必要があります。
systemctl stop firewalld
アプリケーション サーバーで入力すると、リモート データベース サーバーへのデータベース接続は正常に機能します。しかしsystemctl start firewalld
、同じアプリケーション サーバーで入力すると、Web アプリケーションはリモート データベース サーバーに接続できなくなります。
これは、アプリケーション サーバー上にアウトバウンドのファイアウォール ルールを作成する必要があることを示しています。ただし、そのためには、アウトバウンド接続に使用する必要があるポートを知る必要があります。
アプリケーション サーバーでデータベース サーバーへのリモート接続に使用されているポートを特定するには、どのような具体的なコマンドを使用できますか?
答え1
netstat
プログラムがリッスンしているすべてのネットワーク ポートを表示するには、次のコマンドを使用します。
sudo netstat -lpn4
- -l: リスニングのみ表示
- -p: プログラム名を表示
- -n: 常にポート番号を表示する
- -4: IPv4ネットワーク接続のみを表示する
列でプログラムを見つけてPID/Program name
、Local Address
それが何を使用しているかを確認します。
他のオプションについては、 のマニュアルを参照してくださいman netstat
。