2019年1月7日星期一

通过Windows实现端口转发

  这里介绍一个使用两台云服务器访问外网的方法,一台国内服务器,一台国外服务器,国内服务器通过端口转发来用于中转,中转的好处是,服务器对服务器是很快的,国内对国内也很快,国内服务器对国外也快一些,这种方法比直接访问国外服务器的速度要快一些。

  首先要找到你国内VPS的内网ip,不是你的公网IP,使用命令ipconfig即可找到。

  对于Windows Server 2008以下版本的系统,需要安装IPV6才行,如果是Windows Server 2008或者以上的系统则默认已经支持。

  之后,使用Portproxy模式下的Netsh命令即能实现Windows系统中的端口转发,转发命令如下

  netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress

  解释一下这其中的参数意义

  1.listenaddress -- 等待连接的本地ip地址

  2.listenport -- 本地监听的TCP端口(待转发)

  3.connectaddress -- 被转发端口的本地或者远程主机的ip地址

  4.connectport -- 被转发的端口

  这里举个例子,服务器内网IP是172.16.0.4,需要将8080端口转发到国外服务器104.104.104.104的9999端口,那么命令如下:

  netsh interface portproxy add v4tov4  listenaddress=172.16.0.4 listenport=8080 connectaddress=104.104.104.104 connectport=9999

  下面的命令是用来展示系统中的所有转发规则:

  netsh interface  portproxy show  v4tov4

  删除刚才创建的那个转发的命令:

  netsh interface  portproxy delete v4tov4 listenaddress=172.16.0.4 listenport=8080

  注意:连接时请确保防火墙(Windows防火墙或者其他的第三方防护软件)允许外部连接到一个全新的端口,如果不允许,那么只能自行添加一个新的Windows防火墙规则。

  原文链接:《通过Windows实现端口转发》