2.4.3 配置网卡和设置网络联网

在2.3.1节的第8步“初始化主机名及配置网络”中,已经讲解过如何配置网卡了,只不过当时没有具体选择,现在可以配置了,如果读者已经在前面配置过了,这里可以忽略。

1.通过setup命令设置网卡

1)在系统命令行下输入setup命令,然后按回车键,如图2-40所示。

2)通过按tab键及对应的键依次选择进入如下几个窗口,为了节省篇幅,老男孩把几个操作进行了合并,并进行了排序,如图2-41所示。

图2-40 配置网卡图

图2-41 配置网卡过程图

提示:整个配置过程依次为:执行setup命令→Network configuration→Device configuration→eth0,配置完依次单击OK→Save→Save&Quit→Quit,这样就退出到命令行界面了。

该配置实质上就是修改网卡的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0内容。

2.VMware虚拟机系统下的设置方法

1)虚拟机NAT模式下的网卡设置

如果虚拟机的宿主机是拨号上网的,则虚拟机的网卡最好使用NAT模式,VMware软件设置虚拟网卡为NAT模式的配置如图2-42所示。

对应的网卡配置如图2-43所示。

提示:

·NAT模式下要对Use DHCP的位置进行设置。

·无需配置IP、子网掩码和网关,因为DHCP会自动分配。

·需要配置本地主DNS和辅DNS解析地址。

图2-42 VMware软件设置虚拟网卡为NAT模式

图2-43 图形网卡配置说明

配置完成后,依次单击OK→Save→Save&Quit→Quit,即可退出到命令行界面。

然后依次执行如下命令:

(1)执行命令ifup eth0,启动网卡。

(2)执行命令ifconfig eth0,查看获取的IP。

(3)执行命令ping baidu.com,检测网络是否通畅。

详细的操作过程如图2-44所示。

图2-44 启动网卡联网测试过程图

此时就可以用SSH工具(例如SecureCRT、xshell等SSH工具)连接系统了。

2)虚拟机桥接(bridged)模式下的网卡设置

如果虚拟机的宿主机在局域网内,是通过路由器上网的,则虚拟机的网卡除了可以使用NAT模式外,还可以使用桥接模式。VMware软件设置虚拟网卡为桥接模式的配置如图2-45所示。

图2-45 VMware软件设置虚拟网卡为桥接模式

对应的网卡配置如图2-46所示。

图2-46 网络配置图

提示:

·在桥接模式下Use DHCP的位置可以取消,当然也可以利用DHCP自动分配,这样更简单。

·如果考虑自己设置固定IP,则需配置IP、子网掩码、网关,此时禁止DHCP分配。

·需要配置本地主DNS和辅DNS解析地址。

配置完成后,与NAT配置一样,依次单击OK→Save→Save&Quit→Quit,这样就退出到命令行界面了。

然后依次执行如下命令:

(1)执行命令ifup eth0,启动网卡。

(2)执行命令ifconfig eth0,查看设置或获取的IP。

(3)执行命令ping baidu.com,检测网络是否通畅。

详细操作过程如图2-47所示。

图2-47 启动网卡联网测试过程图

3.物理服务器系统的网络设置方法

物理服务器系统的网络设置同虚拟机桥接网卡模式完全一样,因此,这里就不赘述了,读者可以参考虚拟机桥接网卡模式的配置过程。

4.系统无法联网的故障排除方法

1)首先要确认系统的安装方式是虚拟机还是物理服务器。

如果是虚拟机,同时还要考虑虚拟机所在的宿主机联网方式,如果宿主机是采用直接拨号方式上网,虚拟网卡的模式就选NAT模式,如果宿主机采用路由器局域网方式上网,那么虚拟机的网卡选择bridged和NAT两种模式都可以。如果是物理服务器的话,直接配置就可以了。参考虚拟机桥接的配置。

2)如果系统安装方式检查无误,仍然不能上网,继续确认网卡实际配置是否正确。

如果虚拟机是NAT模式,需要使用DHCP自动获取IP;如果是虚拟机bridged桥接模式,则需要根据虚拟机所在的宿主机联网方式(可以查看对比)设定IP、子网掩码及网关,更方便的方法还是使用DHCP获取IP。不管是采用bridged模式还是采用NAT模式,最好都手工指定DNS。

提示:采用NAT模式上网时,要注意宿主机Windows的计算机管理、服务和应用程序对应的VMware的DHCP和NAT服务是否开启(如图2-48所示)。

图2-48 宿主机Windows的VMware DHCP和NAT服务

如果是物理服务器,检查IP、子网掩码、网关和DNS等设置是否正确,可与局域网内其他可上网的机器进行一一对比,或者找网管询问。

3)上面两类问题都排除后,就需要确认网卡的配置文件了。

使用setup命令配置网卡的过程实际上就是修改了如下的网卡配置文件,因此,可以通过查看网卡的配置文件,确认其与想要配置的是否一致。

下面展示了如何查看网卡配置文件,以及网卡配置项的含义。

[root@www ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0          ←第一块网卡逻辑设备名,第二块为eth1,有些系统也会以em等
                    字符标识。
HWADDR=00:0c:29:a5:3f:39     ←以太网硬件地址,即MAC地址,如果是VMware克隆的虚拟机
                    无法启动网卡,可以毫不犹豫地删除此项。
TYPE=Ethernet          ←上网类型,目前基本都是以太网。
UUID=176582f7-d198-4e4f-aab0-34ab10d17247
                    ←通用唯一识别码(Universally Unique Identifier),
                    如果是VMware克隆的虚拟机无法启动网卡,可以去除此项。
ONBOOT=no               ←这个地方要设置为yes,才能保证下次开机启动时激活网卡设备。
NM_CONTROLLED=yes          ←是否通过NetworkManager管理网卡设备。
BOOTPROTO=none          ←启动协议,获取配置方式,有none|bootp|dhcp三个选项。
IPADDR=10.0.0.8          ←这是虚拟机桥接模式,局域网Linux服务器的固定IP。
NETMASK=255.255.255.0     ←子网掩码,用来规划网络位和主机位,一般为255.255.255.0。
DNS2=8.8.8.8          ←第二个DNS,这里默认会覆盖,以及优先于/etc/resolv.conf
                    的配置生效。
GATEWAY=10.0.0.254     ←局域网上网网关地址。
DNS1=202.106.0.20          ←主DNS,这里默认会覆盖,以及优先于/etc/resolv.conf的
                    配置生效
IPV6INIT=no          ←是否支持IPV6
USERCTL=no

提示:更多网卡配置相关知识请执行less/usr/share/doc/initscripts-*/sysconfig.txt查看。

无论虚拟机采用的是NAT模式还是桥接模式,或者是物理服务器,都要修改网卡启动项配置,把“ONBOOT=no”修改为“ONBOOT=yes”,使得下一次开机时网卡可以自启动。命令如下:

[root@www ~]# sed -i 's#ONBOOT=no#ONBOOT=yes#g' /etc/sysconfig/network-scripts/ifcfg-eth0
[root@www ~]# grep ONBOOT /etc/sysconfig/network-scripts/ifcfg-eth0   
ONBOOT=yes

重启网卡的命令如下:

[root@www ~]# ifdown eth0 && ifup eth0
Determining if ip address 10.0.0.7 is already in use for device eth0...

提示:尽量不要使用/etc/init.d/network restart重启网卡,因为这条命令会影响所有的网卡。

查看IP设置的命令如下:

[root@www ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:CC:60:B2
          inet addr:10.0.0.7  Bcast:10.0.0.255  Mask:255.255.255.0
...省略若干

查看默认网关设置的命令如下:

[root@www ~]# route -n
Kernel IP routing table
Destination   Gateway       Genmask         Flags Metric Ref    Use Iface
10.0.0.0      0.0.0.0       255.255.255.0   U     0      0        0 eth0
169.254.0.0   0.0.0.0       255.255.0.0     U     1002   0        0 eth0
0.0.0.0       10.0.0.254    0.0.0.0         UG    0      0        0 eth0

查看DNS设置的命令如下:

[root@www ~]# cat /etc/resolv.conf;generated by /sbin/dhclient-script
search localdomain
nameserver 8.8.8.8
nameserver 202.106.0.20

如果以上配置都正确,一般来说上网就没有问题了。

提示:老男孩在使用CentOS 6.6时,发现在/etc/sysconfig/network-scripts/ifcfg-eth0网卡文件配置的DNS设置会覆盖/etc/resolv.conf中的设置,即使/etc/sysconfig/network-scripts/ifcfg-eth0网卡文件不设置DNS,只在/etc/resolv.conf中配置DNS设置,执行/etc/init.d/network restart重启网卡命令仍会清除/etc/resolv.conf的DNS设置。这点请读者注意,建议在/etc/sysconfig/network-scripts/ifcfg-eth0网卡文件中配置DNS,而不是在/etc/resolv.conf中设置,以免遇到上网无法解析的问题。