単一 IP 上のポート 80 から別のポートへのトラフィックの再ルーティング

単一 IP 上のポート 80 から別のポートへのトラフィックの再ルーティング

複数の IP アドレスが関連付けられたサーバーがあります。それらの IP アドレスの 1 つだけを使用して、node.js Web サーバー (root として実行したくない) を実行しようとしています (すべての IP アドレスからのトラフィックが転送されると非常に悪い結果になります)。

スーパーユーザーを検索したところ、iptables でこれが可能であることがわかりました。

特定のソースからのポート 80 へのトラフィック転送用に iptables を設定する方法

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 --source 212.333.111.222 -j REDIRECT --to-port 9020

しかし、なぜ eth0 が必要なのか分かりません。

によると:

http://blog.softlayer.com/2011/iptables-tips-and-tricks-port-redirection/

これは次のように実行できます:

iptables -t nat -A PREROUTING -p tcp --dport 2525 -j REDIRECT --to-ports 25

ポート 80 の単一 IP (たとえば 111.111.111.111:80) から同じサーバーの別のポート (たとえば 111.111.111.111:8765) にトラフィックを転送する正しい方法は何ですか?

ご協力いただきありがとうございます!

答え1

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8765

IP アドレスを使用する代わりにインターフェース名を使用します。つまり、代わりにeth0必要なインターフェースを使用できます。

このルールは iptables に次のように言います:

  1. PreRoutingで実行する
  2. ナット
  3. インターフェースeth0
  4. プロトコルはTCPです
  5. 一致する宛先ポートは80です
  6. ポート8765にリダイレクトする

関連情報