web-dev-qa-db-ja.com

仮想インターフェイスでポートをリダイレクトする方法は?

1つの物理ネットワークインターフェースeth0およびeth0:0に関連付けられた2つのIPがあります。

以下は、最初のインターフェースで正常に機能します。

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

ただし、2番目のインターフェイスでは同じことが機能しません。

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

また試した:

iptables -A PREROUTING -t nat -p tcp --dport 80 -d $THE_IP -j REDIRECT --to-port 8080

したがって、問題は、仮想インターフェイスでリダイレクトを行う方法です。

4
f3r3nc

あなたはしません。エイリアスインターフェイスは、iptablesがローミングするカーネルの深い層には実際には存在しない表記規則です。 IPアドレスを使用すると(3番目のコマンド例が壊れており、手がかりとなるはずのエラーメッセージが表示されます)、すべて問題ありません。

5
womble

3番目のコマンドに何かが欠けています。最初にマルチポートAdd-m multiportを有効にして、問題がないようにします。 +単一のポートのみを指定した場合でも、--dportsおよび--to-ports(複数形)であると想定されます

同様の問題が発生したことに注意してください+リダイレクトを使用できるようになる前に強制終了する必要のあるポート80(Apache2)を使用するアプリケーションがすでにありました

1
CharybdeBE

この作業を行うには、TUN/TAPインターフェイスを使用する必要があります。詳細については、これを参照してください チュートリアル

0
Jason Cstrota