
端口转发服务是由一组端口转发规则定义的策略。一个端口转发服务可以应用到一个或更多的服务器。然后服务器的入站网络访问就根据端口转发服务所定义的策略进行管理。可以根据需要指定一个或多个CIDR来过滤源lP地址,以允许来自特定IP地址的请求被转发。
这里介绍一下使用Windows服务器实现端口转发的功能,以一台Windows服务器转发另一台Linux服务器为例。
首先要找到Windows服务器的内网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端口转发到Linux服务器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防火墙规则。
该命令的常用参数如下:
netstat -ano | find listenport #查看是否启动成功
netsh interface portproxy show all #显示系统中的转发规则列表
netsh interface portproxy dump #查看portproxy设置
netsh interface portproxy delete v4tov4 listenport=localport listenaddress=localaddress
netsh interface portproxy reset #清除所有端口转发规则