
Windows 10 で iptables 機能を利用する方法を探しています。IP ルーティングを有効にし、TCP データを別のホスト (ポート 8080) に転送し、IP をマスカレードしながらその応答を転送する必要があります。Linux では、次のようにしてこれを行うことができました ($1 = < 内部 IP >、$2 = 80、$3 = 8080、$4 = tcp)
iptables -t nat -A PREROUTING -p $4 --match multiport --dports $2 -j DNAT --to-destination $1:$3
iptables -A FORWARD -p $4 --match multiport --dports $2 -d $1 -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE
Windows 10 で同様の機能を実現する方法はありますか?
答え1
Windows ではnetsh
、管理者が IPv4 経由で IPv6 トラフィックをプロキシできるようにプロキシを設定できます。Netsh には、IPv4 から IPv4 へのプロキシを構成するオプションもあります。
セットアップでは、netsh interface portproxy add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=8080
を127.0.0.1
プロキシ先のアドレスに置き換えます。
このコマンドについて簡単に説明します。
netsh interface portproxy
トンネルを処理するインターフェイスを選択します。
add v4tov4
IPv4 から IPv4 へのトンネルを作成します。
listenport=80
クライアントが接続するポートです。
connectaddress=127.0.0.1
クライアントがプロキシされるリモート アドレスです。
connectport=8080
リモート ポートです。
listenaddress=
プロキシを 1 つのインターフェースでのみ使用できるようにする場合にも使用できます。
詳細情報https://technet.microsoft.com/ja-jp/library/cc731068(v=ws.10).aspx より
答え2
少なくともテスト目的では、次のユーティリティを使用してTCPとUDPの両方を転送することができました。
https://sourceforge.net/projects/pjs-passport/
XP用ですが、Win10でも動作します。