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
したがって、問題は、仮想インターフェイスでリダイレクトを行う方法です。
あなたはしません。エイリアスインターフェイスは、iptablesがローミングするカーネルの深い層には実際には存在しない表記規則です。 IPアドレスを使用すると(3番目のコマンド例が壊れており、手がかりとなるはずのエラーメッセージが表示されます)、すべて問題ありません。
3番目のコマンドに何かが欠けています。最初にマルチポートAdd-m multiport
を有効にして、問題がないようにします。 +単一のポートのみを指定した場合でも、--dports
および--to-ports
(複数形)であると想定されます
同様の問題が発生したことに注意してください+リダイレクトを使用できるようになる前に強制終了する必要のあるポート80(Apache2)を使用するアプリケーションがすでにありました
この作業を行うには、TUN/TAPインターフェイスを使用する必要があります。詳細については、これを参照してください チュートリアル 。