
インストールしました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に移動されるべきでしょう