我正在寻找一种在 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
Windowsnetsh
可以设置代理,以允许管理员通过 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=
如果您只希望代理在一个界面上可用,您也可以使用它。
更多信息https://technet.microsoft.com/en-us/library/cc731068(v=ws.10).aspx
答案2
至少出于测试目的,我能够使用以下实用程序转发 TCP 和 UDP
https://sourceforge.net/projects/pjs-passport/
它适用于 XP,但也适用于 Win10。