- IP协议
- IP地址
- 路由、DHCP
- 网络配置
一、IP协议
(一)IP协议的特征:
运行于OSI的网络层
面向无连接的协议
独立处理数据包
分层编址
尽力而为传输
无数据恢复功能
(二)IP的PDU报头
版本(4bit):区分ipv4或ipv6协议
首部长度(4bit):最多表达15单位,每个单位标识4字节,所以IP报头最长60字节
区分服务(8bit):一般不使用
总长度(16bit):表达IP报文的首部与数据部分的总长度,单位为字节,故IP报文长度不会超过65535字节,同时不能超过MTU(最大传送单元)
标识(16bit):计数器,每发送一个报文自增一,同一数据包的每个分片标识值相同
-
标志(3bit):后2位有实际意义:
- DF(Don't Fragment):第2位,DF=0时允许分片,DF=1不允许分片
- MF(More Fragment):第3位,MF=0时表示最后一个分片,MF=1时表示后面还有分片
片偏移(12bit):分片在原分组中的位置,偏移单位为8字节
生存时间(8bit):数据报在网络中经过路由器的最大值,记作“TTL(time to live)”,一般设为64
协议(8bit):服务于传输层协议,说明数据报内容的协议类型。1表示ICMP协议,2表示IGMP协议,6表示TCP协议,17表示UDP协议
首部校验和(16bit):检验数据报首部
源地址、目的地址:各占4字节
二、IP地址
(一)IP地址的特征:
唯一标识IP网络中的每台设备
-
由网络ID和主机ID组成
- 网络ID:标识网络,每个网段分配一个网络ID
- 主机ID:标识单个主机,分配给各设备
IP地址格式:点分十进制
IP地址共32位,每8位一组分成四组,每组8位二进制数转换成十进制数,四组之间用点.
符号分割
(二)IP地址分类
A类:
IP地址开头范围:1-126
网络ID:前8位;主机ID:后24位
网络数:126
每个网络中的主机数:2^24-2
默认子网掩码:255.0.0.0
私网地址:10.0.0.0-10.255.255.255B类:
IP地址开头范围:128-191
网络ID:前16位;主机ID:后16位
网络数:2^14
每个网络中的主机数:2^16-2
默认子网掩码:255.255.0.0
私网地址:172.16.0.0-172.31.255.255C类:
IP地址开头范围:192-223
网络ID:前24位;主机ID:后8位
网络数:2^21
每个网络中的主机数:2^8-2
默认子网掩码:255.255.255.0
私网地址:192.168.0.0-192.168.255.255D类:组播
IP地址开头范围:224-239E类:广播
IP地址开头范围:240-255公网地址需要注册,私网地址不需要注册,仅限在局域网内部使用
-
特殊地址
- 0.0.0.0 所有不清楚的主机和目的网络
- 255.255.255.255 对本网段的所有主机广播
- 127.0.0.1-127.255.255.254 本机回环地址,测试用
- 224.0.0.0-239.255.255.255 组播地址:224.0.0.1指所有主机,224.0.0.2指所有路由器,224.0.0.5指所有OSPF路由器,地址多用于特定程序和多媒体程序
- 169.254.x.x 若Windows主机配置了DHCP分配IP地址,但未能从DHCP服务器获得IP地址,系统为主机分配的地址
(三)子网掩码
子网掩码的作用:区分IP地址的网络ID与主机ID
32位二进制,对应网络ID位为1,对应主机ID位为0
8位子网掩码的可能情况
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 十进制值 |
---|---|---|---|---|---|---|---|---|
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 128 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 192 |
1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 224 |
1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 240 |
1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 248 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 252 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 254 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 255 |
(四)CIDR(Classless Inter-Domain Routing) 无类别域间路由
CIDR下的的网络ID和主机ID打破了过去A类、B类、C类IP地址的限制,网络ID与主机ID位数均可以在一定范围内变动
网络主机最大数量:2^主机ID位数-2 = 2^(32-网络ID位数)-2
网络数:2^网络ID位数
网络ID:IP地址与子网掩码逐位与运算
CIDR表示法:IP地址或网络ID/网络ID位数
(五)划分子网、超网
划分子网:将一个大网络分割成多个小网络,每个小网络主机ID变少,网络ID变多,原来的大网络网络ID位向主机ID位借位
划分超网:将多个小网络合并成一个大网络,大网络主机ID变多,网络ID变小,原来的小网络主机ID位向网络ID位借位
划分子网的数量:2^网络ID向主机ID借的位数
划分子网后损失的IP数:(划分子网的数量-1)*2实验:划分子网的规划
第一步:160.200.0.0/16 划分16个子网,并说明
(1)划分子网的netmask;(2)每个子网主机数;
(3)最小、最大子网的网络ID;(4)最大子网的IP范围。
分析:
1、划分16个子网,需要从网络ID借4位,从而子网掩码的前20位是1,后12位是0,从而netmask地址为255.255.240.0
2、每个子网的主机ID位数是32-20=12,则主机数为2^12-1=4094
3、最小子网的第17位至第20位为0000,最大子网的第17位至第20位为1111,前16位与划分前的网络ID相同,故最小子网的网络ID为160.200.0.0/20,而最大子网的网络ID为160.200.240.0/20
4、主机ID为第21至第32位,最小的二进制位是0000 00000001,最大的二进制位是1111 11111110,则最大子网的IP范围为160.200.240.1/20至160.200.255.254/20
第二步:对最大的子网160.200.240.0/20 划分32个子网,并说明
(1)划分子网的netmask;(2)每个子网主机数;
(3)最小、最大子网的网络ID;(4)最大子网的IP范围。
分析:
1、划分32个子网,需要从网络ID借5位,从而子网掩码的前25位是1,后7位是0,从而netmask地址为255.255.255.128
2、每个子网的主机ID位数是32-25=7,则主机数为2^7-2=126
3、最小子网的第21位至第25位是0000 0,最大子网的第21位至第25位是1111 1,前20位与划分前的网络ID相同,故最小子网的网络ID为160.200.240.0/25,而最大子网的网络ID为160.200.255.128/20
4、主机ID为第26至第32位,最小的二进制位是 0000001,最大的二进制位1111110,则最大子网的IP范围为160.200.255.129/20至160.200.255.254/20
三、路由、DHCP
(一)跨网络通信:路由
路由的分类:主机路由、网络路由、默认路由(主机路由精度最高,依次递减)
路由的优先级:精度越高,优先级越高
(二)DHCP:动态主机配置协议
- 四次广播过程
- DHCP Discover——主机向网络广播寻求DHCP服务器
- DHCP Offer——DHCP服务器向主机广播可以提供服务的报文
- DHCP Request——主机向网络广播选定的DHCP服务器
- DHCP ACK——被选定的DHCP服务器广播报文中含有给主机分配的IP地址,其他DHCP服务器无工作
四、网络配置
- 网络配置内容:
- 主机:配置主机IP地址
- 路由:配置默认网关
- DNS服务器:linux可以设置三个DNS地址:主DNS服务器、次DNS服务器、第三DNS服务器
(一)网卡配置
网卡命名:eth0 (CentOS 6), ens33 (CentOS 7)
网络接口识别及命名的udev配置文件
/etc/udev/rules.d/70-persistent-net.rules
查看网卡:
ethtool -i eth0
或者dmesg | grep -i eth
卸载、装载网卡驱动
modprobe -r e1000
或者rmmod e1000
卸载驱动e1000
modprobe e1000
装载驱动e1000实验:给网卡改名
1、修改配置文件:vim /etc/udev/rules.d/70-persistent-net.rules
修改一条记录的最后NAME设置,如下图将原eth1改名为eth1-1
2、用ethtool查看网卡驱动,使用modprobe命令卸载并重新装载驱动,可以看到网卡改名成功
ethtool eth1 //查询结果显示网卡驱动为e1000
modprobe -r e1000 //卸载驱动
modprobe e1000 //重新装载驱动
ifconfig //查看网卡信息,确认改名结果
(二)网络配置
(1)网络配置概述
网络配置分为静态指定与动态分配两种方式
-
静态指定的配置方式大体分为三条途径:
- 传统配置工具:
ifconfig
,route
,netstat
,特点是使用简单,兼容旧系统 - 新型配置工具:
ip
,ss
,tc
,特点是功能强大,性能较好 - 更改配置文件:前两种途径的设置都能够立即生效,但缺点是重启后设置丢失;而更改配置文件后设置信息永久有效,但缺点是不能立即生效,需要重启服务
- 传统配置工具:
(2)ifconfig 配置网络接口
- 语法:
ifconfig [interface] //显示所有或某个网卡的信息
ifconfig -a //显示所有网卡的信息(无选项默认只显示激活的网卡)
ifconfig interface [up | down] //激活/禁用某个网卡
ifconfig interface IP/netmask //为网卡配置地址,IP地址采用CIDR描述
ifconfig interface IP netmask //为网卡配置地址,IP地址采用传统描述
实验:禁用并重新启用eth1网卡,修改eth1的IP地址为172.18.0.10/20
命令:
ifconfig eth1 down //禁用网卡
ifconfig eht1 up //启用网卡
ifconfig eth1 172.18.0.10/20 //设置IP地址
eth1网卡禁用后
eth1网卡激活后
修改eth1的IP地址
(3)route 显示和配置路由表
- 语法:
route -n //查看路由表
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] //添加路由
route add -host 192.168.1.3 gw 172.18.0.1 //添加主机路由
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.18.0.1 //添加网络路由
route add -net 192.168.0.0/24 gw 172.18.0.1 //添加网络路由,与前者等价
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.18.0.1 //添加默认路由
route add default gw 172.16.0.1
route del [-net|-host] target [gwGw] [netmask Nm] [[dev] If] //删除路由表
route del -host 192.168.1.3 //删除主机路由
route del -net 192.168.0.0/24 //删除网络路由
实验:
(1)添加主机路由192.168.10.22,网关172.18.0.1
(2)添加网络路由192.168.15.0/24,网关172.18.0.1
(3)删除主机路由192.168.10.22
(4)删除网络路由192.168.15.0/24命令
route add -host 192.168.10.22 gw 172.18.0.1
route add -net 192.168.15.0/24 gw 172.18.0.1
route del -host 192.168.10.22
route del -net 192.168.15.0/24
- 执行过程如下,红框中为通过命令添加的路由表,需要注意的是,添加的网关IP地址必须与主机在同一个网段,这样发往其他网段的数据报文才能通过网关从本网段转发出去
(4)配置动态路由
- 通过守护进程获取动态路由
- 安装quagga包
- 支持多种路由协议:RIP、OSPF和BGP
- 命令vtysh配置
(5)netstat 显示网络连接、路由表、接口统计
- 显示网络连接的选项
-t //tcp协议相关
-u //udp协议相关
-w //raw socket相关
-l //处于监听状态
-a //所有状态
-n //以数字显示IP和端口
-e //扩展格式
-p //显示相关进程及PID
- 几个经典的选项组合
-tan //以数字显示查看TCP协议的所有连接状态
-uan //以数字显示查看UDP协议的所有连接状态
-tnl //以数字显示查看TCP协议处于监听状态的连接
下图显示了用netstat命令查询所有TCP协议的连接状态,红框显示的连接处于建立连接状态,其他处于监听状态
- 显示路由表,功能类似于
route -n
netstat -rn //-r:显示内核路由表,-n:以数字显示
- 显示接口统计数据,功能类似于
ifconfig -s
netstat -i //显示所有网络接口统计数据
netstat -I=IFACE //显示指定网络接口统计数据
(6)ip 显示和配置路由、设备、路由策略、隧道
ip是一个工具集,可以进行网络设备、IP地址和路由表等方面的设置
语法:
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT = { link | addr| route }
网络设备的设置 OBJECT=link
ip link set DEVICE { up | down } //激活或禁用设备
ip link show [ DEVICE ] //显示设备信息
ip link show up //显示处于激活状态的设备
可以看到OBJECT=link时显示的信息局限在数据链路层,红框表示设备状态的切换
- IP地址的设置 OBJECT=addr
ipaddr{ add | del } IFADDR dev STRING //添加或删除
IFADDR包含:
[label LABEL] //添加地址时指明网卡别名
[scope {global|link|host}] //指明作用域(global:全局可用;link:仅链接可用;host:本机可用)
[broadcast ADDRESS] //指明广播地址
ip addr { show | flush } //显示或者清空
[ dev STRING ] //设备名
[label PATTERN] //匹配别名
[primary and secondary] //网卡主名或别名的信息
- 实验:
(1)给网卡eth1指定别名eth1:1,其IP地址为172.18.240.39,作用域为global
(2)清除网卡eth1:1别名
ip addr add 172.18.240.39/16 dev eth1 label eth1:1 scope global
ip addr flush dev eth1 label eth1:1
红框中为eth1建立的别名eth1:1
- 路由表的设置 OBJECT=route
ip route add TARGET via GW dev IFACE //添加路由
ip route add IP via GW dev IFACE //添加主机路由
ip route add NETWORK/MASK via GW dev IFACE //添加网络路由
ip route add default via GW dev IFACE //添加默认路由
ip route del TARGET //删除路由
ip route show | list //显示路由
ip route flush [dev IFACE] //清空路由表
- 实验
(1)添加主机路由192.168.10.22,网关172.18.0.1
(2)添加网络路由192.168.15.0/24,网关172.18.0.2
(3)添加默认路由,网关172.18.0.3
(4)删除主机路由192.168.10.22
(5)删除网络路由192.168.15.0/24
(6)删除默认路由
ip route add 192.168.10.22 via 172.18.0.1
ip route add 192.168.15.0/24 via 172.18.0.2
ip route add default via 172.18.0.3
ip route del 192.168.10.22
ip route del 192.168.15.0/24
ip route del default
(7)ss 查看套接字信息
功能、用法类似于netstat,但ss性能更好
语法:
ss [options] [ FILTER ]
选项 options:
-t //tcp协议相关
-u //udp协议相关
-w //裸套接字相关
-x //unixsock相关
-l //listen状态的连接
-a //所有
-n //数字格式
-p //相关的程序及PID
-e //扩展的信息
-m //内存用量
-o //计时器信息
- 过滤器 filter
语法:[ state TCP-STATE ] [ EXPRESSION ]
TCP-STATE:TCP状态,即TCP有限状态机的状态,例如:
LISTEN
ESTABLISHED
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSEDEXPRESSION:表达式,指明源端口号(sport), 目的端口号(dport),也可以用协议名代替,如:
'( dport = 22 or sport= 22 )'
与' (dport = :ssh or sport = :ssh )'
等效实验
(1)列出所有TCP处于侦听状态的连接
(2)列出所有UDP状态的连接,并显示相关的进程信息
(3)列出所有已建立的ssh连接
ss -tnl
ss -uanp
ss -o state established '( dport = :ssh or sport = :ssh )'
(8)网络配置文件
-
配置文件路径:
- IP, MASK, GW, DNS的配置路径:
/etc/sysconfig/network-scripts/ifcfg-IFACE - ROUTE的配置路径:
/etc/sysconfig/network-scripts/route-IFACE - 配置说明文件路径:
/usr/share/doc/initscripts-VERSION/sysconfig.txt
- IP, MASK, GW, DNS的配置路径:
ifcfg-IFACE配置文件关键字
DEVICE //此配置文件应用到的设备
HWADDR //对应设备的MAC地址
BOOTPROTO //激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
NM_CONTROLLED //是否接受NM(NetworkManager)控制,建议CentOS6为“no”
ONBOOT //在系统引导时是否激活此设备
TYPE //接口类型,常见有的Ethernet, Bridge
UUID //设备的惟一标识
IPADDR //指明IP地址,BOOTPROTO=static时设置
NETMASK //子网掩码,BOOTPROTO=static时设置
GATEWAY //默认网关,BOOTPROTO=static时设置
DNS1 //第一个DNS服务器指向,BOOTPROTO=static时设置
DNS2 //第二个DNS服务器指向,BOOTPROTO=static时设置
USERCTL //普通用户是否可控制此设备
PEERDNS //如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中
- route-IFACE配置文件关键字
可以使用两种风格描述路由表信息,如:
TARGET via GW
10.0.0.0/8 via 172.18.0.1
或者,
ADDRESS#=TARGET
NETMASK#=MASK
GATEWAY#=GW
ADDRESS0=10.0.0.0
NETMASK0=255.0.0.0
GATEWAY0=172.18.0.1
需要注意,修改文件后设置不会立即生效,可以重启服务使其读取配置文件,使设置生效,命令
service network restart
实验1:修改设备eth0的配置文件,要求:静态IP地址:172.18.200.30/24,默认网关:172.18.0.1,第一个DNS服务器IP:8.8.8.8,第二个DNS服务器IP:114.114.114.114,系统启动时激活设备,不受NetworkManager控制,普通用户不可以控制此设备
vim编辑文件/etc/sysconfig/network-scripts/ifcfg-eth0
具体内容如下:
DEVICE=eth0
BOOTPROTO=static
TYPE=Ethernet
IPADDR=172.18.200.30
NETMASK=255.255.255.0
GATEWAY=172.18.0.1
DNS1=8.8.8.8
DNS2=114.114.114.114
ONBOOT=yes
NW_CONTROLLED=no
USERCTL=no
想要设置生效,需要重启网络服务
service network restart
配置文件生效前
配置文件生效后
- 实验2:配置路由表:
路由1:192.18.58.10,网关172.18.0.1
路由2:192.18.57.0/24,网关172.18.0.1
要求永久生效。
建立文件/etc/sysconfig/network-scripts/route-eth0,内容如下
192.18.58.10 via 172.18.0.1
192.18.57.0/24 via 172.18.0.1
想要设置生效,需要重启网络服务
service network restart
配置文件生效前
配置文件生效后
(9)本地解析
本地解析前需要知道本地主机名称,先讨论如何本地主机名称
设置本地主机名称:
hostname [HOSTNAME]
本地主机设置文件路径:
/etc/sysconfig/network
下的HOSTNAME
值(CentOS 6)
/etc/hostname
(CentOS 7)-
本地解析配置文件路径:
/etc/hosts
- 内容是本地主机名及其IP地址的映射
- 在使用DNS检查,优先级高于DNS解析的IP地址
- 支持双向解析
- 查看/etc/hosts文件内容:
getent hosts
- 注意修改hostname后更新hosts文件内容
(10)DNS 域名解析系统
由网络上的DNS服务器负责FQDN(完全合格域名)与IP地址之间的相互解析,linux支持设置3个DNS服务器地址
设置DNS服务器地址命令:
nameserver DNS_SERVER_IP1 | IP2 | IP3
DNS解析配置文件路径:
/etc/resolv.conf
设置本地解析与DNS解析默认优先级的配置文件:
/etc/nsswitch.conf
正向解析:FQDN--->IP
dig -t A FQDN
host -t A FQDN
- 反向解析:IP--->FQDN
dig -x IP
host -t PTR IP
(11) 网卡别名
设置网卡别名的三种方式:ifconfig命令、ip命令、修改设置文件
ifconfig命令修改网卡别名
ifconfig IFACE:ALIAS IP up //定义IFACE别名,网址为IP
ifconfig IFACE:ALIAS down //删除IFACE的别名
- ip命令修改网卡别名
ip addr add IP dev IFACE label IFACE:ALIAS //定义IFACE别名,网址为IP
ip addr del IP dev IFACE label IFACE:ALIAS //删除IFACE别名
ip addr flush dev IFACE label IFACE:ALIAS //删除IFACE别名
修改设置文件:
复制/etc/sysconfig/network-scripts/目录下的要建立网卡别名的ifcfg-IFACE文件,修改其中的DEVICE, IPADDR属性,重新启动network服务。-
注意:
- 关闭NetworkManager服务:
service NetworkManager stop
,关闭NetworkManager服务自启:chkconfig NetworkManager off
- 网卡别名的配置文件必须使用静态联网。
- 关闭NetworkManager服务:
实验:设置网卡eth0的别名eth0:0,IP地址为192.168.58.10/24。分别采取三种方式实现,每次实现后删除网卡别名。
ifconfig eth0:0 192.168.58.10/24 up
ifconfig eth0:0 down
ip addr add 192.168.58.10/24 dev eth0 label eth0:0
ip addr del 192.168.58.10/24 dev eth0 label eth0:0
复制/etc/sysconfig/network-scripts/ifcfg-eth0至新文件ifcfg-eth0:0,内容修改如下:
DEVICE=eth0:0,BOOTPROTO=static,IPADDR=192.168.58.10,PREFIX=24
保存后,执行service network restart
使用ifconfig命令修改别名
使用ip命令修改别名
配置文件修改别名
(12) 网卡绑定 Bonding
定义:将两块以上网卡绑定在同一个IP地址
作用:实现高可用和负载均衡
实现:通过bonding,虚构一块网卡对外提供链接
-
常见分类:
- Mode 0(balance-rr):轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
- Mode 1(active-backup):活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
- Mode 3(broadcast):广播策略:在所有的slave接口上传送所有的报文,提供容错能力
创建bonding设备的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0配置
DEVICE=bond0 //bonding设备名称
BOOTPROTO=none //必须静态配置
BONDING_OPTS="miimon=100 mode=0"
//miimon设置内部网卡间通讯间隔时间(单位:毫秒),mode设置bonding模式
IPADDR= //bonding设备的IP地址
PREFIX= //bonding设备的网络地址前缀
GATEWAY= //bonding设备的网关
- /etc/sysconfig/network-scripts/ifcfg-eth#配置
DEVICE=eth# //被bonding的网卡名称
BOOTPROTO=none //被bonding的网卡的IP地址不再设置
MASTER=bond0 //从属于bond0的bonding设备
SLAVE=yes //属于bonding模式下的网卡
- 实验:定义一个bonding设备bond0,包含两张网卡eth0和eth1,bonding模式为3,通讯间隔100毫秒,IP地址为192.168.58.3/24,网关为192.168.58.1。建立后,使用ping命令测试是否成功。最后,删除bonding设备。
1. 关闭NetworkManager服务
service NetworkManager stop
2. vim建立并配置/etc/sysconfig/network-scripts/ifcfg-bond0文件,内容如下:
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS="miimon=100 mode=3"
IPADDR=192.168.58.3
PREFIX=24
GATEWAY=192.168.58.1
3. vim配置/etc/sysconfig/network-scripts/ifcfg-eth0文件,内容如下:
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
4. vim配置/etc/sysconfig/network-scripts/ifcfg-eth1文件,内容如下:
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
5. 重启network服务,使用ping工具测试,查看bond0状态
service network restart
ping 192.168.58.3
cat /proc/net/bonding/bond0
6. 删除bond0:先禁用bond0设备并卸载bonding模块,之后删除/etc/sysconfig/network-scripts目录下的
ifcfg-bond0文件,恢复ifcfg-eth0, ifcfg-eth1文件至bonding前的设置,最后重启network服务
ifconfig bond0 down
rmmod bonding
rm -f /etc/sysconfig/network-scripts/ifcfg-bond0
vim /etc/sysconfig/network-scripts/ifcfg-eth0
vim /etc/sysconfig/network-scripts/ifcfg-eth1
service network restart
网卡bonding后结果,bond0, eth0, eth1设备的MAC地址相同,eth0, eth1的IP地址消失
ping命令测试成功,可以看到mode 3模式下网卡bond0每次接收到相同的两份报文
查看bond0状态