您现在的位置:首页 > 系统运维 > windows运维

通过windows netsh命令进行端口转发重定向 (支持windows Server 2008 、2012、2016 和windows 7)

我们知道,在Linux系统中,可以使用iptables非常轻松地配置端口转发。在Windows Server系统上也可以使用简单的CMD命令实现端口转发服务,即我们可以使用命令Netsh的portproxy功能,具体实现如下:

1、打开CMD,添加转发端口命令:

netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport
e.g.
netsh interface portproxy add v4tov4 listenaddress=192.168.1.173 listenport=1521 connectaddress=172.16.1.32 connectport=1521

 

listenaddress – 等待连接的本地IP地址。

listenport – 本地侦听TCP端口。

connectaddress – 将传入连接重定向到本地或远程IP地址(需要本地可达)

 

2 、确保侦听端口已起来

netstat -ano | findstr :1521

 

3、显示系统中所有的转发条目

netsh interface portproxy show all
#或者
netsh interface portproxy dump

 

4、删除指定的转发条目或者清空所有条目

netsh interface portproxy delete v4tov4 listenport=1521 listenaddress=192.168.1.173
netsh interface portproxy reset (清空命令)

 

 

特例:在Windows Server 2012 R2中,端口转发规则有可能会在系统重启后被重置,在这种情况下,可以在windows任务计划里添加一个开机启动的端口转发的脚本。

          在Windows 2003/XP中,必须在注册表(HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters)中找到并设置IPEnableRouter参数为1才能实现端口转发。

另外如果端口转发不生效,请检查IPv6协议是否正常安装。

版权所有
侵权必究

上一篇
Windows下使用tail -f命令查看中文日志乱码问题
下一篇
如何自动删除windows下前一个星期的日志文件