当前位置: 技术问答>linux和unix
无法访问虚拟机中的服务器
来源: 互联网 发布时间:2017-05-20
本文导语: 用socket写了个简单的服务器和客户端程序, 但在主机上运行客户端访问虚拟机上的服务器却失败, 返回TimeOut错误. 主机访问虚拟机上SSH 服务器之类的都可以. 虚拟机网络设置为桥接的. 用tcpdump获取信息如下: 14:01:56.48...
用socket写了个简单的服务器和客户端程序, 但在主机上运行客户端访问虚拟机上的服务器却失败, 返回TimeOut错误.
主机访问虚拟机上SSH 服务器之类的都可以.
虚拟机网络设置为桥接的.
用tcpdump获取信息如下:
192.168.1.212是主机IP.
看起来从虚拟机发出IP包无法到达主机, 请问是为什么?
主机访问虚拟机上SSH 服务器之类的都可以.
虚拟机网络设置为桥接的.
用tcpdump获取信息如下:
14:01:56.489264 ARP, Request who-has localhost.localdomain tell 192.168.1.212, length 46
14:01:56.489314 ARP, Reply localhost.localdomain is-at 00:0c:29:b2:c9:8c (oui Unknown), length 28
14:01:56.489401 IP 192.168.1.212.53491 > localhost.localdomain.7879: Flags [S], seq 2890706265, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
14:01:56.489474 IP localhost.localdomain > 192.168.1.212: ICMP host localhost.localdomain unreachable - admin prohibited, length 60
14:01:59.489135 IP 192.168.1.212.53491 > localhost.localdomain.7879: Flags [S], seq 2890706265, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
14:01:59.489231 IP localhost.localdomain > 192.168.1.212: ICMP host localhost.localdomain unreachable - admin prohibited, length 60
14:02:01.504126 ARP, Request who-has 192.168.1.212 tell localhost.localdomain, length 28
14:02:01.504308 ARP, Reply 192.168.1.212 is-at 00:0b:2f:6a:1e:b4 (oui Unknown), length 46
14:02:05.489455 IP 192.168.1.212.53491 > localhost.localdomain.7879: Flags [S], seq 2890706265, win 8192, options [mss 1460,nop,nop,sackOK], length 0
14:02:05.489533 IP localhost.localdomain > 192.168.1.212: ICMP host localhost.localdomain unreachable - admin prohibited, length 56
192.168.1.212是主机IP.
看起来从虚拟机发出IP包无法到达主机, 请问是为什么?
|
看了抓包,可以简单分析下(编号按照包的序号)
1~2. 主机arp 请求有应答,得到虚拟机mac地址
3. 主机client 封装数据包发往 虚拟机
4. 虚拟机ICMP 主机,但主机没有应答 ※
7~8. 虚拟机arp请求有应答,得到主机mac地址
10. 虚拟机ICMP 主机,但主机没有应答 ※
觉得※比较奇怪
虚拟机为什么主动发出ICMP请求呢? 楼主当时在虚拟机上ping 主机了吗?
如果楼主没有ping主机, 那么ICMP请求就是虚拟机server自动发出来的
那么导致client和server不能通信的原因可能就是 : 主机没有应答ICMP
我记得windows默认配置是不自动应答ICMP的,楼主需要设置一下让windows能自动应答ICMP
1~2. 主机arp 请求有应答,得到虚拟机mac地址
3. 主机client 封装数据包发往 虚拟机
4. 虚拟机ICMP 主机,但主机没有应答 ※
7~8. 虚拟机arp请求有应答,得到主机mac地址
10. 虚拟机ICMP 主机,但主机没有应答 ※
觉得※比较奇怪
虚拟机为什么主动发出ICMP请求呢? 楼主当时在虚拟机上ping 主机了吗?
如果楼主没有ping主机, 那么ICMP请求就是虚拟机server自动发出来的
那么导致client和server不能通信的原因可能就是 : 主机没有应答ICMP
我记得windows默认配置是不自动应答ICMP的,楼主需要设置一下让windows能自动应答ICMP
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。