(初心者です!)CentOSで仮想サーバーを実行しています。ポート37760でリッスンするサーバーを実行しようとしています。実行しているコードは正常に実行されるので、
netstat -lptu
リスニング中のポートのリストを表示するには、
tcp 0 0 localhost.localdomain:37760 *:* LISTEN 15006/node
エントリの 1 つです。ただし、ブラウザで ip:37760 にアクセスすると、接続がタイムアウトします。
非常に明白なことだとは思いますが、何らかの助けがあれば非常に助かります!!
ありがとう
答え1
出力には、localhost のみでリッスンしているnetstat
ことが示されているため、その仮想コンソールでブラウザを使用して、すべてのアドレスでリッスンする設定に移動するか、その設定を更新する必要があります。node
localhost:37760
node
答え2
ローカル ファイアウォールが接続をブロックしている可能性が非常に高くなります。
ローカル ファイアウォールを確認しますiptables
。次のようなコマンドを実行すると、現在の状態を確認できます。
iptables -vnL
次のような出力が生成されます。
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
9192K 3593M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
18 740 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
1763K 180M ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
6124 367K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
これら 4 つのルールは次のようになります。
- 既存の接続に関連付けられたトラフィックを許可する
- ICMP トラフィックを許可します。
- ループバックインターフェース経由のすべてのトラフィックを許可する
- TCP ポート 22 (ssh) で新しい接続を許可する
永続的な状態は で確認できます/etc/sysconfig/iptables
。GUI 構成メカニズムが必要な場合はツールを使用できますsystem-config-firewall
。また、この機会を利用して、コマンド ラインからファイアウォール構成がどのように機能するかについて詳しく学習することもできます。
答え3
CentOSはデフォルトでIPテーブルオンにすると、SELinuxでかなり厳格なセキュリティポリシーが適用されます。別のコンピュータからポートにアクセスしようとすると、デフォルトのIPTables設定により、SSH以外のすべての着信接続がドロップされます。セキュリティを気にしない場合は、単に
sudo service iptables stop
IPTables を完全にオフにします。
CentOsであなたを妨げている可能性があるもう一つのことはカーネルこれは、プロセスとファイル システムに対する 2 番目のセキュリティ レイヤーとして機能し、一部のサーバーがファイルを提供するディレクトリにアクセスできないため、デフォルトでファイルを提供する権限を持たないようにします。ここでは、いくつかのオプションがあります。
/etc/selinux/config
1)以下のように設定を変更して SELinux をオフにします。
SELINUX=disabled in /etc/selinux/config
2) より望ましいのは、audit2allow
SELinuxがサーバーをブロックしているかどうかを確認し、ブロックしている場合はサーバーを許可する新しいセキュリティポリシーを生成することです。こちらを参照してください。セントOSWikiエントリとこれブログの記事。
最後に、VM 上で実行している場合は、VM にネットワーク アクセスと、基盤となるハードウェアの NIC 設定を使用する権限があることを確認します。