web-dev-qa-db-ja.com

Webサーバーを別のホストに転送する

アドレス80のポート10.0.0.1でリッスンしているWebサーバーがあります。 10.0.0.2:1234としてアクセスする方法はありますか?

HTTPリダイレクトは必要ありません。ブラウザでhttp://10.0.0.2:1234をリクエストしたときに、ウェブサーバーのインデックスを表示したい。

それ、どうやったら出来るの? iptablesで?

1
Northumber

必要なのは、透過プロキシを設定することのようです。これを試して:

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行目:カーネルでトラフィック転送を有効にします

これがお役に立てば幸いです!!!

2
MikeBoss

ルーターが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  
1
davidgo