1

こんにちは、サーバーのポート 8080 で Tomcat を実行しています。Tomcat はポート 80 で外部からも、サーバー自体からもアクセスできます (iptables を使用してポートをリダイレクトしました)。ただし、サーバーの Web ブラウザーで他の Web ページ ( http://www.google.comなど)を開こうとすると、Tomcat のウェルカム ページが表示されます。代わりに IP アドレスを使用しても役に立ちません。私のiptables設定に何か問題があるようです:

# Generated by iptables-save v1.4.7 on Thu Oct 18 08:55:16 2012
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:SSH - [0:0]
-A INPUT -i lo -j ACCEPT 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -m state --state INVALID -j DROP 
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j SSH 
-A INPUT -p tcp -m tcp --dport 8080 -m state --state NEW -j ACCEPT 
-A INPUT -j DROP 
-A SSH -s 10.0.0.0/8 -j ACCEPT 
-A SSH -m limit --limit 5/sec --limit-burst 100 -j ACCEPT 
-A SSH -j DROP 
COMMIT
# Completed on Thu Oct 18 08:55:16 2012
# Generated by iptables-save v1.4.7 on Thu Oct 18 08:55:16 2012
*nat
:PREROUTING ACCEPT [810:128855]
:POSTROUTING ACCEPT [41:2705]
:OUTPUT ACCEPT [26:1805]
-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 
-A OUTPUT -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 
COMMIT
# Completed on Thu Oct 18 08:55:16 2012

お知らせ下さい。よろしくお願いします。ヴォイテック

編集:

そのため、次の行を削除すると機能することがわかりました。たとえばGoogle Webページを開いたときにTomcatのウェルカムページが表示されるように、この行が正確に何をしているのか説明してもらえますか?

-A OUTPUT -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
4

1 に答える 1

1

あなたが求めている行は、プロトコル TCP を使用して OUTPUT チェーン上のパケットを受け取り、宛先ポート 80 に向かい、それをREDIRECTチェーンに移動しますが、これはあなたが望むものではありません。そのルールで宛先 IP も指定しない限り、すべての http 要求が Tomcat に送信されるためです。<local process> から送信された場合、指定された宛先 IP (google.com など) に移動し、ローカル マシンにリダイレクトしないようにします。

参考のため:

netfilter のチェーンとジャンプ

于 2012-10-18T12:46:03.503 に答える