zoukankan      html  css  js  c++  java
  • 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:Windowssystem32>netsh interface portproxy show all                                                                                                                      侦听 ipv4:                 连接到 ipv4:                                                                                                                       地址            端口        地址            端口                                --------------- ----------  --------------- ----------                          10.0.10.21    8081          192.168.33.111  8081   
      

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

    防火墙开启

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

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

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

    【end】

  • 相关阅读:
    LoadRunner字符编码转换
    登山记02-百丈岭古道(昌北古道)_20201213
    JVM GC原理和监控
    登山记01_径山古道_20201107
    awk命令
    shell计算文件中某一列的平均值
    linux命令后台运行
    二维数组_基础(九)
    一维数组(八)
    选择语句switch总结(七)
  • 原文地址:https://www.cnblogs.com/tielemao/p/14149311.html
Copyright © 2011-2022 走看看