欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  新闻

通过Windows实现端口转发

程序员文章站 2022-04-12 09:41:22
  这里介绍一个使用两台云服务器访问外网的方法,一台国内服务器,一台国外服务器,国内服务器通过端口转发来用于中转,中转的好处是,服务器对服务器是很快的,国内对国内也很快,国内服务器对国外也快一些,这种方法比直接访问国外服务器的速度要快一些。...

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

  首先要找到你国内云服务器的内网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防火墙规则。