学科分类
目录
Linux编程

网络配置

服务器是Linux最主要的应用领域,Linux服务器可以提供包括Web、FTP、DNS、DHCP、数据库和邮箱等多种类型的服务,但这些服务都离不开网络环境,因此Linux网络环境配置是Linux环境配置中必不可少的环节,下面将对基于VMware虚拟机配置Linux系统网络环境的方法进行讲解。

1、 VMware网络配置

通过VMware提供的虚拟网络功能,可以很方便的进行网络环境部署。在程序的菜单栏中执行【编辑】-【虚拟网络配置】,打开如图1所示的对话框,便可查看网络配置。

图1 VMware虚拟网络编辑器

由图1可知,VMware提供了桥接、NAT(网络地址转换)和仅主机这三种网络模式,这些模式对应的名称分别为VMnet0、VMnet8和VMnet1。关于这三种模式的具体介绍如下。

(1)桥接模式

当虚拟机的网络处于桥接模式时,相当于这台虚拟机与物理机同时连接到一个局域网,这两台机器的IP地址将处于同一个网段中。以目前家庭普遍使用的宽带上网环境为例,其网络结构如图2所示。

图2 VMnet0虚拟网络

图2中两台虚拟机和一台物理机同时处于一个局域网中(VMware支持同时运行多个虚拟机),若路由器已经接入网络,则图中的三台计算机都可以访问外部网络。

(1)NAT模式

NAT是VMware虚拟机中默认使用的模式,其最大的优势是虚拟机接入网络非常简单,只要物理机可以访问网络,虚拟机就可以访问网络。其网络结构如图3所示。

图3 VMnet8虚拟网络

图3中所示的物理机网卡和VMnet8虚拟网络中的NAT(网络地址转换)网关共享同一个IP地址192.168.1.2,因此只要物理机连上网,虚拟机便能上网。为了让物理机和虚拟机能够直接互访,需要在物理机中增加一个虚拟网卡接入到VMnet8虚拟交换机中。

(1)仅主机模式

仅主机模式与NAT模式相似,但是在该网络中没有虚拟NAT,因此只有物理机能上网而虚拟机无法上网,只能在VMnet1虚拟网内相互访问。其网络结构如图4所示。

图4 VMnet1虚拟网络

VMnet8和VMnet1这两种虚拟网络都需要虚拟网卡实现物理机和虚拟机的互访,VMware在安装时自动为这两种虚拟网络安装了虚拟网卡。在物理机(Windows系统)中打开命令提示符,输入命令“ipconfig”查看网卡信息,从这些信息中可以找到VMent8和VMnet1虚拟网卡,如图5所示。

图5 查看VMware虚拟网卡

由图5可知,VMnet1的IP地址为192.168.50.1,VMnet8的IP地址为192.168.78.1。这两个IP地址是VMware根据VMware虚拟网络编辑器中的子网IP自动生成的,如果更改了子网IP,这两个网卡的IP地址会由VMware自动更新。

2、 更改网络模式

在VMware中,桥接、NAT和仅主机三种模式是共存的,但是一台虚拟机只能使用一种模式。点击VMware的菜单栏中执行【虚拟机】-【设置】,在弹出的“虚拟机设置”对话框中选择【网络适配器】,可以查看或更改虚拟机的网络模式,如图6所示。

图6 虚拟机设置

图6所示的窗口右下方有一个“高级”按钮,单击后可以打开“网络适配器高级设置”的对话框,如果需要查看或更改虚拟机网卡的MAC地址可以在此处设置。

3、 Linux网络配置

在了解VMware虚拟机的网络环境以后,接下来对Linux服务器进行网络配置。在Linux系统中,通过“ifconfig –a”命令可以查看所有的网卡,如图7所示。

图7 查看网卡

由图7可知,目前系统中共有2个网卡,第1个是eth0(即编号为0的以太网卡),第2个是lo(即本地回环网卡)。其中eth0网卡用于访问外部网络,默认情况下是关闭的;lo网卡用于在本机内部访问,IP地址为127.0.0.1(即Loopback Address,本机回送地址)。

如果使用VMware的NAT模式或仅主机模式,那么网络中的虚拟机可以通过DHCP(动态主机配置协议)自动获取IP地址。但是在真实环境中,应为所有的服务器配置静态IP地址,以确保通过一个IP地址便能找到一台服务器。下面分别介绍如何配置动态和静态IP地址。

(1)动态IP

为了使eth0网卡工作,可以通过“ifup eth0”命令临时启动网卡,也可以修改eth0网卡的配置文件,使该网卡自动启动。接下来切换到网卡配置文件ifcfg-eth0所在的目录:

[root@localhost ~]# cd /etc/sysconfig/network-scripts

在修改配置文件之前,为了防止配置出错,建议提前备份该配置文件ifcfg-eth0:

[root@localhost network-scripts]# cp ifcfg-eth0 ifcfg-eth0.bak

然后通过vi编辑器修改网卡配置文件:

[root@localhost network-scripts]# vi ifcfg-eth0

在打开配置文件后,具体内容如下所示。

DEVICE=eth0
HWADDR=00:0C:29:48:2A:8A
TYPE=Ethernet
UUID=de5dcf98-9e30-4d0e-a578-4ddcea528ae6
ONBOOT=no
NM_CONTROLLED=yes
BOOTPROTO=dhcp

在上述配置中,需要重点关注的是ONBOOT和BOOTPROTO两个配置,其他配置保持默认值即可。其中BOOTPROTO用于设置获取IP的方式,分为动态与静态两种,默认方式为dhcp,表示动态获取IP;ONBOOT用于设置网卡是否自动启动,默认值为no,更改为yes即可实现自动启动。

修改完成后,保存并退出编辑,然后执行重新加载网络服务的命令“service network reload”使配置生效。在配置生效之后,通过ifconfig命令查看eth0网卡的状态,如图8所示。

图8 查看网卡状态

从图8中可以看出,eth0网卡已经获取到IP地址192.168.78.128,说明服务器已经成功连接到NAT网络中。如果在重新加载网络服务时报错,则可能是网卡配置文件更改有误,或VMware虚拟网络配置有误,按照前面讲解的内容检查并更正即可。

(1)静态IP

静态IP是用户手动设置的IP,设置后固定不变。只要将ifcfg-eth0配置文件中BOOTPROTO的值设置为static,将IPADDR(IP地址)的值设置为其所在子网中正确的、无冲突的IP地址即可。

假设在VMware的NAT模式中,子网IP为192.168.78.0、VMnet8虚拟网卡IP为192.168.78.1、NAT网关IP为192.168.78.2、DHCP地址池为192.168.78.128~192.168.78.254,则192.168.78.3~192.168.78.127范围内的IP都可以作为静态IP使用。

接下来打开ifcfg-eth0配置文件进行修改,修改后的配置文件如下所示。

……(此处省略了前面几行)
BOOTPROTO=static
IPADDR=192.168.78.3
NETMASK=255.255.255.0
GATEWAY=192.168.78.2
DNS1=192.168.78.2

上述配置将BOOTPROTO的值由dhcp修改为static,然后增加了IPADDR(IP地址)、NETMASK(子网掩码)和GATEWAY(网关)和DNS1(首选域名服务器)。其中,若网关不设置,虚拟机只能在局域网内访问,无法访问外部网络;若DNS不设置,则无法解析域名。

修改配置文件后执行“service network reload”命令使配置生效即可。在配置生效后,可以通过如下操作查看当前使用的默认网关、DNS服务器。

[root@localhost ~]# route | grep default
default     192.168.78.2  0.0.0.0     UG  0   0    0 eth0
[root@localhost ~]# cat /etc/resolv.conf
nameserver 192.168.78.2

4、 访问测试

无论是Windows还是Linux系统,都提供了ping命令用于检测网络是否连通。在物理机(Windows系统)中打开命令提示符,执行“ping 虚拟机IP地址”,运行结果如图9所示。

图9 物理机ping虚拟机

由图9可知,物理机共向IP地址192.168.78.3发送了4次ping请求,且4次请求都发送成功,发送的数据包为32字节,响应时间小于1毫秒,TTL(生存时间值)值为64。其中TTL在发送时的默认值为64,每经过一个路由则减1,此处显示的最终结果为64,说明中间没有经过路由。

使用虚拟机ping物理机时,物理机(Windows)的防火墙若为开启状态,ping将会失败。我们可以临时关闭Windows防火墙,或者将防火墙入站规则中的“文件和打印机共享(回显请求-ICMPv4-In)”设置为“允许连接”。在解决防火墙问题后,虚拟机ping物理机的执行结果如图10所示。

图10 虚拟机ping物理机

图10在Linux中使用ping命令时加上了参数“-c4”,表示ping的次数为4。如果省略该参数,则会一直执行,直到按Ctrl+C等组合键停止程序为止。

在测试了局域网内的访问后,还需要测试虚拟机能否访问外网。在物理机正确接入外网的前提下,用虚拟机ping外部主机(如ping baidu.com)是可以ping通的。如果在正确配置后虚拟机仍然无法访问网络,则有可能是物理机中安装了多个网卡,VMware会自动使用优先级较高的网卡(无论该网卡是否接入外网),更改网卡优先级或者禁用这些网卡可以解决问题。在默认情况下,新安装的网卡优先级高于原有网卡,但VMnet1、VMnet8两个虚拟网卡的优先级低于本地连接网卡,这样可以避免影响用户正常使用网络。

点击此处
隐藏目录