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服务器进行域名解析就可以正常访问外部域名网络。
----------------------------------------------------------------------------------------------------------------------------
另外十分感谢一位大神的热心帮助,解决了困扰了半天的问题。
VM 端口映射问题的更多相关文章
- 外机连接本机的虚拟机服务器_VM端口映射
说明:有时候我们把服务器放在虚拟机上的时候只能本机在网页上连接,但是如果想要别的电脑也能访问的话,需要在VM上做一个映射.实现如下: 设置VM端口映射 一.打开VM->编辑->虚拟网络编辑 ...
- Linux安装VritualBox实现虚拟机win2003端口映射 支持远程
1. 使用VNC登录到Linux系统 2. 安装VritualBox 找到VritualBox的软件包 这里的是run格式的 可以直接在终端运行 需要几分钟时间 3.VritualBox新建虚拟机 ...
- 详解VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射
本文以VirtualBox为例 如果出现主机无法ping通虚拟机的情况,请首先确认虚拟机防火墙已关闭. 一.NAT模式 特点: 1.如果主机可以上网,虚拟机可以上网 2.虚拟机之间不能ping通 3. ...
- VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射
一.NAT模式 特点: 1.如果主机可以上网,虚拟机可以上网 2.虚拟机之间不能ping通 3.虚拟机可以ping通主机(此时ping虚拟机的网关,即是ping主机) 4.主机不能ping通虚拟机 应 ...
- linux主机下的Vmware Workstation配置NAT设置 端口映射-Ubuntu为例
最近折腾虚拟机,由于是在linux下进行的,而相关资料比较少,所以遇到了一些问题. 一个就是配置vmware workstation的NAT设置.因为一般来说,NAT可以共享主机的ip,从而能以主机身 ...
- 16. docker 网络 端口映射
一.本地操作 1.如何将 nginx 暴露给外界 创建 nginx 服务器 docker run --name web -d nginx 查看 nginx 的 ip地址 docker network ...
- Windows10环境配置nat123端口映射访问mysql
背景:因工作需要,在宽带路由器内部设置一个台式机(可上网),配置成数据库服务器.分散各处的多台外网机可以通过jdbc连接该数据库服务器进行开发.要进行端口映射. 环境: 宽带通 Windows10企业 ...
- Tp-link TL-WR841N无线路由器端口映射到外网如何设置
针对TP-LINK的无线路由器进行演示如何设置端口映射和访问控制,演示使用的具体型号是TP-LINK TL-WR841N 3G无线路由器如何设置端口映射. 什么是端口映射? 端口映射又称端口转发,有的 ...
- TTradmin v1.1 - 免端口映射穿透任何内网、基于radmin核心的即时远程协助
TTradmin 是一款免端口映射可直接穿透任何内网,基于radmin核心的即时远程协助软件.在使用的时候只需要保证“协助端”和“被协助端”使用同一个验证码即可实现安全便捷的远程控制,不需要进 ...
随机推荐
- JavaScript实现图片裁剪预览效果~(第一个小玩具)
感觉开始学习的前一个月真的太不珍惜慕课网的资源了 上面蛮多小玩意真的蛮适合我这样刚入门JavaScript的同学加深使用理解 大概收藏了百来门或大或小的课程 有一个感觉就是学这个真的比光是看书看概 ...
- Jmeter之Bean shell使用-常用内置变量
Bean Shell常用内置变量 JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下: log:写入信息到jmeber.l ...
- 深度学习原理与框架-Tensorflow基本操作-变量常用操作 1.tf.random_normal(生成正态分布随机数) 2.tf.random_shuffle(进行洗牌操作) 3. tf.assign(赋值操作) 4.tf.convert_to_tensor(转换为tensor类型) 5.tf.add(相加操作) tf.divide(相乘操作) 6.tf.placeholder(输入数据占位
1. 使用tf.random_normal([2, 3], mean=-1, stddev=4) 创建一个正态分布的随机数 参数说明:[2, 3]表示随机数的维度,mean表示平均值,stddev表示 ...
- 机器学习进阶-图像形态学操作-开运算与闭运算 1.cv2.morphologyEx(进行各类形态学变化) 2.op=cv2.MORPH_OPEN(先腐蚀后膨胀) 3.op=cv2.MORPH_CLOSE(先膨胀后腐蚀)
1.cv2.morphologyEx(src, op, kernel) 进行各类形态学的变化 参数说明:src传入的图片,op进行变化的方式, kernel表示方框的大小 2.op = cv2.MO ...
- Vue 修改dist 目录.
前后端分析之后,前端 打包处理 2
- Java中==号与equals()方法的区别
String str1 = new String("abc"); String str2 = new String("abc"); System.out.pri ...
- Python : 什么是*args和**kwargs
让生活Web个够 先来看个例子: def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '-- ...
- git 常用的命令总结
下载gitlab上的代码: git clone ssh://git@47.xx.xx.xx:4xx/xxx.git 查看git代码状态: git status 不提交的代码文件: git checko ...
- C# 容器重用避免GC 的论证
var lst = new List<int>(); lst.Capacity = ; var cnt = lst.Count; var cp = lst.Capacity; ; i< ...
- linux 文件系统之superblock
为了实际测试这个pagecache和对裸盘操作的区别,我一不小心敲错命令,将一个磁盘的super_block给抹掉了,全是0, dd if =/dev/zero of=/dev/sda2 bs=409 ...