第八章 Linux 网卡管理

8.1 网卡简介

8.1.1 网卡名称

1. CentOS 6 网卡命名特点:

(1) 动态唯一性(除非:采用udev来人为干预)

增加或者删除网卡时,名称会发生变化。

(2) 名称格式:ethN

eth 表示:ethernet 以太网

N 数字:系统自动顺序生成的唯一数字序列,也可采用udev来人为干预。

2. CentOS 7 网卡命名特点:

(1) 永久唯一性

CentOS 7通过dmindecode 命令来采集主板信息,从而生成永久唯一性的网卡设备名称。

(2) 名称格式:enXN

en 表示:ethernet以太网

X 类别标识符

X的取值说明:s 表示该网卡名称是依据 BIOS所提供的PCI Express热插拔槽的索引号生成。(例如:ens1、ens33、ens34);o 表示:该网卡名称是依据BIOS所提供的主板集成网卡设备的索引号生成。(例如eno1);p表示该网卡名称是依据独立网卡的物理位置信息生成。(例如enp2s0)

N 数字:通过MAC地址+主板信息计算得出的唯一数字序列。 一般都素ens33开始

8.1.2 查看网卡信息

1 了解网卡设备

lo 本地环回 虚拟网卡设备:

lo是一个系统通过软件虚拟出来的虚拟网络设备,不连接任何物理网卡设备。它的IP地址是127.0.0.1/8。用于:实现系统内部进程之间的网络通信。用于在单台主机上,模拟测试多台主机之间的网络通信。

物理网卡设备(如:ens33)

它是一个物理网络设备,物理上连接着物理网络。

其他虚拟网卡设备:

它是一个由软件实现的虚拟网络设备,用于构建:SDN软件定义网络(Software Defined Network),例如:VMware中的虚拟网络、KVM虚拟化平台的虚拟网路、云平台的虚拟网路。

2 查看网卡设备的运行状态

ip地址前四位地址:127以下a类,128到191是b类,192到223是c类地址

a类地址的子网掩码是255.0.0.0

b类地址的子网掩码是255.255.0.0

c类地址的子网掩码是255.255.255.0 也就是说要前三个相同才算在同一个局域网下面。ip a 显示的是缩写 24 ,因为这是有32位二进制转变而来

要想在同一局域网下,互相连接,需要在同一子网掩码下

1 ifconfig [网卡设备名] 命令(将被弃用);需要:yum install -y net-tools(CentOS 7需要手动安装)

第八章 Linux 网卡管理_第1张图片

ifconfig
## 重要信息解读:
##        flags=4163  mtu 1500
##                  · UP		协议UP状态,说明:网卡的协议栈是好的
##                  · BROADCAST	支持广播
##                  · RUNNING	物理连接UP状态,说明:网卡已连接网线
##                  · MULTICAST	支持组播
##                  · mtu 1500	最大传输单元,通常就是 1500 字节
##        inet 10.0.0.101  netmask 255.255.255.0  broadcast 10.0.0.255
##                  · inet		IPv4 地址
##                  · netmask	子网掩码
##                  · broadcast	子网广播地址
##        ether 00:0c:29:19:82:b4  txqueuelen 1000  (Ethernet)
##                  · ether			物理 MAC 地址
##                  · txqueuelen 1000	出站发送的队列长度为 1000 字节
##        RX packets 38  bytes 4422 (4.3 KiB)
##                  · RX packets	入站接收的<字节总量>
##        RX errors 0  dropped 0  overruns 0  frame 0
##                  · RX errors	入站方向:所有的错误包数量,包含以下所有的错误包
##                  · RX dropped	入站方向:环形缓冲区出站之后,因内存不足,而被丢弃的包数量
##                  · RX overruns	入站方向:环形缓冲区入站之前,被网卡物理层丢弃的包数量
##                  · RX frame	入站方向:重组失败的包数量
##        TX packets 64  bytes 5058 (4.9 KiB)
##                  · TX packets	出站发送的字节总量
##        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
##                  · TX errors	出站方向:所有的错误包数量,包含以下所有的错误包
##                  · TX dropped	出站方向:环形缓冲区出站之后,因内存不足,而被丢弃的包数量
##                  · TX overruns	出站方向:环形缓冲区入站之前,被网卡物理层丢弃的包数量
##                  · TX frame	出站方向:重组失败的包数量

2 ip address show [网卡设备名] 命令,需要:yum install -y iproute(默认已安装) ip a缩写

第八章 Linux 网卡管理_第2张图片

ip address show
## 重要信息解读:
##         mtu 1500 qdisc pfifo_fast state UP qlen 1000
##                  · BROADCAST	支持广播
##                  · MULTICAST	支持组播
##                  · UP		协议UP状态,说明:网卡的协议栈是OK的
##                  · LOWER_UP	低压弱电物理层是UP状态,说明:网卡已经上电
##                  · mtu 1500		最大传输单元,通常就是 1500 字节
##                  · qdisc pfifo_fast	流量控制机制为:快速先进先出
##                  · state UP		物理连接UP状态,说明:网卡已连接网线
##                  · qlen 1000		出站发送的队列长度为 1000 字节
##        link/ether 00:0c:29:19:82:b4 brd ff:ff:ff:ff:ff:ff
##                  · link/ether 00:0c:29:19:82:b4	物理 MAC 地址
##                  · brd ff:ff:ff:ff:ff:ff		物理层广播地址
##        inet 10.0.0.101/24 brd 10.0.0.255 scope global ens33
##                  · inet 10.0.0.101/24		IPv4地址/子网掩码
##                  · brd 10.0.0.255		子网广播地址
##                  · scope global ens33		表示:接收来自的<数据包>

3 nmcli connection show [网卡连接名],需 NetworkManager 服务支持

先 nmcli connection show 查看有哪些网卡,在 nmcli connection show 网卡名

nmcli connection show

第八章 Linux 网卡管理_第3张图片

nmcli connection show ens33

第八章 Linux 网卡管理_第4张图片

3 网卡配置文件(重要)

网卡配置文件的位置

/etc/sysconfig/network-scripts/ifcfg-xxx
列出:网卡设备的<网卡配置文件>

ll /etc/sysconfig/network-scripts/ifcfg-*       ## 查看位置

如果知道网卡名忘记位置可通过find查找,假如是ens33
find /etc/ -name "*ens33*"

查看网卡配置文件的内容

cat /etc/sysconfig/network-scripts/ifcfg-ens33
## 内容显示如下:
TYPE=Ethernet			       		设置:网卡类型为Ethernet以太网卡
PROXY_METHOD=none					设置:禁用支持代理功能
BROWSER_ONLY=no						设置:代理功能不仅仅只针对于浏览器代理应用
BOOTPROTO=none/static				设置:禁用DHCP方式,启用静态TCP/IP配置
#BOOTPROTO=dhcp	  					dhcp则为DHCP动态ip,静态动态选一个
DEFROUTE=yes						允许:被设置为默认网关
IPV4_FAILURE_FATAL=no				设置:如果ipv4配置失败,则禁用设备
IPV6INIT=yes						开启:IPv6的功能
IPV6_AUTOCONF=yes					设置:自动配置IPv6
IPV6_DEFROUTE=yes					允许:被设置为默认网关
IPV6_FAILURE_FATAL=no				设置:如果ipv6配置失败,则禁用设备
IPV6_ADDR_GEN_MODE=stable-privacy	设置:IPV6地址的生成模型为stable-privacy
NAME=ens33							设置:对应的网卡连接名
UUID=3cc679e5-8425-4ff7-baf6-b28edc29527d	设置:网卡UUID全局唯一标识符(系统自动生成) 克隆时候把克隆的UUID这行内容删掉保存,会自动保存
DEVICE=ens33						设置:对应的网卡设备名   一般要和网卡连接名相同
ONBOOT=yes							设置:开机自启动

##以下是设置静态ip才需要设置的,手动添加,建议背下来
IPADDR=192.0.0.101					设置:网卡 IP 地址(前提条件是:BOOTPROTO=none)
									一般在 10~250选一个设置
PREFIX=24							设置:网卡子网掩码(前提条件是:BOOTPROTO=none)
##或者NETMASK=255.255.255.0子网掩码 ,这两行只需要写一个
GATEWAY=10.0.0.2					设置:网关 IP 地址(前提条件是:BOOTPROTO=none),一般设置以 2 结尾
DNS1=114.114.114.114				设置:主 DNS 服务器 IP 地址
DNS2=8.8.8.8						设置:辅助 DNS 服务器 IP 地址

注意:要先写网关地址,才能设置IP地址,因为ip地址要和网关同一局域网,设置网关ip要看网关,真机看路由器的网关,不然连不上去
注意:在设置修改配置时候,最好复制一行设置,把原来的注释掉,这样出错了方便恢复寻找问题

8.2 网卡基本管理

systemctl enable network   				## 设置:开机自启动
systemctl enable NetworkManager			## 设置:开机自启动
systemctl is-enabled network
systemctl is-enabled NetworkManager		## 查看是否成功设置为开机自启动
systemctl start     					## 启动
systemctl status    					## 查看状态
systemctl reload       					## 重载
systemctl restart      					## 重启
systemctl stop        					## 停止

当我们不小心删掉网卡配置文件里面的内容时,或者我们想要修改静态动态ip时,或者想启动或关闭网卡时,我们可以通过下面的方法进行恢复

注意:nmcli 相当于是脚本恢复,自动化,高效方便,vim恢复比较稳妥,不过无论哪种方法,都需要进行重启网络或者重启网卡设置

systemctl restart NetworkManager   
或者  
systemctl restart network  

## 注意:不能同时启动两个,否则会出故障导致ip地址不见,启动哪个都可以,但是要关闭另外一个
systemctl stop NetworkManager   
或者  
systemctl stop network             这是关闭命令

下面就是我们的恢复方法

一、静态 TCP/IP 配置

1 vi 编辑器方式

(这种方式最稳妥,但不利于脚本自动化)

把BOOTPROTO=dhcp改成BOOTPROTO=none 建议注释这一行在复制粘贴到新的下一行修改,防止出错了不好恢复 none 也可以改成 static

vi /etc/sysconfig/network-scripts/ifcfg-ens33         ens33是网卡名
## 以下是 vi 编辑的内容
TYPE=Ethernet			设置:网卡类型为Ethernet以太网卡
BOOTPROTO=none			设置:禁用DHCP方式,启用静态TCP/IP配置 none或static
DEFROUTE=yes		 	允许:被设置为默认网关
NAME=ens33				设置:对应的网卡连接名
DEVICE=ens33			设置:对应的网卡设备名
ONBOOT=yes				设置:开机自启动,这个不是yes会没有ip,rocky8踩坑

IPADDR=10.0.0.101		设置:网卡 IP 地址(前提条件是:BOOTPROTO=none)
PREFIX=24				设置:网卡子网掩码(前提条件是:BOOTPROTO=none)
GATEWAY=10.0.0.1		设置:网关 IP 地址(前提条件是:BOOTPROTO=none)
DNS1=114.114.114.114	设置:主 DNS 服务器 IP 地址
DNS2=8.8.8.8			设置:辅助 DNS 服务器 IP 地址

## 注意:下面这段是动态改静态,最好背下来

注意:设置完成之后,需要systemctl restart network 重启网卡

2 nmcli 命令方式

(这种方式有利于脚本自动化,但需 NetworkManager服务支持)现在都用DHCP动态ip地址自动化,很少用vim

nmcli connection modify ens33 \
     ipv4.method manual \
     ipv4.addresses 192.168.58.100/24 \    
     ipv4.gateway 192.168.58.2 \
     ipv4.dns 114.114.114.114 \
     autoconnect yes
     
## 注意:这个一次性复制全部代码即可,网卡名是ens33
## 注意:第3行是设置ipv4地址 (/24是子网掩码,c类地址不用改),第4行是网关,需要根据查看路由器网关进行修改,保证在同一局域网下,虚拟机则看虚拟机的网关
## \ 代表在下一行写命令实际上和上一行是连起来的,他们之间就是相差 制表符(tab键,空格),而不是几行命令,是一行命令

注意:设置完成之后,需要systemctl restart network 重启网卡

二、动态 TCP/IP 配置

1 vi 编辑器方式

(这种方式最稳妥,但不利于脚本自动化)

vi /etc/sysconfig/network-scripts/ifcfg-ens33
## 以下是 vi 编辑的内容
TYPE=Ethernet			设置:网卡类型为Ethernet以太网卡
BOOTPROTO=dhcp			设置:启用DHCP方式,禁用静态TCP/IP配置
DEFROUTE=yes			允许:被设置为默认网关
NAME=ens33				设置:对应的网卡连接名
DEVICE=ens33			设置:对应的网卡设备名
ONBOOT=yes				设置:开机自启动

注意:设置完成之后,需要systemctl restart network 重启网卡

这是静态网卡最少配置

TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"

IPADDR=192.168.58.100
PREFIX=24
GATEWAY=192.168.58.2
DNS1=114.114.114.114
DNS2=8.8.8.8

这是内网网卡最少配置

TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
NAME="ens36"
DEVICE="ens36"
ONBOOT="yes"

IPADDR=172.168.0.100
2 nmcli 命令方式

(这种方式有利于脚本自动化,但需 NetworkManager服务支持)现在都用DHCP动态ip地址自动化,很少用vim

nmcli connection modify ens33 \
    ipv4.method auto \
    ipv4.addresses "" \
    ipv4.gateway "" \
    ipv4.dns "" \
    autoconnect yes
    
## 注意:上面是一条命令,其次这些内容没设置,都是自动生成,ens33是网卡名

注意:设置完成之后,需要systemctl restart network 重启网卡 ctl是控制control的缩写

三、临时/永久 启动:网卡

1 临时方式

★ 方式1:ifup 命令(将被弃用),需要:yum install -y net-tools(CentOS 7需要手动安装)

举例:

ifup ens33

注意:ens33 是网络设备名

★ 方式2:nmcli 命令(需NetworkManager服务支持)

举例:

nmcli connection up ens33

注意:ens33 是网络连接名

2 永久方式

方式1:vi 编辑器方式

vi /etc/sysconfig/network-scripts/ifcfg-ens33
## 关键点:
ONBOOT=yes			 # 设置:开机自启动   把no改成yes   保存退出
 
systemctl restart NetworkManager   
或者  
systemctl restart network

方式2:nmcli 命令方式 (有利于脚本自动化,但需 NetworkManager 服务支持)

nmcli connection modify ens33 autoconnect yes     
systemctl  restart NetworkManager  
或者 
systemctl restart  network

## 注意:只能打开一个,两个都开会出问题,可能把ip地址搞没,这时要关掉一个即可 一个是网卡管理,一个是网络管理

四、临时/永久 关闭:网卡

1 临时方式

方式1:ifdown 命令(将被弃用)需要:yum install -y net-tools(CentOS 7 需要手动安装)

举例:

ifdown ens33

注意:ens33 是网络设备名

★ 方式2:nmcli 命令(需 NetworkManager 服务支持)

举例:

nmcli connection down ens33

注意:ens33 是网络连接名

2 永久方式

方式1:vi 编辑器方式 (但最稳妥,不利于脚本自动化)

vi /etc/sysconfig/network-scripts/ifcfg-ens33
## 关键点:
ONBOOT=no			 # 设置:开机自启动  yes改成 no 保存退出

systemctl restart network

方式2:nmcli 命令方式 (有利于脚本自动化,但需 NetworkManager 服务支持)

nmcli connection modify ens33 autoconnect no
systemctl restart NetworkManager   
或者  
systemctl restart network

五、 创建子接口

功能:创建子接口,使一个网卡拥有多个ip地址。当只有一个网卡,但是要几个ip地址的时候使用。

建议使用32位子网掩码,从而不受网段限制

配置:lo环回接口的子接口 lo:0

vi /etc/sysconfig/network-scripts/ifcfg-lo:0
## 编辑如下:
DEVICE=lo:0								 ## 网卡设备名
NAME=lo:0								 ## 网卡连接名
ONBOOT=yes								 ## 开机自动启动网卡
IPADDR=10.0.0.110						 ## 新的ip地址设置
PREFIX=32								 ## 子网掩码设置

##保存退出
ifup lo:0  			## 立即启动     ip  a 查看  

## 注意:该文件没经过测试,IPADDR那里是设置新的ip地址,要和旧的在同一个网段上,看子网掩码设置

例子:当给ens33设置子接口,就是多一个ip地址 本ip地址为 192.168.58.100,网关是192.168.58.2 本人亲测

vim /etc/sysconfig/network-scripts/ifcfg-ens33:0
## 编辑如下:
DEVICE=ens33:0
NAME=ens33:0
ONBOOT=yes
IPADDR=192.168.58.50
PREFIX=24

##wq保存退出,

ifup ens33:0    ## 立即启动
或者
systemctl restart network 	## 重启网卡  ip a 查看是否多了一个ip地址,多了则成功

## 注意:ifcfg-ens33:0 是保存后创建的,会得到一个/etc/sysconfig/network-scripts/ifcfg-ens33:0 

如果要多设置几个ip地址,则进行一样操作,可以创建ifcfg-ens33:1,ifcfg-ens33:2 …

cp /etc/sysconfig/network-scripts/ifcfg-ens33:0 /etc/sysconfig/network-scripts/ifcfg-ens33:1    ##复制文件改名
vim  /etc/sysconfig/network-scripts/ifcfg-ens33:1
## 编辑如下:
DEVICE=ens33:1
NAME=ens33:1
ONBOOT=yes
IPADDR=192.168.58.51              ## 51可改成在10到250之内的数
PREFIX=24

##wq保存退出
systemctl restart network 重启网卡 ip a  查看

## 注意:文件名只需要是 ens33:n 都可以(n为数字),里面进行数字对应修改,想要多少个新的ip地址就创建多少个

六 备份网卡配置

防止网卡配置文件内容出错恢复不了,直接给网卡配置文件做一个备份,到时候可以直接复制恢复,以网卡名ens33为例子

cp /etc/sysconfig/network-scripts/ifcfg-ens33:0 /etc/sysconfig/network-scripts/ifcfg-ens33.bak

## 注意:必须是以 .bak 结尾,不然识别不出来不算备份

七 增加网卡

当增加一张网卡

systemctl restart network           ## 刷新
ip a         						## 查看网卡名,假如是ens34
注意:如果没有生成 ifcfg-ens34 文件,我们要自己创建该文件并配置。简单配置即可
如果有配置文件,进去发现UUID一样,可以把UUID那一行删掉保存退出,然后系统会自动给他设置UUID

假如要配置文件 vim ifcfg-ens34
TYPE=Ethernet			设置:网卡类型为Ethernet以太网卡
BOOTPROTO=dhcp			设置:启用DHCP方式,禁用静态TCP/IP配置
DEFROUTE=yes			允许:被设置为默认网关
NAME=ens33				设置:对应的网卡连接名
DEVICE=ens33			设置:对应的网卡设备名
ONBOOT=yes				设置:开机自启动

wq退出刷新    systemctl restart network   即可

8.3 网卡聚合配置(bond)

8.3.1 网卡聚合介绍

1 网卡聚合的作用

网卡聚合的作用是将多个物理网卡捆绑成为一个虚拟网卡,从而实现网卡的设备冗余、带宽扩容、负载均衡的一种常用的技术。

注意:是虚拟网卡,比如有两个网卡,但是可能有三个ip地址,因为另外一个ip地址是两个网卡逻辑捆绑虚拟出来的新网卡

但是网卡虽然是虚拟的,不过要有对应的配置文件才可以正常使用,所以要创建配置文件

2 bond 的几种mode 聚合类型

从mode=0到mode=6一共七种

balance-rr active-backup balance-xor broadcast 802.3ad balance-tlb balance-alb

(1) mode=0 (balance-rr):不建议使用。这种类型的特点是每个网卡负载均衡发送出站数据包,很显然,这种类型的优点就是轮询发送,比较均衡。但是存在一个问题:无故障切换,接受方会收到乱序包,从而会申请重发,反而降低了吞吐量。这种方式需要配置交换机的端口聚合。

(2) mode=1 (active-backup):比较常用。特点是支持主备切换,主备切换发送出站数据包,可故障切换,接受方也不会收到乱序包。这种类型无需配置交换机。但它的缺点是工作网卡总是一个,并不能提高吞吐量。

(3) mode=2 (balance-xor):不建议使用。它的特点是基于指定的HASH策略负载均衡发送出站数据包。默认的HASH策略是:(源MAC地址 XOR 目标MAC地址) % slave数量。这个类型的优点是轮询发送,十分均衡,但存在的缺点就是无故障切换。

(4) mode=3 (broadcast):不建议使用。它的特点是采用广播策略,在每个slave接口复制发送出站数据包。采用广播策略会导致链路的吞吐量大大浪费,还有另一个缺点是无故障切换。

(5) mode=4 (802.3ad):不建议使用。它的特点是创建一个聚合组,它们共享同样的速率和双工设定,基于指定的HASH策略,通过选举产生的slave发送出站数据包。缺点是无故障切换。这种类型需要配置交换机的IEEE802.3ad 动态链接聚合功能。

(6) mode=5 (balance-tlb):可以使用。特点是根据每个slave的当前负载动态负载均衡发送出站数据包,比较智能均衡,同时支持故障切换,并不需要配置交换机。

(7) mode=6 (balance-alb):建议使用这种类型。特点是双向动态负载均衡,它针对出站数据包,类似 balance-tlb;针对入站数据包,通过ARP协商实现动态负载均衡。可故障切换,无需配置交换机。(负载均衡:断开连接一个网卡,聚合网卡也有网络正常工作,因为还有另外一个网卡,而且两个网卡聚合网速会变快)

测试:可以直接 ping 百度的时候故意断开一个网卡,看看还有没有网络

8.3.2 配置bond (mode=6 负载均衡) 网卡聚合

★ 假设:要将ens33和ens34两张网卡聚合成为一个逻辑网卡bond0,并实现负载均衡

★ 方法1:vi 编辑器方式

(1) 编辑:bond0 Master主聚合网卡配置文件

vi /etc/sysconfig/network-scripts/ifcfg-bond0
## 编辑内容如下:
TYPE=bond
DEVICE=bond0						## 网卡设备名
NAME=bond0							## 网卡连接名
BONDING_MASTER=yes              	## 设置:该网卡是聚合主网卡
BONDING_OPTS=mode=6 miimon=100  	## mode=6表示:采用负载均衡模式   重要
        					 		## miimon=100 表示:监视网络链接状态的间隔时间(毫秒)
NM_CONTROLLED=no			 		## 设置:该网卡不受NetworkManager 服务管辖
USERCTL=no				 			## 设置:不允许非root用户控制该网卡
BOOTPROTO=none
IPADDR=192.168.58.150				## 设置ip地址要看自己的局域网是多少,可根据网关判断
NETMASK=255.255.255.0    			## 或者PREFIX=24 本人喜欢这个
GATEWAY=192.168.58.2				## 网关
ONBOOT=yes							## 开机自启

(2) 编辑:ens33 Slave从属聚合网卡配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33bond0
## 编辑内容如下:
TYPE=Ethernet
NAME=ens33bond0
DEVICE=ens33
MASTER=bond0				## 设置:聚合网卡设备名
SLAVE=yes
NM_CONTROLLED=no			## 设置:该网卡不受NetworkManager 服务管辖
USERCTL=no					## 设置:不允许非root用户控制该网卡
ONBOOT=yes

(3) 编辑:ens34 Slave从属聚合网卡配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens34bond0
## 编辑内容如下:
TYPE=Ethernet
NAME=ens34bond0
DEVICE=ens34
MASTER=bond0
SLAVE=yes
NM_CONTROLLED=no		## 设置:该网卡不受NetworkManager 服务管辖
USERCTL=no				## 设置:不允许非root用户控制该网卡
ONBOOT=yes

(4) 重启:服务器 刷新网卡也行,不一定要重启

reboot  
或者  
systemctl restart network

## 注意:一定要提前开好多一个远程连接随时准备连接聚合网卡,重启网卡后防止远程连接断开

★ 方法2:nmcli 命令方式

(1) 创建:bond0 聚合网卡

nmcli connection add type bond ifname bond0 con-name bond0 mode balance-alb \
                 ipv4.method manual ipv4.addr 192.168.58.150/24 \
                 ipv4.gateway 192.168.58.2 \
                 ipv4.dns 8.8.8.8 \
                 +ipv4.dns 114.114.114.114 \
                 autoconnect yes
                 
## 第二行是ip地址,第三行是网关地址,第四行是dns地址,dns可以是8.8.8.8或者DNS1=114.114.114.114或者去百度上面找一个,也可以少写一个dns

(2) 创建:物理网卡的新连接名,并聚合到bond0 聚合网卡设备名

nmcli connection add type bond-slave ifname ens33 con-name ens33bond0 master bond0 \
autoconnect yes
nmcli connection add type bond-slave ifname ens34 con-name ens34bond0 master bond0 \
autoconnect yes

(3) 删除:所有的老的网卡连接名(网卡还在,只是删除了连接名 NAME=ens33,但是实际上ens33和ens34配置文件没有了)

nmcli connection delete ens33
nmcli connection delete ens34

## 注意:可能会断开连接,新开远程连接不一定要删除,不过要开好远程连接去连接聚合ip

(4) 激活:所有的新的网卡连接名

nmcli connection up ens33bond0		## 前面网卡不删除的话,这里会启动聚合,使单个网卡连接不了
nmcli connection up ens34bond0
nmcli connection up bond0			## 执行前面两部,该步骤执不执行都已经成功使用

(5) 重启:服务器 刷新网卡也行,不一定要重启,测试发现s甚至不刷新也可以

reboot

8.3.3 检查聚合网卡的工作情况

cat /proc/net/bonding/bond0     ## 可查看聚合网卡是哪几个网卡聚合的,查看网速等等
ping baidu.com  				## 可测试断掉一个网卡,聚合网卡是否还能正常工作有网络

8.3.4 恢复两个网卡,取消聚合

注意:要想恢复两个网卡:先删除虚拟网卡,在创建两个网卡的配置文件

nmcli connection delete ens33bond0
nmcli connection delete ens34bond0
nmcli connection delete bond0

vi /etc/sysconfig/network-scripts/ifcfg-ens33
vi /etc/sysconfig/network-scripts/ifcfg-ens34

nmcli connection up ens33
nmcli connection up ens36

## 注意:必须重启老网卡,不然远程连接断开,又连接不上老网卡
## 对配置文件进行修改保存,然后 systemctl restart network	

8.4 网卡桥接配置(bridge)

8.4.1 了解网卡桥接

1 网卡桥接的作用:

网卡桥接的作用是通过构建一个虚拟网桥设备,然后配置一个物理网卡隶属于该虚拟网桥设备,从而作为该虚拟网桥设备的一个交换机端口来使用。需要注意的是,一个 虚拟网桥设备只能桥接一个物理网卡,如果一个虚拟网桥设备需要桥接多个物理网卡,必须先聚合,再桥接。多用于构建虚拟机,并让虚拟机直接与外部物理网络通信。

注意:如果是多台电脑,一个交换机,可使多台电脑聚合网卡,然后再使聚合网卡连接交换机(同一局域网下)

2 网卡桥接工作原理

第八章 Linux 网卡管理_第5张图片

8.4.2 配置网卡桥接

假设:要将ens33 网卡桥接到一个虚拟网桥设备 br0

方法1:vi 编辑器方式

(1) 编辑:br0 Master桥接网卡配置文件

vi /etc/sysconfig/network-scripts/ifcfg-br0
## 编辑内容如下:
TYPE=Bridge
DEVICE=br0
NAME=br0
STP=yes
BOOTPROTO=none
IPADDR=10.0.0.101
PREFIX=24
GATEWAY=10.0.0.1
DNS1=114.114.114.114
DNS2=8.8.8.8
ONBOOT=yes

(2) 编辑:ens33 Slave从属桥接网卡配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33
## 编辑内容如下:
TYPE=Ethernet
DEVICE=ens33
NAME=ens33
BRIDGE=br0
ONBOOT=yes

(3) 重启:服务器

reboot

方法2: nmcli 命令方式

(1) 创建:自定义桥接网卡 br

nmcli connection add type bridge con-name br0 ifname br0 \
      ipv4.method manual ipv4.addr 10.0.0.101/24 \
      ipv4.gateway 10.0.0.1 \
      ipv4.dns 114.114.114.114 \
      +ipv4.dns 8.8.8.8 \
       autoconnect yes

(2) 激活:bridge桥接网卡 br0

nmcli connection up br0

(3) 绑定桥接网卡:将物理网卡设置为桥接网卡设备名的从属网卡

## 以下命令是:修改的方式
               nmcli connection modify ens33 connection.slave-type bridge connection.master br0
## 以下命令是:新建的方式
##              nmcli connection add type ethernet ifname ens33 con-name ens33 \
##                connection.slave-type bridge \
##                connection.master br0 \
##                autoconnect yes

(4) 重启:服务器

reboot

8.5 nmcli connection

nmcli connection 是用于管理网络连接的 NetworkManager 命令行工具。下面列举了一些常用的 nmcli connection 命令及其功能:

1. nmcli connection show					## 显示所有当前配置的网络连接。
2. nmcli connection up <connection_name>	## 启用指定名称的网络连接。
3. nmcli connection down <connection_name>	## 禁用指定名称的网络连接。
4. nmcli connection add type <connection_type>	## 添加一个新的网络连接,指定连接类型(如 ethernet、wifi)。
5. nmcli connection modify <connection_name> <option>=<value>	## 修改指定网络连接的参数值。
6. nmcli connection delete <connection_name>	## 删除指定名称的网络连接。
7. nmcli connection reload						## 重新加载网络连接配置。
8. nmcli connection show <connection_name>		## 显示指定名称的网络连接详细信息。
9. nmcli connection import type <connection_type> file <file_path>		## 从文件导入网络连接配置。
## 注意: 表示网卡名 比如 ens33

8.6 同时开启两个网卡管理冲突

当 NetworkManager 没有关闭 就启动 network ,network就会出现错误,会在启动时显示配置文件有错
解决办法如下

先关闭 NETworkManager
然后如下

/etc/rc.d/init.d/network stop
systemctl start NetworkManager

重新启动网络服务:尝试重新启动网络服务并检查是否仍然出现问题。

/etc/rc.d/init.d/network start

你可能感兴趣的:(linux,linux,运维,服务器)