web-dev-qa-db-ja.com

CentOS 5.6ですべてのポートにアクセスできるようにするにはどうすればよいですか?

Node.js で遊ぶために、Virtual PC2007で仮想マシンとして実行されるCentOS5.6開発サーバーをセットアップしました。すべてが稼働していますが、Nodeサーバーが実行されているポートであるポート8234にアクセスできないようです。

wget localhost:8234して、「Hello World」を含むHTMLファイルを取得できるため、サーバーが実行されていることがわかります。これは正しいです。

ポートスキャナーを使用すると、[受信を許可する]セクションに記載されているすべてのポートが開いていて、pingに応答していることがわかりますが、それ以外は何もありません。

setupを実行し、次のように設定しました。

Firewall Config

Port Config

私の考えでは、これらの設定はファイアウォールをオフにし、eth0(唯一の仮想ネットワークインターフェイス)に入るすべてのものを許可するはずでしたが、そうではないようです。

ファイアウォールを完全に無効にする、またはそれができない場合、ポート8234を外部からアクセスできるようにするにはどうすればよいですか?

1
Mark Bell

Webサーバーはローカルホストにのみバインドされています。

Webサーバーがローカルホスト(127.0.0.1)またはリンクローカル(169.254。*。*)以外のIPアドレスでリッスンしていることを確認してください

netstat -tl 役立ちます

1
JeffG

system-config-securitylevel-tuiアプリケーションは[〜#〜] very [〜#〜]ホストファイアウォールに対する制限された制御を提供します。ファイアウォールを完全に無効にしたい場合は、次のことを行う必要があります。

chkconfig iptables off
service iptables stop

これにより、ファイアウォールが実行レベルの変更で開始するのを停止し、現在実行中の場合はファイアウォールをシャットダウンします。

単一のポートへのアクセスを許可するには

iptables -A INPUT -p tcp  -m tcp --dport 8234 -j ACCEPT
service iptables save
6
Scott Pack

ファイアウォールが無効になっている場合は、ファイアウォールをカスタマイズする必要はありません。インストールが完了したら、ファイアウォールをオフにすることもできると思います。私はそれを調べるのに便利なCentOSシステムを持っていませんが、インターネットはそれをお勧めしているようです

service iptables save
service iptables stop
chkconfig iptables off

これにより、ルールが保存され、その後の起動時にファイアウォールが無効になります。おそらくグラフィカルツールもあります。これは私たちが話しているRedHatです。 ;)

ファイアウォールはまともなものです。 8234:tcpを他のポートフィールド(および/またはサービスで必要な場合はudp)に追加します。

@Lucasが提供するiptablesコマンドを実行しても機能しますが、ファイアウォールを無効にするのではなく、すべてのトラフィックを許可するだけです。その場合、ファイアウォールを実行したままにしておくことにはあまり意味がありません。

2
Michael Lowman
iptables -P INPUT ACCEPT

ルートとして

0
Lucas Kauffman

次のコマンドを使用して、Webサーバーがリッスンしているポートを確認します

(私はあなたがApacheを使用していると仮定しています)

netstat -an | grep httpd

ローカルループバックだけでなく、パブリックIPにバインドされていることを確認してください

0
ckliborn