关于宿主机与虚拟机网络连接的怪现象

假期结束回到学校,本来计划好了一些要做的事情,可是计划赶不上变化,刚打开电脑就被一个上网问题所困住了。。。

我们学校用的是电信的天翼校园宽带,而且也只有电信这一家,可以说是垄断。。。至于为什么没有其他的ISP,官方说法是我们这边太偏僻了,没有基站,不好布线等等。。其实真实原因吗,咳咳,大家心里都清楚。。。。

说到这个上网问题,我忍不住又要吐嘈一下。。。凡是用过电信的天翼校园宽带的都会有同一个感受——太坑。。。限制使用路由器,也就是说一个帐号只能一个人用,动态密码6小时一换,投诉电话不知打了多少,电信官方说是为了安全,说什么无线用着不安全。。是的,我承认无线的确存在着不安全性,相比较而言有线的确略微安全一些,不过这不能成为电信打算搞垄断的借口。。。一人一个帐号,说白了不就是想多赚些钱,多获取些利益嘛。。。电信不就是怕如果支持了路由器拨号,一个宿舍就只买一个帐号,然后赚的钱就少了嘛。。。其实这想法完全是没有必要的。。。以我自身的切身经历来说,我曾经也和舍友一起买过可以使用路由器的“黑号”,8M带宽,三个人用。按理说其实也差不多了。。。如果只是打打游戏的话,其实带宽使用量不是很大的。。。但是如果其中有人用诸如迅雷之类的软件下载东西,尤其是几个G的东西,那么迅雷就会把所有的带宽资源都抢占一空,别说打游戏了,连打开个网页都困难。。虽然可以限制资源的利用,但毕竟都是舍友,而且大家都出了钱,这么做也不怎么好意思。。。再加上后来“黑号”被封,我也就再没有和别人合租过无线网。。。

但是如今这个互联网时代,手机上个网最好都是在有无线覆盖的地方。。光靠那每个月300M的数据流量哪够,再加上这边信号又差,有时候都连不上。。为了蹭个无线还要跑去食堂。。。

好像有点跑题了。。。。。总而言之,电信的天翼校园宽带就是坑,吐嘈不完的坑。。。。



言归正传。。。正如上面所说,我现在用的是天翼校园宽带,它是需要专门的拨号软件进行拨号的,而这个拨号软件只有windows和mac两种版本,而我恰恰使用的是Linux。。(电信这是在瞧不起Linux吗,还是瞧不起使用Linux的学生???)因此我为了上个网就必须煞费苦心,比别人多绕点路。。。(我会说我还打了无数个电话去电信那边反应情况吗?可是结果呢。。。。。)

之前我都是在虚拟机中开一个winxp充当网关,让Linux宿主机去共享Winxp的网络。(详细做法:首先确保虚拟机XP中已装天翼校园客户端,然后共享天翼校园客户端生成的网络连接适配器。接着把本地连接的IP和宿主机的IP设置成同一网段,具体来说XP中本地连接IP为192.168.0.1,宿主机中IP为192.168.0.250,网关为192.168.0.1,子网掩码都是255.255.255.0。然后宿主机再设置一个DNS服务器地址,一般为8.8.8.8。不过我有时设成8.8.8.8会无法连接,因此我设成了电信的DNS:218.2.2.2)

这一次,我仍是按以往的步骤打开了虚拟机,帐号是连上了,虚拟机中也可以上网,但是宿主机却无法上网。。。于是开始一步步排查。。。

首先我排除了网线问题,因为之前都是可以用的,而且虚拟机中也可以上网。然后是IP设置问题,双向互ping一下,都可以通,排除两边的防火墙问题(注:如果出现虚拟机可以ping通宿主机,而宿主机ping不通虚拟机,很可能是虚拟机设置了防火墙)。然后检查DNS,通过nslookup可以查找到IP地址,排除。。

现在的问题是:直接ping外网,可以ping通,但就是无法打开网页,一直显示正在连接。。。用netstat查看,果然有大量的SYN_SENT状态。意思就是说我一直再向远端发送连接请求,但是却无法建立连接(TCP三次握手中的过程)。。我上网谷歌百度了一番,有说是设置了代理服务器的,不过我并未设置,查看了一下,的确未设置。也有说是协议问题,要netsh winsock reset,但是未见成效。。。要说感染病毒嘛,看了下进程,没有占用率很大的。。。

最后用wireshark抓了包看了看。我在虚拟机和宿主机上都抓了一下,发现了这样一个现象:

首先先假设我的宿主机的IP为192.168.0.250,虚拟机的本地连接IP为192.168.0.1,连接外网的IP是动态分配的,假设为58.2.2.2。

1、在虚拟机中抓包:192.168.0.250和58.2.2.2都可以从DNS服务器上获取百度的地址,假设为180.3.3.3。然后192.168.0.250和58.2.2.2分别向180.3.3.3发送SYN包,180.3.3.3也分别回了一个SYN+ACK包,但是之后58.2.2.2向180.3.3.3发送了一个ACK包,却不见192.168.0.250的ACK包。

2、在宿主机中抓包:192.168.0.250和58.2.2.2都可以从DNS服务器上获取百度的地址,假设为180.3.3.3。然后192.168.0.250和58.2.2.2分别向180.3.3.3发送SYN包,但是这一次180.3.3.3却只向58.2.2.2发送SYN+ACK回包,看上去就像是发给192.168.0.250的回包被截了一样。。

我不知道如何解决,最后实在没有办法,只好重装了虚拟机,好在问题也在重装后解决了。。。。

时间: 2024-10-20 04:46:13

关于宿主机与虚拟机网络连接的怪现象的相关文章

Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案

首先,我们要弄清楚三种常见的连接方式中的桥接方式的网络结构: .bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,你需要手工为虚拟系统配置IP地址.子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信.同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网. 使用桥接模式的虚拟系统和宿主机器的关

VirtualBox实现宿主机和虚拟机之间网络的通讯

摘要:实现宿主机和虚拟机之间网络的通讯 环境: 宿主机操作系统            WindowsXP 虚拟机软件                    VirtualBox 虚拟机操作系统             Linux 原理: host-only(主机模式) 在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开.这时你就可採用host-only模式. 在host-only模式中.全部的虚拟系统是能够相互通信的,但虚拟系统和真实的网络是被隔离开的. 提示:在host-only模式下

Ubuntu下virtualbox nat网络模式下 实现宿主机访问虚拟机

参考原文(在windows环境下):http://hi.baidu.com/george_gly/item/5183b76e5a79e49ac5d2498b nat网络模式下,虚拟机可以访问外网.访问宿主机,但宿主机ping不通虚拟机ip,也无法ssh.ftp.http等方式访问虚拟机 如果是简单需求,可以通过virtualbox自带的端口转发功能实现,宿主机对虚拟机的访问 1.打开虚拟机设置中的网络项--> Port Forwarding 2.找到对应nat模式的网卡,点击下面的端口转发,增加

宿主机与虚拟机的相互通信

宿主机与虚拟机的相互通信                                       刘陈琪 第一步:在宿主机中设置IP地址. 1:找到控制面板,点击打开 2选择网络和Internet,点击打开. 3找到更改适配器设置,点击打开. 4找到网络和共享中心,点击打开. 5找到VMnet1,点击打开. 6找到属性,点击打开. 7选择版本4,点击属性确定. 8设置宿主机的IP地址,点击确定. 第二步:在虚拟机中设置IP地址. 9在虚拟机中找到控制面板,点击打开网络和Internet,点击

VMWare虚拟机 网络连接模式

1 VMWare虚拟机bridged.host-only和NAT网络模式的区别和用法 VMWare提供了三种工作模式,它们是bridged(bridged模式:对应网卡vment0).NAT(网络地址转换模式:对应网卡vment8)和host-only(主机模式:对应网卡vment1).三个网卡可以理解为三个通道.要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式.(在Linux下面ifconfig显示eth0第一个网卡IP,(eth就是ethernet以太网,在这里指网络接口

VMware虚拟机宿主机与虚拟机通讯慢解决方法

在公司,为了充分利用服务器性能,我在服务器上装了一个VMware Server2.0 ,真是方便,又免费,又稳定,经过一系列调优,速度挺好(具体调优过程,查询我以前发的博文吧),一台计算机变了好多台服务器(就是硬盘IO受限,回来申请加硬盘). 近期调测系统时发现,宿主机与虚拟机通讯慢,奇慢无比,只有2K-5K:但是其他通讯都是非常正常的,和内网其他计算机一样.巨崩溃.... 经过一系列痛苦...最后发现这个问题竟然是宿主服务器的网卡驱动的问题:解决方法非常简单: 在"本地连接"的属性里

Vmware Centos7 配置静态 ip 和 使宿主机和虚拟机互相 ping 通

NAT 方式1. 配置静态 ipVmware 安装 Centos7 可以参考 https://blog.csdn.net/guo_ridgepole/article/details/78973763 安装完 Centos7 后,开始给虚拟机配置静态 ip 查看配置 点击“编辑虚拟机设置” 选择“网络适配器” -->选中 NAT 模式 -->点击确定 点击“编辑” -->虚拟网络编辑器 VMnet8 -->NAT 设置然后记下 3 中的网关 ip,后面配置要用到 配置静态 ip启动虚

为什么默认配置下嵌套的VMware vSphere/ESXi上安装的虚拟机网络连接失败?

VMware vSphere/ESXi允许嵌套安装.所谓嵌套安装如下图所示,即将vSphere/ESXi虚拟化软件安装在vSphere/ESXi的虚拟机中.而在这样嵌套的vSphere/ESXi虚拟机上还可以部署虚拟机,然而在默认的配置中,这些虚拟机网络连接是失败的.本文将介绍其中的机理以及解决方法. 那么在默认配置下这些嵌套vSphere/ESXi上的虚拟机为什么网络不通呢?这要从vSphere/ESXi的虚拟网络交换机的工作原理说起.该虚拟交换机虽然被称作交换机但是与物理交换机的工作原理还是

VMWare之——宿主机与虚拟机互相ping通,宿主机ping通另一台机器的虚拟机

版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明出处:http://blog.csdn.NET/l1028386804/article/details/52267554 今天给大家带来一篇关于Vmware的的小插曲,好,我们进入正题: 一.宿主机与虚拟机互相ping通 这个事情非常简单.本人使用VMware Station 9虚拟机,虚拟机安装的CentOS 6.5操作系统,宿主机是WIN7系统(不过是什么系统都不重要啦) 要完成互相ping通,只需要做两件事情: (1)设置VM