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で同様の機能を実現する方法はありますか?
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
はリモートポートです。
プロキシを1つのインターフェースでのみ使用可能にする場合は、listenaddress=
を使用することもできます。
詳細情報 https://technet.Microsoft.com/en-us/library/cc731068(v = ws.10).aspx
少なくともテスト目的で、私は次のユーティリティを使用してTCPとUDPの両方を転送することができました
https://sourceforge.net/projects/pjs-passport/
XP用ですが、Win10でも動作します。