Ubuntu两台虚拟机之间Ping不同

来源:互联网 发布:怎样做淘宝详情页 编辑:程序博客网 时间:2024/05/16 08:37

最近在调整学习计划,为了迎合自己走上高大上IT之路,我开始了各种虚拟机的调试配置的工作;问题一大堆;今天就总结一下我在ping两台虚拟机之间的一些问题吧;

虚拟机三种网络连接方式的理解

1)桥接模式,虚拟机和真实机处于同一以太网中,虚拟机可以使用真实机所在网络一切资源;

即在vm ware虚拟机属性里面设置网卡为桥接,这样启动虚拟机后,虚拟系统就会通过网卡桥接到局域网。一般地宿主机是自动获取局域网ip,那么虚拟机也设置为自动获取局域网ip;如果宿主机不是自动设置为局域网ip,那么就给虚拟机设置一个和宿主机(其IP为:10.232.70.9)同一网段的真实IP,如设置为10.232.70.235,就可以了,一样上网,跟本机无任何区别。采用bridged方式需要有你的局域网网段的ip,,这种方式不需要Vm1、Vm8同样可以上外网。


2)NAT模式,即网络地址转换,从描述中可以了解到,处于这种方式下的虚拟机由虚拟机自带的DHCP分配的ip地址,并处于某个分离网络内,不具备外网ip,访问外网时,通过地址映射变成合法ip(相对于外网来说)进行访问。

使用nat方式默认的虚拟机配置下使用dhcp自动获取ip即可。如果要自己定义静态ip的话,进入 
edit->virtual network setting->host virtual network mapping->vmnet8,点后面的>,subnet可以看到nat所在的网段,自己设置一个该网段的ip也可以(也可以在此修改为其他网段,保证虚拟机中的网段和这里一致),虚拟机网关ip在nat标签下可以看到。 
个人比较喜欢用nat方式,不用受限于局域网环境。但是只能虚拟机访问外部网络,外部除了主机外其他不能访问虚拟机(但是可以通过设置端口映射实现)。


3)Host-only封闭式网络,处于此模式下所有在同一网络的虚拟机可以互相访问但是不可访问外网

之所以我的两台虚拟机ping不通,主要是因为那个时候我的真实网卡连接在宽带网上访问外网,而两台虚拟机的桥接模式使得它们与真实机在同一网络中,而设置的ip却是192这类私有地址,故互相ping不通,那么该怎么办呢?从上面描述可以知道,采用NAT或者host-only都可以达到目的。

 如果虚拟机里能ping同本机,而本机却ping不通虚拟机,或者虚拟机不能ping通本机,可能有如下原因:
如果是桥接模式,那么可能性1:虚拟机防火墙禁ping,请关闭虚拟机防火墙重试;可能性2:桥接设置的ip有冲突或者是虚拟机桥接服务不正常。

如果是nat模式,那么可能性1:虚拟机防火墙禁ping,请关闭虚拟机防火墙重试;可能性2:本机上的vmnet8网卡被禁用了。可能性3:vbox的nat模式,vpc的共享模式,本来就这样的。

如果是host-only模式,一般就是虚拟机防火墙禁ping了。


发现有部分虚拟机之间ping不通,通过大半天查资料,发现时虚拟机mac地址相同导致,所以在复制虚拟机时候,选择i copy it, 不是i move it,可以通过修改虚拟机文件来修改mac,方法如下:

1. 在虚拟机安装目录,找到虚拟机名字点vmx文件

2. 用文本工具(比如记事本或vi)打开vmx配置文件,然后修改一下几行:
      ethernet0.generatedAddress = "00:0c:29:1c:35:cc"
   uuid.bios = "56 4d e0 c4 a2 41 24 1b-5b 6e 4b a0 0b 1c:35:cc"
    注释:
     其中 00:0c:29: 不能够修改
          1c:35:cc可以修

linux网卡的错误 expected ignoring

碰到了一个问题,就是换写hwaddr之后一直出现这个错误,Bringing up interface eth0: Device eth0 has different MAC address than expected,ignoring. 我不知道为什么,所以查了好久,终于查到了。在修改配置文件的时候,不能直接改mac,因为默认的是hwaddr=“xx:xx:xx:xx:xx:xx”,应该将hwaddr改为macaddr。呵呵。否则就会出现上边红字的问题。


1 0