VM 端口映射问题

 

环境:

宿主机:WIN 10 --192.168.9.87

虚拟机:CentOS ---192.168.255.129

联通模式:NAT模式

 

一、VM做端口映射

1.为了方便管理,设置虚拟机为静态IP

2.配置端口

 

3.测试ssh -p 5555 192.168.9.87 是否能转到 192.168.255.129

发现无法访问。【192.168.9.87与192.168.255.129 防火墙都已经关闭】

二、问题排查

1.127.0.0.1:5555 可以顺利访问 192.168.9.87:5555 无法访问

因此可以推断数据包到127.0.0.1 却没有到达192.168.9.87

换句话说 数据包到达本地的VM8网卡 没有到达本地连接 在192.168.255.129上检查与192.168.9.87的连通性,果然不通

2.连通性问题稍后解决。先解决目前的问题,此时有两种办法

 

第一种:

①宿主机进行再次端口转发 将192.168.9.87的数据转发到127.0.0.1:5555,此时宿主机需要再开通一个端口,比如8888【不能选择同一端口】

②确认宿主机ip helper服务是不是在运行

 

③然后cmd 运行命令

netsh interface portproxy add v4tov4 listenport=8888 connectaddress=127.0.0.1 connectport=5557 【添加转发端口】

添加成功后,可以访问 。实际上路由 外部->192.168.9.87:8888->127.0.0.1:5557->192.168.255.129

 

第二种:

将VM8网卡与本地连接打通 互联,开通本机路由功能【后续研究】

 

三、其他问题

1.在192.168.255.129 无法ping通 宿主机 192.168.9.87,可以ping通网关 192.168.255.2

2.静态IP无法访问,DHCP可以,推测是网络配置问题

3.ping VM8的网卡无法ping通

4.netstat -rn检查linux本机路由信息

发现没有0.0.0.0的路由

5.检查/etc/sysconfig/network-scripts 下的网卡配置文件后发现是里面网关配置问题,更正后重启network后正常

6.192.168.9.87:5555 这个可以访问了 192.168.9.87:8888 可以删除此条转发

netsh interface portproxy delete v4tov4  listenport=8888

 

 

四、补充

上述整个网络拓扑如下图

 

 

 

 

 

 

因此,当VM8不生效时,宿主机可以通过特定端口进行虚拟机访问,虚拟机能正常返回数据包

当NAT网关不生效时,或者虚拟机未设置网关,宿主机可以正常访问虚拟机,但是虚拟机的返回数据包将丢失

 

 虚拟机连接外网,如果是静态IP ,则通过NAT网关到达宿主机,再通过DNS服务器进行域名解析就可以正常访问外部域名网络。

 

 

 

----------------------------------------------------------------------------------------------------------------------------

另外十分感谢一位大神的热心帮助,解决了困扰了半天的问题。

 

posted on 2018-09-12 11:30  兔大锤  阅读(1777)  评论(0编辑  收藏  举报

导航