Linux Mandriva で Apache Tomcat-7.0.32 のポートを開く

Linux Mandriva で Apache Tomcat-7.0.32 のポートを開く

インストールしましたApache Tomcat-7.0.32の上Linux マンドリバアクセスできるようにしたいのですが、そのためにはポートを開く必要がありますiptables

以下のルールを追加しました。

iptables -A INPUT -p tcp -m tcp --dport 8081 --syn -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8010 --syn -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8444 --syn -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8006 --syn -j ACCEPT

保存してiptablesを再起動します -

/etc/init.d/iptables save
/etc/init.d/iptables restart

ポートが開いていることを確認してください -

netstat -tulpn | less

コマンドを実行しています -

netstat-ntpl | grep java

そして見てください -

ここに画像の説明を入力してください

ファイアウォールを無効にすると、リクエストに応じてサーバーのスタートページが表示されます -

http://server_ip:8081/

有効にすると、外部からサーバーにアクセスできなくなります。

原因は何でしょうか?情報をいただければ幸いです。

ありがとう!

答え1

この問題はTomcatの設定とは関係ありません。拒否ルールの前に、受け入れiptablesルールを追加してください。

答え2

tomcat が使用するポートは、tomcat 設定に含まれている必要があります。ただし、疑問がある場合は、lsof ユーティリティを使用して、どのプログラムがどの TCP ポートまたは UDP ポート、およびローカル ソケットを使用しているかの詳細を確認することをお勧めします。

lsof -Pni
lsof -Uni

正確に何が起こっているのか、どのプログラムがどのポートにアクセスしようとしているのか、ファイアウォールによってブロックされているのかを調べるには、tcpdump ユーティリティを使用することもできます。

tcpdump -i eth0

これらのプログラムの出力を grep したり、スイッチを使用して、表示する情報の種類をフィルタリングしたりできます。間違っているのは、ファイアウォール ルールを設定の最後に追加するのに対し、iptables 設定 (ファイアウォール パケット処理) は先頭から追加されることです。そのため、ACCEPT を追加する場合は、iptables 設定ファイルの最後ではなく先頭に追加するのが適切です。

この質問はおそらくsuperuser.comに移動されるべきでしょう

関連情報