实现宿主机到虚拟机的端口映射(端口转发)

测试环境:

宿主机:Windows Server 2003 R2 Enterprise X64 Edition

虚拟机:VM10.0.2 ,装的CentOS7.4

 

需求背景:

宿主机系统更换麻烦,把外部请求从宿主机转发到虚拟机内的linux处理,宿主机开放端口8080,linux开放端口80,linux的ip为192.168.150.128

 

实现方式:

     实现的方法有以下几种:

  • 用软件实现

                 比如经常使用的Porttunnel,还有其他类似的tcpmapping

 

  • 使用windows自带的netsh

               基本命令如下:

          查看所有已有的端口映射:

netsh interface portproxy show all

 

          创建新的端口映射关系:

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8080 connectaddress=192.168.150.128 connectport=80

  /**这里是把本机8080的端口数据转发到192.168.150.128的80端口上去**/

 

           删除已有的端口映射关系:

netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=8080

           

 

  • 使用虚拟机配置实现

        1.在vm虚拟机菜单上点击“编辑”菜单,选择“虚拟网络编辑器”

        

 

         2.在弹出窗口左上方选择“VMnet8”,然后在右边选择“NAT设置”

 

 3.在弹出的“NAT设置”窗,中间位置点击“添加”按钮

 

4.在弹出的“映射传入端口”窗,按要求填入信息

 

这里的配置是把宿主机8080的端口数据转发到虚拟机内的linux系统192.168.150.128的80端口

 

小结

       通过对服务器的压测发现,在100用户并发下,通过端口映射后都会有错误率,直接在宿主机内通过linux的80端口压测则没有错误。其中用软件实现的方式的错误率最高,在60%上下,netsh次之,在30%上下;通过虚拟机配置的最好,错误率15%上下。

      为什么会出现该情况,原因未查到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值