アドレス80
のポート10.0.0.1
でリッスンしているWebサーバーがあります。 10.0.0.2:1234
としてアクセスする方法はありますか?
HTTPリダイレクトは必要ありません。ブラウザでhttp://10.0.0.2:1234
をリクエストしたときに、ウェブサーバーのインデックスを表示したい。
それ、どうやったら出来るの? iptablesで?
必要なのは、透過プロキシを設定することのようです。これを試して:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.0.0.2:1234
iptables -A FORWARD -d 10.0.0.2 -p tcp --dport 1234 -j ACCEPT
sysctl net.ipv4.ip_forward=1
1行目:ポート80のすべてのトラフィックを10.0.0.2:1234にリダイレクトするルールを設定します
2行目:このリダイレクトされたトラフィックを転送できるようにします
3行目:カーネルでトラフィック転送を有効にします
これがお役に立てば幸いです!!!
ルーターが10.0.0.2へのトラフィックをインターセプトできる(そして10.0.0.2にはない)と仮定すると、ブラウザーに10.0.0.2:1234と入力するとインターセプトされ、HTTPレベルではなくTCPでリダイレクトされるように調整できます。次のようなコマンドで
iptables -A PREROUTING -d 10.0.0.2 -p tcp --dport 1234 -j DNAT --to-destination 10.0.0.1:80