windows中的端口转发

windows中的端口转发,windows,windows-7,portforwarding,Windows,Windows 7,Portforwarding,我的电脑中有两块网络板: 主服务器具有本地ip->192.168.1.111 第二个具有本地ip->192.168.0.200 主网络连接到internet,第二网络连接到IP为192.168.0.33的设备,在端口80中有一个http服务器 我在主连接(端口4422)中有一个apache服务器,我可以从任何地方访问,我现在想要的是,当我检测到来自4422的连接时,我想将此连接重定向到192.168.2.33:80 如何使用windows实现此功能?我已经解决了这个问题,可以执行以下操作: ne

我的电脑中有两块网络板:

主服务器具有本地ip->192.168.1.111 第二个具有本地ip->192.168.0.200

主网络连接到internet,第二网络连接到IP为192.168.0.33的设备,在端口80中有一个http服务器

我在主连接(端口4422)中有一个apache服务器,我可以从任何地方访问,我现在想要的是,当我检测到来自4422的连接时,我想将此连接重定向到192.168.2.33:80


如何使用windows实现此功能?

我已经解决了这个问题,可以执行以下操作:

netsh interface portproxy add v4tov4 listenport=4422 listenaddress=192.168.1.111 connectport=80 connectaddress=192.168.0.33
要删除转发,请执行以下操作:

netsh interface portproxy delete v4tov4 listenport=4422 listenaddress=192.168.1.111

对于在许多平台(包括Windows)上转发HTTP非常有用。通过更高级的配置,可以轻松地进行设置和扩展。基本配置可以如下所示:

events {}

http {
     server {

        listen 192.168.1.111:4422;

        location / {
            proxy_pass http://192.168.2.33:80/;
        }
     }
}

每当需要时,我都会使用这个小实用程序:


上次更新此实用程序是在2009年。我注意到在我的Win10机器上,有时打开新窗口时它会挂起几秒钟。除了那个UI故障,它的工作仍然很好。

只要确保安装了IPv6即可。因此,netsh需要一些IPv6库来配置端口代理功能。此外,您可以使用
netsh interface portproxy reset
netsh interface portproxy delete
进行清理。我尝试过使用这种技术,但速度非常慢。相反我发现了一个名为PassPort()的实用程序,它执行绑定到特定NIC的相同类型的端口转发,但没有
netsh
的性能问题。它在Win2008SvrR2上安装并运行良好。上面的命令在Windows7和WindowsServer2003上都不适用。我还必须指定protocol=tcp参数。完整命令:
netsh interface portproxy add v4tov4 listenport=4422 listenaddress=192.168.1.111 connectport=80 connectaddress=192.168.0.33 protocol=tcp
注意,这只在tcp上起作用,因此如果您想转发UDP流量,就没有运气了。更多信息可在此处找到。这是一个很好的HTTP转发解决方案,但仅适用于HTTP转发(包括所有注意事项,例如WebSocket需要额外的配置)。对于HTTPS转发或其他任意协议(如RDP),它基本上是无用的。也就是说,这是一个非常好的HTTP转发解决方案,所以我很高兴它在这里。为什么?你可以随心所欲地向前流,包括https@uli你在谈论什么设置。。。这将有助于share@UliKöhler Nginx是一种分离TCP连接的工具。您可以将其用于HTTP、HTTPS、AMQP、WebSocket等。所有工具都在内部使用它来重定向和管理常规TCP连接。因此,这是正确的解决方案。请参阅也可以确认,在Win10上工作正常