Windows 10-NAT-ポート転送とIPマスカレード


13

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 10でまだ有効かどうかはわかりません。ポート転送については、この答えを確認してください。Windowsでのマスカレードは、インターネット接続の共有(ICS)と呼ばれますこの回答をご覧ください。
rda

こんにちは、ご入力いただきありがとうございます。netshを使用してみましたが、動作しないようです(listenaddressをワイルドカードにする必要があるため*)。ICSの場合、どのように動作するのか正確にはわかりません(2番目のアダプターが必要ですか?ブリッジする場合、ICSを使用できません)
Orestis P.

PCでnetcatを使用できます。1つのポートでリッスンし、別のポートに送信します。IPは、中央のマシンのIPになります。
TJJ

2
@OrestisP。チェックアウトnetsh interface portproxy add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=8080私は時間があればnetshをにあなたのiptablesを翻訳しようとするでしょう。127.0.0.1を選択したアドレスに置き換えます
ザルミー

回答:


16

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 v4tov4ipv4からipv4へのトンネルを作成します。 listenport=80クライアントが接続するポート。 connectaddress=127.0.0.1クライアントがプロキシされるリモートアドレスです。 connectport=8080リモートポートです。

listenaddress=1つのインターフェイスでのみプロキシを使用できるようにする場合にも使用できます。

詳細については、https://technet.microsoft.com/en-us/library/cc731068(v = ws.10).aspx


1
これは残念ながらTCPでのみ機能するため、UDPトラフィックを転送したい場合は運が悪いことに注意してください。
user276648 16

1
Windows 10を使用して、VPNを実行しているマシンでssh(サーバーポート22)をポートフォワードするのに役立ちます。ホームネットワーク上のマシン(VPN接続なし)は、listenportを使用してVPN内の別のマシンに接続できます。
フランクM

1

少なくともテスト目的で、次のユーティリティを使用してTCPとUDPの両方を転送できました。

https://sourceforge.net/projects/pjs-passport/

XP用ですが、Win10でも動作します。


Windowsの10は私に語った:Cannot start service from the command line or a debugger. A Windows Service must first be installed (using installutil.exe) and then started with the ServerExplorer, Windows Services Administrative tool or the NET START command.
ピーター・ターナー

1
@PeterTurner:readmeファイルを確認してください。私が見PassPort.exe -Installたサービスをインストールします。
user276648
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.