
複数の 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 に次のように言います:
- PreRoutingで実行する
- ナット
- インターフェースeth0
- プロトコルはTCPです
- 一致する宛先ポートは80です
- ポート8765にリダイレクトする