linux入门系列11--Centos7网络服务管理

经过前面文章的学习已经掌握了Linux系统配置管理的知识,本文讲解Centos7网络配置知识。linux

Linux要对外提供服务,须要保证网络通讯正常,所以须要正确配置网络参数。本文将讲解如何使用Network Manager配置网络参数、管理网络会话服务,以及如何手工绑定mode6模式双网卡,实现网络的负载均衡。vim

1、Centos7网络概述

1.1 Centos7网络管理

对于网络功能来讲,CentOS7与以前的版本变化较大。centos

在RHEL/CentOS 6及之前的版本中,网络功能是经过一系列网络相关的脚本文件实现(如/etc/init.d/network文件,及以下/sbin/if*文件等)。服务器

从RHEL/CentOS 7开始,网络功能默认由NetworkManager以服务的形式提供。Network Manager是一个可以动态控制和配置网络的守护进程,管理网络服务和网络链接,对应NetworkManager.service服务(其配置文件/etc/NetworkManager/NetworkManager.conf,默认为空,无需任何配置)网络

虽然RHEL/CentOS 6中的网络相关的脚本文件仍然以network.service的形式被支持,可是建议使用NetworkManager.service来进行配置和管理。而且只能选择其中一种,否则会有冲突。负载均衡

1.2 network.service

etwork.service是系统提供的服务之一,以兼容遗留的网络功能。该服务的运行也被归入SystemD的管理。工具

管理命令格式oop

systemctl start|stop|restart|status networkpost

设置开机启动学习

systemctl enable network

以上命令设置network.service在系统启动时自动加载,注意,系统启动时,/etc/init.d/network会读取ifcfg文件,并检测NetworkManager是否已经已经启动该设备。若是NetworkManager已经启动该设备,则/etc/init.d/network脚本什么也不作;不然/etc/init.d/network会启动该设备。

1.3 NetworkManager.service

启动networkmanager(注意大小写,linux严格区分大小写)

***systemctl start NetworkManager***

NetworkManager默认不会执行任何脚本,当脚本知足如下条件时,才会安装字母顺序顺序执行。

(1)位于/etc/NetworkManager/dispatcher.d/目录下

(2)拥有root用户的可执行权限

1.4 网络配置文件

不管是network.service,仍是NetworkManager.service,都可以使用以下网络相关的配置文件。

(1)全局配置文件

文件名:/etc/sysconfig/network

(2)网卡相关的配置文件

配置文件所在文件夹:/etc/sysconfig/network-scripts/

> 注意:修改网络配置文件后,须要从新加载网络链接,若是是经过network.service则使用命令:systemctl restart network;若是是经过NetworkManager.service则使用nmcli命令:nmcli connection reload。

2、网络参数配置

配置服务本质就是配置文件,如下演示2种方式

2.1 经过编辑配置文件配置网络

在 RHEL7之前的版本中,网卡配置文件的前缀为 eth,第 1 块网卡为 eth0,第 2 块网卡为 eth1;以此类推。而在 RHEL7中,网卡配置文件的前缀则以 ifcfg 开始, 加上网卡名称共同组成了网卡配置文件的名字,例如 ifcfg-eno16777736。

如今有一个名称为 ifcfg-eno16777736 的网卡设备,咱们将其配置为开机自启动,而且 IP 地址、子网、网关等信息由人工指定,其步骤应该以下所示。

(1)找到网卡配置文件

网卡配置文件存放在/etc/sysconfig/network-scripts目录下,形如:ifcfg-eno16777736。

[root@heimatengyun ~]# ls /etc/sysconfig/network-scripts/
ifcfg-eno16777736
...省略部份内容

如图所示就是网卡配置文件。

(2)编辑网卡配置文件

因为在第一篇文章介绍linux的安装时就已经配置好了网络参数而且能够正常上网,因此先查看一下现有的配置文件内容。

[root@heimatengyun ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777736"
UUID="ea487965-c5bc-4b43-9eab-36445d996179"
ONBOOT="yes"
HWADDR="00:0C:29:BC:5E:EF"
IPADDR0="192.168.78.100"
PREFIX0="24"
GATEWAY0="192.168.78.2"
DNS1="114.114.114.114"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"

能够看到根据当时的配置生成了配置,而且也能够正常上网。但其实里边有部份内容能够精简,咱们先把原来文件备份一下,而后在从新手动配置一下

[root@heimatengyun ~]# cd /etc/sysconfig/network-scripts/
[root@heimatengyun network-scripts]# ls
ifcfg-eno16777736
...省略部份内容
[root@heimatengyun network-scripts]# cp ifcfg-eno16777736 ifcfg-eno16777736-autobackup
[root@heimatengyun network-scripts]# vi ifcfg-eno16777736

输入如下内容,并保存退出。

> 注意:备份目的是以防万一配置错误方便恢复,备份文件为ifcfg-eno16777736-autobackup,虽然前缀相同,可是linux系统不会把他当成为网卡设备。

TYPE="Ethernet"
BOOTPROTO="static"
NAME="eno16777736"
ONBOOT="yes"
IPADDR="192.168.78.100"
NETMASK=255.255.255.0
GATEWAY="192.168.78.2"
DNS1="114.114.114.114"

> 配置项说明: > > 设备类型:TYPE=Ethernet > > 地址分配模式:BOOTPROTO=static 表示设置静态ip地址 > > 网卡名称:NAME=eno16777736 > > 是否启动:ONBOOT=yes > > IP 地址:IPADDR=192.168.78.100 > > 子网掩码:NETMASK=255.255.255.0 能够不配作 > > 网关地址:GATEWAY=192.168.78.2 > > DNS 地址:DNS1=114.114.114.114

具体参数值根据本身实际状况进行配置。

(3)重启网卡设备

[root@heimatengyun ~]# systemctl restart network
[root@heimatengyun ~]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38: icmp_seq=1 ttl=128 time=41.4 ms

重启网卡服务后,能够ping通说明配置成功。

2.2 经过nmtui命令配置网络

经过nmtui命令运行网络配置工具

[root@heimatengyun network-scripts]# nmtui

执行后进入配置工具主界面

file

经过键盘方向键选择操做项,此处选择“Edit a connection”,按回车键,进入选择网卡界面

file

选择网卡,而后经过键盘方向键选择编辑(注意,在此界面选择网卡后若是选择Delete会删除配置文件下对应的网卡配置文件)

file

按回车键,进入编辑界面,而后在ipv4处选择Manual手动指定ip地址

file

若是为折叠状态,在选择后边Show,展现配置界面,若是默认为展开状态则直接进行配置便可

file

配置ip地址、网关、dns信息

file

配置完成后,选择“OK”

file

选择“Quit”退出

file

至此配置完毕。

配置完成后,手动重启网络服务,并测试是否生效。

[root@heimatengyun network-scripts]# systemctl restart network
[root@heimatengyun network-scripts]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38: icmp_seq=1 ttl=128 time=41.4 ms
 ...省略部份内容

3、网络会话管理

Centos7默认使用NetworkManager 来提供网络服务,它是一种动态管理网络配置的守护进程,可以让网络设备保持链接状态。

nmcli 是一款基于命令行的网络配置工具,功能丰富,可使用 nmcli 命令来管理 Network Manager 服务。

3.1 查看网络信息或网络状态

[root@heimatengyun network-scripts]# nmcli connection show 
NAME         UUID                                  TYPE            DEVICE      
eno16777736  13756690-ac77-b776-4fc1-f5535cee6f16  802-3-ethernet  eno16777736 
[root@heimatengyun network-scripts]# nmcli con show eno16777736 
connection.id:                          eno16777736
connection.uuid:                        13756690-ac77-b776-4fc1-f5535cee6f16
connection.interface-name:              --
connection.type:                        802-3-ethernet
...省略部份内容

3.2 网络会话管理

CentosL7 系统支持网络会话功能,容许用户在多个配置文件中快速切换,很是相似 于 firewalld 防火墙服务中的区域技术。

若是咱们在公司网络中使用笔记本电脑时须要手动指 定网络的 IP 地址,而回到家中则是使用 DHCP 自动分配 IP 地址。这就须要麻烦地频繁修改 IP 地址,可是使用了网络会话功能后一切就简单多了—只需在不一样的使用环境中激活相应 的网络会话,就能够实现网络配置信息的自动切换了。

主要实现原理就是建立2个不一样的网络会话,根据须要激活相应的网络会话便可,用到的nmcli命令格式为:connection add 会话名称 type ifname。可是通常只有针对我的电脑使用才会有此需求,而咱们主线主要基于服务器进行讲解,所以就不在演示具体用法,感兴趣能够自学查阅相关资料便可。

4、绑定双网卡

生产环境的服务器要求是一天24小时不间断提供服务,借助于网卡绑定技术,不只 能够提升网络传输速度,还能够确保在其中一块网卡出现故障时,依然能够正常提供网络服务。

centos7进行双网卡绑定有2种方式:采用bonding或采用team。因为篇幅所限,本文只采用bonding模式进行演示。

咱们仍是以虚拟机中添加网卡进行模拟。具体步骤以下:

4.1 关闭虚拟机

4.2 添加网卡设备

file

注意,添加的网卡设备,模式必须相同。本例都采用的是NAT模式。

4.3 配置网卡信息

须要对参与绑定的网卡设备逐个进行设置,把这些本来独立的网卡设备被配置成为一块“从属”网卡,服务于“主”网卡, 不该该再有本身的 IP 地址等信息。在进行了初始设置以后,它们就能够支持网卡绑定。

开启虚拟机,此时进入网卡配置文件查看,是没有新加网卡的配置信息的,仍是只有原来的网卡配置文件autobackup-ifcfg-eno16777736。

[root@heimatengyun ~]# cd /etc/sysconfig/network-scripts/
[root@heimatengyun network-scripts]# ls
autobackup-ifcfg-eno16777736  ifdown-sit       ifup-plusb
ifcfg-eno16777736             ifdown-Team      ifup-post
ifcfg-lo

此时经过ip命令能够查看到已经新添加了网卡设备

[root@heimatengyun network-scripts]# ip a
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777736: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:bc:5e:ef brd ff:ff:ff:ff:ff:ff
    inet 192.168.78.100/24 brd 192.168.78.255 scope global eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:febc:5eef/64 scope link 
       valid_lft forever preferred_lft forever
3: eno33554976: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:bc:5e:f9 brd ff:ff:ff:ff:ff:ff

配置第一张网卡参数

[root@heimatengyun ~]# cd /etc/sysconfig/network-scripts/
[root@heimatengyun network-scripts]# vim ifcfg-eno16777736

输入以下内容并保存

TYPE="Ethernet"
BOOTPROTO=none
NAME="eno16777736"
ONBOOT="yes"
USERCTL="no"
MASTER=bond0
SLAVE=yes

配置第二张网卡参数

[root@heimatengyun network-scripts]# vi ifcfg-eno33554976

输入以下内容并保存

TYPE="Ethernet"
BOOTPROTO=none
NAME="eno33554976"
ONBOOT="yes"
USERCTL="no"
MASTER=bond0
SLAVE=yes

> 注意:网卡设备名称必需要根据自身电脑来进行配置,修改成本身电脑的网卡名称。

配置主网卡参数

[root@heimatengyun network-scripts]# vim ifcfg-bond0

输入以下内容并保存

BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=bond0
IPADDR=192.168.78.100
PREFIX=24
GATEWAY=192.168.78.2
DNS1="114.114.114.114"
NM_CONTROLLED=no

4.4 建立网卡驱动文件

Linux 内核支持网卡绑定驱动bonding有七种模式,分别为mode0到mode6。其中这三种mode0、mode1 和 mode6比较经常使用,mode0为默认模式。

​ mode0(平衡负载模式):平时两块网卡均工做,且自动备援,但须要在与服务器本地 网卡相连的交换机设备上进行端口聚合来支持绑定技术。

​ mode1(自动备援模式):平时只有一块网卡工做,在它故障后自动替换为另外的网卡。

​ mode6(平衡负载模式):平时两块网卡均工做,且自动备援,无须交换机设备提供辅 助支持。

建立一个用于网卡绑定的驱动文件,使得绑定后的 bond0 网卡 设备可以支持绑定技术(bonding);同时定义网卡以 mode6 模式进行绑定,且出现故障时自动切换的时间为 100 毫秒。

[root@heimatengyun network-scripts]# vim /etc/modprobe.d/bond.conf

填入以下内容并保存

alias bond0 bonding
options bond0 miimon=100 mode=6

4.5 重启网络服务

重启网络服务(重启系统)后网卡绑定操做便可成功。正常状况下只有 bond0 网卡设备才会 有 IP 地址等信息。

[root@heimatengyun network-scripts]# systemctl restart network
[root@heimatengyun network-scripts]# ifconfig
bond0: flags=5187<up,broadcast,running,master,multicast>  mtu 1500
        inet 192.168.78.100  netmask 255.255.255.0  broadcast 192.168.78.255
        inet6 fe80::20c:29ff:febc:5ef9  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:bc:5e:f9  txqueuelen 0  (Ethernet)
        RX packets 28  bytes 2856 (2.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 83  bytes 8273 (8.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
eno16777736: flags=4163<up,broadcast,running,multicast>  mtu 1500
        ether 00:0c:29:bc:5e:ef  txqueuelen 1000  (Ethernet)
        RX packets 1054  bytes 112121 (109.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 731  bytes 137795 (134.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
eno33554976: flags=6211<up,broadcast,running,slave,multicast>  mtu 1500
        ether 00:0c:29:bc:5e:f9  txqueuelen 1000  (Ethernet)
        RX packets 28  bytes 2856 (2.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 83  bytes 8273 (8.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<up,loopback,running>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 12  bytes 1088 (1.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 12  bytes 1088 (1.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

在宿主机ping主网卡ip,ping通表示双网卡配置成功

file

> 注意:偶尔出现重启network后,能够ping通可是却ping不通百度,然而直接重启虚拟机后又正常了。

4.6 验证双网卡自动备援功能

思路:开启另一台centos(目的是在centos中ping不会自动中止除非按ctrl+c终止,这样就能很好的模拟网卡故障和测试自动备援功能),ping主网卡的ip地址,逐一关闭网卡,直到网卡关闭完后不能ping通。

(1)在另一台centos中ping前边设置的主网卡ip地址

[root@yum-local-server ~]# ping 192.168.78.100
PING 192.168.78.100 (192.168.78.100) 56(84) bytes of data.
64 bytes from 192.168.78.100: icmp_seq=1 ttl=64 time=0.844 ms
64 bytes from 192.168.78.100: icmp_seq=2 ttl=64 time=0.405 ms

(2)模拟网卡故障,逐一中止网卡,观察步骤1中的数据

在虚拟机开启的状况下,逐一断掉网卡,观察步骤1的数据收发状况

file

会发现当中止一块网卡后,步骤1仍是会收到数据,只是中途有短暂的终端。再继续中止第二块网卡后将没有数据收到。直到再次打开网卡后才会继续收到数据。

因而可知,多网卡确实有自动备援功能,避免单块网卡坏掉致使断网的状况。

本文初步探讨网络配置,下一篇文章将讲解磁盘及存储结构相关知识。</host></up,loopback,running></up,broadcast,running,slave,multicast></up,broadcast,running,multicast></up,broadcast,running,master,multicast></broadcast,multicast,up,lower_up></broadcast,multicast,up,lower_up></loopback,up,lower_up>

相关文章
相关标签/搜索