虽然也可以用命令进行临时修改(ifconfig来设置IP,用route来配置网关,用hostname来配置主机名等等),但是重启后会丢失。所以本文主要通过修改相关配置文件来实现:
配置dns、网关、ip地址
修改网卡名字
单网卡多IP配置
多网卡单IP配置
本次系统运行环境:
配置dns、网关、ip地址
首先,我们对网卡配置相关的主要的几个文件简要作个说明:
/ect/hosts 计算机DNS域名解析的本地配置文件,记录了domain name和ip的对应关系;
/etc/resolv.confDNS客户端文件,主要指向提供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
我们也可以给本机添加指定的DNS条目,/ect/hosts里添加如下图文本:
当我们ping www.baidu.com时,计算机会先查找本机/ect/hosts 是否存在对应条目,如果有则返回对应 IP地址;如果没有,则会向/etc/resolv.conf里的DNS服务器进行域名解析。
1.2. 配置网关
编辑文件/etc/sysconfig/network,如下图:
此文件默认只有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-开头,后面的接口名可以任意。
解读配置文件:
主要参数说明:
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行即可按成配置:
1.3.1.配置静态IP网卡
要配置静态IP的网卡,我们仅需要3行即可按成配置:
如上配置,即可进行本地局域网通信。这是保证本地通信的最低要求。要接入Internet当然需要配置网关和DNS1:
这样我们就完成了网卡配置的基本要求了。要配置生效,我们还需要重启network服务:
@H_321_404@[root@IP60-CentOS6~]#>>servicenetworkrestart修改网卡名字
在CentOS6系统的/etc/udev/rules.d/目录下,存放着许多的设备规则文件,其中70-persistent-net.rules定义了详细的网卡命名规则。如果删除此文件,重启计算机后,也会自动生成。(如果配置网卡过多,凌乱乱了,可以通过删除此文件,重启获取系统分配的网卡名)
在此我们修改eth0为net2016:
@H_321_404@[root@IP60-CentOS6~]#>>vim/etc/udev/rules.d/70-persistent-net.rules重启计算机后,可以看到:
此时网卡名已经被修改了,但是由于没有对应的net2016的配置,所以是无IP的,如果是远程登录计算机的话,请注意这点,应修改网卡配置后再重启。
单网卡多IP配置
有时候我们需要接入多个网络,可是只有一个网卡,此时我们就需要给网卡添加多个IP。比如要给eth0网卡配置IP地址:10.10.10.10/24和10.10.20.10/24,我们只需要在/etc/sysconfig/network-scripts目录下添加两个配置文件 :
保存退出后重启:
多网卡单ip配置
将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡,可以为我们提供高可用性的网络环境,这样即使其中的一块物理网卡出现故障,也不会导致连接中断。CentOS6是通过bonding,虚拟一块网卡对外提供连接,
物理网卡被修改为相同的MAC地址。
Bonding的工作模式:
Mode 0 (balance-rr)
轮转( Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力Mode 1 (active-backup)
活动-备份(主备)策略:在绑定中,只有一个slave被激活。当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见Mode 3 (broadcast)
广播策略:在所有的slave接口上传送所有的报文。本模式提供容错能力
这里我们用设置eth0和eth1两张物理网卡绑定成虚拟网卡bonding0,
首先我们在/etc/sysconfig/network-scripts/下创建虚拟网卡bonding0的配置文件,并作如下配置:
说明:
miimon 是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路
重启电脑后可以看到网卡已经正常工作了:
我们也可以通过cat /proc/net/bonding/bond0 查看bonding的工作状态: