我正在尝试使用NETSH PORTPROXY命令将发送到我的XP PC(IP 192.168.0.10
)的数据包在端口8001上转发到端口80(我是一个侦听端口80的XAMPP Apache服务器)。
我发布了以下内容:
netsh interface portproxy add v4tov4 listenport=8001 listenaddress=192.168.0.10 connectport=80 connectaddress=192.168.0.10
显示全部确认所有内容都已正确配置:
netsh interface portproxy show all
Listen on IPv4: Connect to IPv4:
Address Port Address Port
--------------- ---------- --------------- ----------
192.168.0.10 8001 192.168.0.10 80
但是,我无法从http://localhost:8001
访问apache网站。我可以通过http://localhost
的直接端口访问,如下所示。
此外,我还尝试了以下方法:
1.使用以下链接从远程PC访问Apache网站:http://192.168.0.10:8001
。防火墙已关闭。
2.将listenaddress和connectaddress更改为127.0.0.1
。
如果没有进一步的信息,我找不到解决问题的方法。有没有办法调试NETSH PORTPROXY?
注意:顺便说一句,如果您想知道我为什么要这样做,我实际上想要将远程MySQL客户端连接从自定义端口映射到默认的MySQL服务器端口3306。
答案 0 :(得分:34)
我设法通过发布:
让它发挥作用netsh interface ipv6 install
另外,出于我的目的,不需要设置listenaddress并且更好地设置connectaddress = 127.0.0.1,例如
netsh interface portproxy add v4tov4 listenport=8001 connectport=80 connectaddress=127.0.0.1
答案 1 :(得分:6)
我有你的问题。我刚才解决了。 Windows服务命名为" IP帮助"提供功能隧道连接。你应该确保它已经开始了。
答案 2 :(得分:2)
您必须首先以管理员身份运行Command.exe,方法是右键单击“命令提示符”图标并选择以管理员身份运行。您将被要求确认。
将netsh
命令粘贴到command.exe窗口,然后按Enter键。
如果未显示任何错误消息,则该命令有效。
在您的网络浏览器中,转到http://your-up:8001
查看是否有效。
Windows事件日志可能包含有助于查找失败原因的信息。
答案 3 :(得分:0)
如果netsh
的端口代理未按预期工作,则应按以下顺序验证以下内容:
这似乎是微不足道的,但以防万一,请花点时间检查配置,然后再进行下一步。
在命令提示符或PowerShell提示符下,运行以下命令:
netsh interface portproxy show all
结果应如下所示:
Listen on ipv4: Connect to ipv4:
Address Port Address Port
--------------- ---------- --------------- ----------
24.12.12.24 3306 192.168.0.100 3306
24.12.12.24 8080 192.168.0.100 80
仔细检查这些设置。确保确实可以从本地计算机连接到该列表右侧的地址。例如,您可以在本地打开Web浏览器并访问192.168.0.100:80
吗?如果协议不是HTTP,请使用telnet:telnet 192.168.0.100 3306
(有关如何在Windows上安装Telnet客户端的信息,请参见here)。
然后,左侧的值正确吗? IP地址对您的机器有效吗?是您要从外部计算机连接的端口号吗?
在最新版本的Windows上,netsh
的端口代理由名为“ IP Helper”或“ iphlpsvc”的Windows服务处理。如果该服务停止,代理显然将不起作用。我还遇到了重新启动该服务后可以解决的情况。
要在最新版本的Windows中执行此操作,
在Windows的早期版本中,在控制面板内的管理工具中寻找服务。
需要 支持IPv6,以启用netsh
的端口代理,包括IPv4-to-IPv4代理(请参阅Microsoft的支持文章here)。 / p>
在命令提示符或PowerShell提示符下,运行以下命令:
netsh interface ipv6 install
即使在到达IP Helper服务之前,本地防火墙也可能会阻塞端口。要验证此假设,请暂时禁用任何本地防火墙(包括Windows的本机防火墙),然后重新测试。如果可行,则只需将端口排除项添加到防火墙配置中即可。