web-dev-qa-db-ja.com

Apacheサーバーをインストールします。外部から接続できません(VMwareのCentOSを使用)。

CentOS 5.5にApacheをインストールし、構成のヒントをWebで検索した後、外部からHTTPサーバーに接続できるようにするために次のことを行いました。

  • /etc/httpd/conf/httpd.confで、Listen値を0.0.0.8011に変更しました
  • netstat –anpを確認しましたが、Apacheがこのポートでリッスンしていることがわかります
  • Httpdをサービスとして設定しました:chkconfig --levels 235 httpd on
  • semanage port -a -t http_port_t -p tcp 8011で有効なポート
  • Iptablesで設定しましたiptables -A INPUT -d 10.1.15.1 -p tcp --dport 8011 -j ACCEPT
    /etc/init.d/iptables save active
  • サーバーを再起動しました

しかし、telnetでも、外部から接続することはできません。

ちなみに、FTPとSSHはこのIPアドレスでうまく機能し、VMwareサーバーにpingを実行できます。

OK、質問を編集し続けます:ファイアウォール(iptables)を停止すると、正常に接続できるので、ポート8011でhttp接続を受け入れるようにiptablesをどのように適切に構成するかが質問だと思います。

3
user61104

あなたの問題は、iptablesルールに「-A」を追加したことだと思います。デフォルトのルールはREJECTルールで終わるため、ルールが一致する機会はありません。ルールの「-A」を「-I」に変更して、再試行してください。

iptables -I INPUT -d 10.1.15.1 -p tcp --dport 8011 -j ACCEPT
service iptables save active

それは役に立ちますか?

あなたがしている他のすべては正しいように見えます。

次のコマンドで実行中のルールセットを確認できます。

iptables-save | less

これにより、NATテーブルを含む、ルールの完全なセットを確認できます。これにより、一部のルールが他のルールの後にあることがわかりますが、CentOS 5がこれを使用しているため、少し複雑です。 「RH-Firewall-1-INPUT」テーブルを使用してINPUTルールとFORWARDルールを統合し、INPUTチェーンがそこにジャンプするようにします。したがって、パケットが新しいルールに到達する前に何が起こるかを確認するには、そのチェーン全体を読み取る必要があります。

2