使用 Windows 作为路由器

使用 Windows 作为路由器

我需要一个客户端应用程序来连接到不同网络中的服务器。另一台计算机连接到两个网络,如下所示:

   Client                         Computer                        Server
192.168.1.10 <---------> 192.168.1.20  192.168.2.30 <---------> 192.168.2.40
              network 1                              network 2
               (wifi)                                (ethernet)

我需要中间计算机(Windows)充当路由器,将任何到端口 502 的连接转发到服务器。网络 2 是工业机器的内部网络,因此我希望尽可能将其与主网络 1 分开,并避免重新配置路由器。这意味着仅连接到中间计算机并从那里重定向数据包(如果可能)。

实现这一目标的最佳方法是什么?

我已经尝试过了netsh interface portproxy add v4tov4 listenport=502 listenaddress=192.168.1.20 connectport=502 connectaddress=192.168.2.40,效果很好,但只能在下次重启之前使用。如果规则是在 wifi 连接之前创建或激活的,则它不起作用,即使它仍然可见netsh interface portproxy show all。只有删除并重新创建规则,或重新启动服务iphlpsvc才能使其再次工作。有办法解决这个问题吗?

有没有更好的工具或更好的方法来实现这一点,比如使用简单的路由或类似的技术?还是需要 NAT 和端口转发?

答案1

正如评论中所建议的,最简单的解决方案是使用listenaddress=0.0.0.0似乎netsh portproxy更可靠的方法。

更好的方法是使用或开发代理应用程序。

相关内容