我正在寻找一种在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中伪装称为Internet连接共享(ICS),请查看此答案。
—
rda
您好,感谢您的输入。我尝试使用netsh,但它似乎不起作用(也许是因为我需要listenaddress为通配符*)。对于ICS,我不确定如何工作(是否需要第二个适配器?如果桥接它们,我将无法使用ICS)
—
Orestis P.
也许您可以在PC上使用netcat。它将在一个端口上侦听并发送到另一个端口。IP将是您机器中间的IP。
—
TJJ
@OrestisP。
—
Zalmy
netsh interface portproxy add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=8080
如果有时间,我会尝试将您的iptables转换为netsh。用您选择的地址替换127.0.0.1