解决CentOS6.x或RedHat Linux 6.x版本不能通过System eth0以固定IP访问外网的问题



       当你在VMware Workstation Pro中,打开从别人那里克隆来的系统,或者是开启迁移后的虚拟机系统时,VMware将会提示你:此虚拟机可能已被移动或 复制。为了配置特定的管理和网络功能。VMware Workstation需要知道是否已移动或复制了此虚拟机。如果… ..         

        如果机器没有任何的提示就直接开机了,或者是你选择了“  我已复制该虚拟机(P) ”,那么说明System eth0在正常开机后可能是不能使用的。造成这个问题的关键之处在于,经过复制克隆、机器迁移后,外表VMware Workstation Pro环境对于该虚拟系统而言,默认匹配了不一致的物理网卡ID,或者是不能成功识别并加载该系统本身的物理网卡ID。 所以当VMware Workstation提示我们时,一定要慎重选择!如果一个集群中拥有了或者即将存在此镜像的复品时,请选择“我已复制该虚拟机”;如果集群中不会出现复品,那我们可以直截了当地选择“我已移动该虚拟机”。

      你重新将网卡服务启动的时候:

root@localhost:/]#service network restart

    你就会发现,你的机器其实存在着如下的错误:

Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface Auto_eth1:  Error: No suitable device found: no device found for connection 'Auto eth1'.
                                                           [FAILED]
Bringing up interface eth0:  Error: No suitable device found: no device found for connection 'System eth0'.
                                                           [FAILED]

         如果你的目的很单纯,就是单纯要求机器能连接外网的话,你大可不必管System eth0的死活。而且由于你在刚开机的时候,选的是“  我已复制该虚拟机(P)   ”,系统将会帮你默认生成了一个新的连接点,如: Auto eth1 。以CentOS6.4机器为例,于是乎你通过编辑Network Connections  的方法,直接修改该连接点并输入固定IP等参数。但是当你需要再次重新启动网卡服务时,如下的故障依然存在:

Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface Auto_eth1:  Active connection state: activated
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/2
                                                           [  OK  ]
Bringing up interface eth0:  Error: No suitable device found: no device found for connection 'System eth0'.
                                                           [FAILED]

甚至于,当你使用 ifconfig 命令查看联网配置信息时,你会看到以下效果,这些效果勉强让你满意吧:

root@localhost:/]#ifconfig
eth1      Link encap:Ethernet  HWaddr 00:50:56:2A:F0:26  
          inet addr:192.168.1.120  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fe2a:f026/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:61 errors:0 dropped:0 overruns:0 frame:0
          TX packets:143 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5205 (5.0 KiB)  TX bytes:11074 (10.8 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:22 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1180 (1.1 KiB)  TX bytes:1180 (1.1 KiB)

 

       还有一个问题就是,在同一个集群当中,如果你机器的MAC地址与其它的机器相同,造成的结果有:MAC地址发生冲突,要么你的机器连不进集群,要么连进去了却把别人的给顶掉线了。不过很显然,前者的机率要大得多。但是,对于像小编这种打死了也想钻牛角尖、眼里还容不下一丝故障的人,就是要通过System eth0进行外部的网络的访问。那么对于    Error: No suitable device found: no device found for connection 'System eth0'.    的故障应该具体怎么办呢?

        纠正的方法其实也很简单,就是重新将外边VMware Workstation Pro对于该系统的MAC地址映射,与该系统内部网卡注册的标识ID匹配一致即可。再在其基础之上,进行固定IP的赋予。这里所说的都存在着一个前提,那就要求确保宿主系统的网络通路没有问题。也就是说,VMware Workstation Pro所依赖的系统环境,必须要求能够连接外网。

         VMware Workstation Pro对于该虚拟系统的联网方式有以下几种描述,即:桥接模式、NAT模式、仅主机模式、自定义模式和LAN区段模式。对于外网这一概念,需要使用桥接模式或者NAT模式。但其实这些联网的描述,对于CentOS6.x或RedHat Linux 6.x能否正常以固定IP的形式访问外部网络,本质上来说其实区别并不大。具体的解决步骤如下:

1、重新设置VMware Workstation Pro对该虚拟系统的联网描述

      这里选择网络连接中的桥接模式,并且在高级中分配固定的MAC地址。顺便记下该MAC地址的字符码,留着备用,如:00:50:56:2A:F0:26。弄好之后重新开机。

 

2、同步System eth0 MAC地址的net.rules

    在Network Connections中,将其它多余的连接配置删除,只剩System eth0为止。在删除70-persistent-net.rules文件之后,重启即可

root@localhost:/]#rm -rf /etc/udev/rules.d/70-persistent-net.rules
root@localhost:/]#reboot

   等到重新开机后,编辑70-persistent-net.rules文件,将配置内容中的NAME="eth1" 改为 NAME="eth0" 。

root@localhost:/]#vi /etc/udev/rules.d/70-persistent-net.rules

3、自定义联网参数

   编辑/etc/sysconfig/network-scripts目录下的ifcfg-eth0文件。注意:HWADDR就是我们刚才所记录的MAC地址,其中的字母请尽可能选择大写的形式

root@localhost:/]#vi /etc/sysconfig/network-scripts/ifcfg-eth0

  配置文件内容如下:

DEVICE="eth0"
BOOTPROTO=none
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=192.168.1.120
PREFIX=24
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME="System eth0"
HWADDR=00:50:56:2A:F0:26
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

       这里需要注意的是,GATEWAY和DNS的参数需要参照VMware Workstation Pro所依赖的系统的联网配置。即在Windows操作系统上按win+r键,运行cmd,在cmd中输入ipconfig命令回车,就可以看到Windows系统的联网信息了。如果信息中没有DNS这一项,那么在Linux配置时建议与GATEWAY配置相同参数即可。

      一般在完成保存配置之后,我们的System eth0就能正常使用了,如果还是不能使用的话,建议先重启网卡服务。经过service network restart之后,出现如下内容则说明我们的配置才算真正成功了:

root@localhost:/]#service network restart
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Active connection state: activating
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/1
state: activated
Connection activated
                                                           [  OK  ]

 

 

 

猜你喜欢

转载自www.cnblogs.com/Raodi/p/10887410.html