Windows中netsh命令实现端口转发

背景

最近租了一个windwos系统的服务器和sqlserver数据库。服务器有外网ip,数据库只能内网访问,为了开发方便,需要做个端口转发,实现通过外网连接内网的sqlserver。刚好windows自带了Interface Portproxy这个东西,能满足要求,下面简单记录一下配置过程

简介

相关的参数:数据库IP:172.16.0.123 端口:1433 服务器IP:172.16.0.10 需要映射的端口:1344,接下来就是一条命令搞定了

netsh interface portproxy add v4tov4 listenport=1344 connectaddress=172.16.0.123 connectport=1433

接下来就可以通过外网IP加端口 1344 访问sqlserver了,下面记录一下相关的参数

  • listenport 必需。指定要监听的端口
  • listenaddress 需要监听的计算机ip,未指定则默认值为本机
  • connectport 需要转发的端口,未指定则默认值为本地计算机上的listenport
  • connectaddress 需要转发的计算机ip,未指定则默认值为本机
  • protocol 指定的协议,暂仅支持TCP

相关命令

查看

netsh interface portproxy show all

修改

netsh interface portproxy set v4tov4 listenport=1333 connectaddress=172.16.0.123 connectport=1433

删除

netsh interface portproxy delete v4tov4 listenport=29090

注意事项

如果系统是xp/2003的话,要先安装ipv6 netsh interface ipv6 install

请确保防火墙(Windows防火墙或通常包含在杀毒软件中的第三方防火墙)允许到新端口的传入连接。 如有必要,可以使用以下命令添加新的Windows防火墙规则:

netsh advfirewall firewall add rule name=”forwarded_RDPport_1344” protocol=TCP dir=in localip=172.16.0.10  localport=1344 action=allow

如果该命令未返回任何内容并且通过netsh interface portproxy进行端口转发不成功,则请确保iphlpsvc(IP Helper)服务当前已在你的系统上运行

来源:https://blog.wixy.cn/article/138.html

评论

此博客中的热门博文

如何防止Cloudflare CDN背后的图片被盗连(Hotlink Protection)?

nginx中location的顺序(优先级)及rewrite规则写法

Yaf framework 相关项目骨架

数据库(第一范式,第二范式,第三范式)

小米 11 Ultra 免 root 精简列表

远离你身边的煤气灯人

kubernetes中部署mysql高可用集群

分布式定时任务对比

Java 认证考试 OCAJP 经验总结

J4125 低功耗 2.5G 迷你软路由详细折腾心得