虽然也可以用命令进行临时修改(ifconfig来设置IP,用route来配置网关,用hostname来配置主机名等等),但是重启后会丢失。所以本文主要通过修改相关配置文件来实现:

  • 配置dns、网关、ip地址

  • 修改网卡名字

  • 单网卡多IP配置

  • 多网卡单IP配置

本次系统运行环境:

CentOS6基础网络配置



 配置dns、网关、ip地址

首先,我们对网卡配置相关的主要的几个文件简要作个说明:

/ect/hosts     计算机DNS域名解析的本地配置文件,记录了domain name和ip的对应关系;

/etc/resolv.conf    DNS客户端文件,主要指向提供DNS服务器IP,(即告诉本机使用哪个DNS服务器);

/etc/sysconfig/network    默认设置网卡的开关和hostname;

/etc/udev/rules.d/70-persistent-net.rules    定义了详细的网卡命名规则

/etc/sysconfig/network-scripts/ifcfg-eth0    默认网卡eth0的详细配置;如有多块网卡,则递加如ifcfg-eth1、ifcfg-eth2...以此类推



1.1. 配置DNS

编辑文件/etc/resolv.conf ,添加文本格式:nameserver DNS serverIP

CentOS6基础网络配置

我们也可以给本机添加指定的DNS条目,/ect/hosts里添加如下图文本:

CentOS6基础网络配置

当我们ping www.baidu.com时,计算机会先查找本机/ect/hosts   是否存在对应条目,如果有则返回对应 IP地址;如果没有,则会向/etc/resolv.conf里的DNS服务器进行域名解析。

CentOS6基础网络配置

1.2. 配置网关

编辑文件/etc/sysconfig/network,如下图:

CentOS6基础网络配置

此文件默认只有2行,第1行开启(关闭)网卡,第2行定义了计算机的hostname,我们可以在此修改hostname,这里的hostname仅作本机使用,同网段内多台计算机的hostname是可以相同的,这与windows的计算机名有区别。

我们要设置网关,则添加图中第2条文本。

1.3. 配置ip

CentOS6对应每块网卡都有一个独立的配置文件,他们存放在/etc/sysconfig/network-scripts/目录下,以ifcfg-为文件名前缀,为了提高识别度,通常以接口命名方式做后缀。(例如以太网以缩写eth命名,多个网卡则eth[0,1,2,3....]递加)。注意配置文件名必须以ifcfg-开头,后面的接口名可以任意。

解读配置文件:

CentOS6基础网络配置

主要参数说明:

DEVICE 此配置文件对应的设备名称
ONBOOT yes|no 在系统引导过程中,是否**此接口,默认是**
UUID 此设备的唯一标识
IPV6INIT 是否初始化IPv6
BOOTPROTO **此接口时使用什么协议来配置接口属性,常用的有dhcp|bootp|static|none
TYPE 接口类型,默认Ethernet
DNS1 第一DNS服务器指向
DNS2 备用DNS服务器指向
DOMAIN DNS搜索域
IPADDR IP地址
NETMASK 子网掩码,CentOS7支持使用PREFIX以长度方式指明子网掩码
GATEWAY 指定网关
USERCTL 是否允许普通用户控制此设备
PEERDNS 如果BOOTPROTO的值为"dhcp",是否允许dhcp  server分配的dns服务器指向覆盖本地手动指定的dns服务器指向(即/etc/resolv.conf文件内的指向),默认是允许。
NM_CONTROLLED 是否使用NetworkManager服务来管理接口

对于我们手工配置来说,有两种情况:dhcp分配IP和指定静态IP

1.3.1.配置dhcp获取IP的网卡

对于有dhcp服务器的客户端网卡,我们仅需要2行即可按成配置:

CentOS6基础网络配置

1.3.1.配置静态IP网卡

要配置静态IP的网卡,我们仅需要3行即可按成配置:

CentOS6基础网络配置

如上配置,即可进行本地局域网通信。这是保证本地通信的最低要求要接入Internet当然需要配置网关DNS1

CentOS6基础网络配置

这样我们就完成了网卡配置的基本要求了。要配置生效,我们还需要重启network服务:

[[email protected] ~]# >>service network restart

CentOS6基础网络配置



 修改网卡名字

在CentOS6系统的/etc/udev/rules.d/目录下,存放着许多的设备规则文件,其中70-persistent-net.rules定义了详细的网卡命名规则。如果删除此文件,重启计算机后,也会自动生成。(如果配置网卡过多,凌乱乱了,可以通过删除此文件,重启获取系统分配的网卡名)


在此我们修改eth0为net2016:

[[email protected] ~]# >>vim /etc/udev/rules.d/70-persistent-net.rules

CentOS6基础网络配置

重启计算机后,可以看到:

CentOS6基础网络配置

此时网卡名已经被修改了,但是由于没有对应的net2016的配置,所以是无IP的,如果是远程登录计算机的话,请注意这点,应修改网卡配置后再重启。



 单网卡多IP配置

有时候我们需要接入多个网络,可是只有一个网卡,此时我们就需要给网卡添加多个IP。比如要给eth0网卡配置IP地址:10.10.10.10/24和10.10.20.10/24,我们只需要在/etc/sysconfig/network-scripts目录下添加两个配置文件 :

CentOS6基础网络配置

保存退出后重启:

CentOS6基础网络配置



 多网卡单ip配置

将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡,可以为我们提供高可用性的网络环境,这样即使其中的一块物理网卡出现故障,也不会导致连接中断。CentOS6是通过bonding,虚拟一块网卡对外提供连接,
物理网卡被修改为相同的MAC地址。

Bonding的工作模式:

  1. Mode 0 (balance-rr)
    轮转( Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力

  2. Mode 1 (active-backup)
    活动-备份(主备)策略:在绑定中,只有一个slave被**。当且仅当活动的slave接口失败时才会**其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见

  3. Mode 3 (broadcast)
    广播策略:在所有的slave接口上传送所有的报文。本模式提供容错能力

这里我们用设置eth0eth1两张物理网卡绑定成虚拟网卡bonding0,

首先我们在/etc/sysconfig/network-scripts/下创建虚拟网卡bonding0的配置文件,并作如下配置:

CentOS6基础网络配置

  说明:

  •  miimon 是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路

重启电脑后可以看到网卡已经正常工作了:

CentOS6基础网络配置

我们也可以通过cat /proc/net/bonding/bond0  查看bonding的工作状态:

CentOS6基础网络配置