TCP/IP ネットワーク接続は、ブロック、ドロップ、オープン、またはフィルター処理されている可能性があります。これらのアクションは、通常、システムが使用する IPtables ファイアウォールによって制御され、ネットワーク ポートでリッスンしている可能性のあるプロセスやプログラムから独立しています。この投稿では、アプリケーションに必要なポートを開く手順の概要を説明します。この記事の例では、アプリケーション固有 (Apache) ポート 55555 を開きます。
サーバーの詳細は以下の通りです:
# uname -a Linux geeklab 3.10.0-693.17.1.el7.x86_64 #1 SMP Thu Jan 25 20:13:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)
1.ポートのステータスを確認
ポートが開いていないこと、および Apache がそのポートを表示していないことを確認してください:
# netstat -na | grep 55555
# lsof -i -P |grep http httpd 5823 root 4u IPv6 42212 0t0 TCP *:80 (LISTEN)
2. iptables でポートの状態を確認する
ポートが開いていることを iptables が示していないことを確認します:
# iptables-save | grep 55555
3.ポートを追加
/etc/services にテスト ポートを追加します ファイルを作成し、ポートがパケットを受け入れられるようにします。 /etc/services ファイルを次の形式で編集することにより、テスト ポートを追加できます。
# vi /etc/services service-name port/protocol [aliases ...] [# comment]
# vi /etc/services testport 55555/tcp # Application Name
4.ファイアウォール ポートを開く
ポートがパケットを受け入れることを許可するファイアウォール ルールを追加します。
# firewall-cmd --zone=public --add-port=55555/tcp --permanent success
# firewall-cmd --reload success
# iptables-save | grep 55555 -A IN_public_allow -p tcp -m tcp --dport 55555 -m conntrack --ctstate NEW -j ACCEPT
5.新しく追加されたポートのステータスを確認
httpd のポートを追加して httpd サービスをリロードすると、httpd が新しく追加されたポート 55555 もリッスンしていることに注意してください:
# lsof -i -P |grep http httpd 6595 root 4u IPv6 43709 0t0 TCP *:80 (LISTEN) httpd 6595 root 6u IPv6 43713 0t0 TCP *:55555 (LISTEN)
# netstat -na |grep 55555 tcp6 0 0 :::55555 :::* LISTENCentOS / RHEL :ネットワーク ポートが開いているかどうかを確認する方法は?
CentOS / RHEL 7 :firewall-cmd を使用してファイアウォールでポートを開く方法は?
Linux で仮想ブロック デバイス (ループ デバイス/ファイルシステム) を作成する方法
「btrfs device」コマンドを使用して、btrfs ファイルシステムにデバイスを追加/削除する方法