windows用netsh实现端口映射

windows用netsh实现端口映射


by:铁乐与猫

update: 2019-07-15

环境

  • 映射方(进行端口转发)

    • 系统: windows10(默认已安装netsh)

    • ip:10.0.10.21 (192.168.33.1)

    • 端口:tcp 8081

  • 被映射方(被转发)

    • 系统: centos7(vagrant虚拟机)
    • ip:192.168.33.111 (与宿主机网络连通)
    • 端口:tcp 8081 (web服务)

需求

对centos7的8081端口进行转发,以便与10.0.10.21同一网络的其它机器能够访问到虚拟机上的web服务。

使用netsh在windows宿主机上做转发好处是不需要影响到虚拟机的网络配置。虚拟机不需要设置成连接10网段的方式。比较灵活,在很多场合都能用上。当然如果宿主机是linux的系统就直接做iptables转发规则了。

这里要注意的是,netsh做完转发后,windows的防火墙规则也相应要添加开放。

netsh 命令

Windows的netsh是一个命令行脚本实用工具。

使用netsh工具 ,可以查看或更改本地计算机或远程计算机的网络配置。

可以手动运行Netsh命令,或创建批处理文件或脚本实现过程的自动化。

netsh提供了脚本功能,让您在批处理模式下针对指定的计算机,运行一组命令。利用netsh ,可以将配置脚本保存为文本文件,便于存档或用于配置其他的计算机。

  • 例,上面的需求可以添加一个IPV4到IPV4的端口映射去解决

    netsh interface portproxy add v4tov4 listenaddress=10.0.10.21 listenport=8081 connectaddress=192.168.33.111 connectport=8081
    

    其中:

    • netsh interface portproxy 表示端口映射列表

    • add v4tov4 表示添加的是IPV4到IPV4的端口

    • listenaddress 表示侦听的ip地址,填的是映射方

    • listenport 侦听的端口,可以与被映射的端口设置成不一样

    • connectaddress 被映射方(连接方)的ip地址

    • connectport 被映射方的端口

  • 如果开启后想删除的话:

    netsh interface portproxy delete v4tov4 listenaddress=10.0.10.21 listenport=8081
    

    add 换成delete,很简单。

  • 查看已存在的转发列表:

    netsh interface portproxy show all
    
    # 例:
    C:\Windows\system32>netsh interface portproxy show all                                                                                                                      侦听 ipv4:                 连接到 ipv4:                                                                                                                       地址            端口        地址            端口                                --------------- ----------  --------------- ----------                          10.0.10.21    8081          192.168.33.111  8081   
    

    如果需要一直做转发,重启机器后仍要生效的话,就做个脚本开机启动即可。

防火墙开启

如果宿主的window有开防火墙的话,要相应的添加开放端口规则。

打开【网络和internet设置】- 【Windows防火墙】- 【高级设置】- 【入站规则】- 【新建规则】

根据提示设置好相关端口即可。

【end】

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁乐与猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值