windows 下 TCP 端口转发


-----haproxy主要用于负载,如果只是负载一个,那就成为端口映射了,但是毕竟是linux下面的程序。


-----windows下也有一个小工具:portforward.exe,图形界面容易操作,个人平常使用可以,但是也没有办法实现与程序交互。


经过在网上搜索,发现windows系统,包括xp  2003,2008等,netsh工具都自带portproxy功能。

目前只支持tcp协议的端口转发,前提需要作为portproxy的主机需要安装IPV6,安装可以不启用IPV6。

A.配置方法

假定需要通过192.168.1.8的14941端口连接192.168.1.118的1494端口,则需要在192.168.1.8主机的命令行输入如下语句

1 ---如果已经安装IPV6,该条语可以不需要

netsh  interface ipv6 install

2 ---可不用指定本地监听地址,这样可以通过操作系统提供浮动地址来实现,如果操作系统开启了主机防火墙,需要放行TCP 

netsh interface portproxy add v4tov4 listenaddress=192.168.1.8 listenport=14941 connectaddress=192.168.1.118  connectport=1494


netsh interface portproxy add v4tov4                           listenport=14941 connectaddress=192.168.1.118  connectport=1494


3 ---取消上面配置的端口转发,可以用如下语句:

netsh interface portproxy delete v4tov4 listenaddress=192.168.1.8  listenport=33891

4 ---如果想查看已经配置了哪些端口转发,可以用如下语句:

netsh interface portproxy show  v4tov4


B.优点

可以随时根据需要添加或删除端口转发条目,并且重启操作系统仍能自动保存之前的配置并自动启用,不像HAproxy修改完配置文件还需重启HAproxy。

网上有的说xp配置端口转发不起作用,估计是没有安装IPV6的缘故,用xp测试,安装了IPV6后可以实现端口转发,并且不需要开启路由和远程访问服务。另外考虑到端口转发的冗余,可以多台主机都配置端口转发。



注: 此文章来自网上。。。。。。。。。。