它们可唯一标识 IP 网络中的每台设备 ,每台主机(计算机、网络设备、外围设备)必须具有唯一的地址
IP地址由两部分组成
网络ID:标识网络,每个网段分配一个网络ID,处于高位
主机 ID:标识单个主机,由组织分配给各设备,处于低位
IPv4地址格式:点分十进制记法
A类:
0 0000000 - 0 1111111.X.Y.Z : 0-127.X.Y.Z
网络ID位是最高8位,主机ID是24位低位
网络数:126=2^7(可变是的网络ID位数)-2
每个网络中的主机数:2^24-2=16777214
默认子网掩码:255.0.0.0
私网地址:10.0.0.0
范例:114.114.114.114,8.8.8.8,1.1.1.1,58.87.87.99,119.29.29.29
B类:
10 000000 - 10 111111.X.Y.Z:128-191.X.Y.Z
网络ID位是最高16位,主机ID是16位低位
网络数:2^14=16384
每个网络中的主机数:2^16-2=65534
默认子网掩码:255.255.0.0
私网地址:172.16.0.0-172.31.0.0
范例:180.76.76.76,172.16.0.1
C类:
110 0 0000 - 110 1 1111.X.Y.Z: 192-223.X.Y.Z
网络ID位是最高24位,主机ID是8位低位
网络数:2^21=2097152
每个网络中的主机数:2^8-2=254
默认子网掩码:255.255.255.0
私网地址:192.168.0.0-192.168.255.0
范例: 223.6.6.6
D类:组(多)播,1110 0000 - 1110 1111.X.Y.Z: 224-239.X.Y.Z
E类:保留未使用,240-255
私有IP地址:不直接用于互联网,通常在局域网中使用
公共IP地址:互联网上设备拥有的唯一地址
0.0.0.0
0.0.0.0不是一个真正意义上的IP地址。它表示所有不清楚的主机和目的网络
255.255.255.255
限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机
127.0.0.1~127.255.255.254
本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为“127.0.0.1”的 数据包
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服务器获取地址,系统会为主机分配这样地址
范例:
172.16.0.0 网络中的两个地址:172.16.0.0 172.16.255.255
CIDR:无类域间路由,目前的网络已不再按A,B,C类划分网段,可以任意指定网段的范围
CIDR 无类域间路由表示法:IP/网络ID位数,如:172.16.0.100/16
netmask子网掩码:32位或128位(IPv6)的数字,和IP成对使用,用来确认IP地址中的网络ID和主机ID,对应网络ID的位为1,对应主机ID的位为0,范例:255.255.255.0 ,表现为连续的高位为1,连续的低位为0
子网掩码的八位
相关公式:
一个网络的最多的主机数=2^主机ID位数-2
网络(段)数=2^网络ID中可变的位数
网络ID=IP与netmask
判断对方主机是否在同一个网段:
用自已的子网掩码分别和自已的IP及对方的IP相与,比较结果,相同则同一网络,不同则不同网段
范例:一个主机:172.16.1.100/28
1、此主机所在的网段最多有多少主机?主机数=2^(32-28)-2=14
2、网络ID? IP和子网掩码相与,172.16.1.96
3、此网段的主机中最小的IP:172.16.1.97,最大的IP?172.16.1.110
范例:一个主机:203.110.228.200/28
203.110.228.200/28
28: 255.255.255.1111 0000
200: 1100 1000
203.110.228.1100 0000
203.110.228.192
2^(32-28)-2=14
203.110.228.193
203.11.228.206
划分子网:将一个大的网络(主机数多)划分成多个小的网络(主机数少),主机ID位数变少,网络ID位数变多,网络ID位向主机ID位借位
范例:
中国移动10.0.0.0/8 给32个各省公司划分对应的子网 1)每个省公司的子网的netmask? 2^5>=32 借5位网络ID 8+5=13 255.248.0.0 2)每个省公司的子网的主机数有多少? 2^(32-13)-2=524286 3)河南省得到第10个子网,网络ID? 10.00000 000.0.0/13 10.01001 000.0.0/13 10.72.0.0/13 4)河南省得到第10个子网的最小IP和最大的IP? 10.01001 000.0.1 10.01001 111.11111111.11111110 10.72.0.1---10.79.255.254 5)所有子网中最大,最小的子网的netid? 10.00000 000.0.0/13 10.0.0.0/13 10.11111 000.0.0/13 10.248.0.0/13
修改配置一般几种方式
1,命令修改
2,工具修改
3,文件修改
4,图形化界面修改
当然,无论哪种方式都是通过不同的途径修改配置文件
ifconfig ? 实例 ??#禁用eth1网卡 ??ifconfig eth1 down ??#配置IP地址 ??ifconfig eth1 192.168.1.125/24 ??#清除IP地址 ??ifconfig eth1 0.0.0.0 ??#保留原地址虚拟一个新的IP地址2 ??ifconfig eth1:2 192.168.1.126/24 ??#删除虚拟的地址2 ??ifconfig eth1:2 down ip ?实例 ??#修改网卡名为ens33的IP地址为192.168.232.100 ??ip addr add 192.168.232.100/24 dev ens33 ??#保留原地址虚拟一个新的IP地址2(ip addr add 缩写为ip a a) ??ip a a 192.168.232.101/24 dev ens33 label ens33:2 ??#删除一个ens33上的10.10.10.10的IP地址 ??ip a d 10.10.10.10/24 dev ens33 ??#清除ens33上的所有IP地址 ??ip a f dev eth1
永久配置IP地址(红帽专用),这种方式虽然简单,但是不建议使用这种方式。
setup工具的安装和配置
1. 安装setuptool #yum install setuptool 2. 安装防火墙设置 yum install system-config-securitylevel-tui 3. 安装网络设置 #yum install system-config-network-tui 4. 安装系统服务管理 #yum install ntsysv 安装完成之后, 运行 setup命令,然后就可以进入setup操作界面了 1.输入setup命令 2.选择网络服务 3.进行设备配置 4.进行相关参数配置 5.保存后 执行 service network restart 命令重启网络服务
ubuntu,网络配置文件在这个目录下
/etc/network/interfaces
centos一般网络配置文件是在这个目录下面,网卡名可能不一样,centos6默认是eth0,centos7默认是ens33
/etc/sysconfig/network-scripts/
配置文件说明:
NAME:图形界面的网卡名
DEVICE:此配置文件应用到的设备
ONBOOT:在系统引导时是否激活此设备
TYPE:接口类型;常见有的Ethernet, Bridge
UUID:设备的惟一标识
BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
IPADDR:指明IP地址
PREFIX:以CIDR表示表示子网掩码如255.255.255.0就可以写成24
NETMASK:子网掩码
GATEWAY: 默认网关
DNS1:第一个DNS服务器指向
DNS2:第二个DNS服务器指向
HWADDR:对应的设备的MAC地址
NM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”
USERCTL:普通用户是否可控制此设备
PEERDNS:如果BOOTPROTO的值为“dhcp”,YES将允许dhcp server分配的dns服务器信息直接覆盖 至/etc/resolv.conf文件,NO不允许修改resolv.conf
修改后需 重启网卡
centos 6及之前系统版本的重启命令 /etc/init.d/network restart 或者service netword restart centos 7重启网卡命令 systemctl restart network
图形化的linux系统,配置ip方式和windows类似
图形工具:
nm-connection-editor
字符配置 tui工具:
nmtui
nmtui-connect
nmtui-edit
nmtui-hostname
命令行工具:
nmcli以上工具都依赖NetworkManager服务,此服务是管理和监控网络设置的守护进程
# 查看NetworkManager服务 [root@centos7 ~]# systemctl status NetworkManager ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:NetworkManager(8) [root@centos7 ~]#
nmcli命令
nmcli命令相关术语
设备即网络接口
连接是对网络接口的配置,一个网络接口可有多个连接配置,但同时只有一个连接配置生效
格式:
nmcli [ OPTIONS ] OBJECT { COMMAND | help } device - show and manage network interfaces nmcli device help connection - start, stop, and manage network connections nmcli connection help
修改IP地址等属性 :
nmcli connection modify IFACE [+|-]setting.property value setting.property: ipv4.addresses ipv4.gateway ipv4.dns1 ipv4.method manual | auto
修改配置文件执行生效:
nmcli con reload
nmcli con up con-name
修改IP地址等属性 : nmcli connection modify IFACE [+|-]setting.property value setting.property: ipv4.addresses ipv4.gateway ipv4.dns1 ipv4.method manual | auto 修改配置文件执行生效: nmcli con reload nmcli con up con-name
# 查看帮助 nmcli con add help # 使用nmcli配置网络 nmcli con show # 显示所有活动连接 nmcli con show --active # 显示网络连接配置 nmcli con show "System eth0“ # 显示设备状态 nmcli dev status # 显示网络接口属性 nmcli dev show eth0 # 创建新连接default,IP自动通过dhcp获取 nmcli con add con-name default type Ethernet ifname eth0 # 删除连接 nmcli con del default # 创建新连接static ,指定静态IP,不自动连接 nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.X.254 # 启用static连接配置 nmcli con up static # 启用default连接配置 nmcli con up default # 修改连接设置 nmcli con mod “static” connection.autoconnect no nmcli con mod “static” ipv4.dns 172.25.X.254 nmcli con mod “static” +ipv4.dns 8.8.8.8 nmcli con mod “static” -ipv4.dns 8.8.8.8 nmcli con mod “static” ipv4.addresses “172.16.X.10/24 172.16.X.254” nmcli con mod “static” +ipv4.addresses 10.10.10.10/16 # DNS设置存放在/etc/resolv.conf,PEERDNS=no 表示当IP通过dhcp自动获取时,dns仍是手动设置,不自动获取等价于下面命令 nmcli con mod “system eth0” ipv4.ignore-auto-dns yes
备注:一般情况下CentOS7默认最小化安装,此时如果要命令行tab补全需要安装一个叫做“bash-completion” 的软件包
nmcli命令与配置文件对应关系
nmcli 命令集
显示当先网络设备状态:nmcli dev
显示所有网络连接:nmcli con show
显示活动网络连接:nmcli con show -active
显示指定网络连接的详情:nmcli con show eno16777728
显示网络设备连接状态:nmcli dev status
显示所有网络设备的详情:nmcli dev show
显示指定网络设备的详情:nmcli dev show eno16777728
启用网络连接:nmcli con up eno16777728
停用网络连接(可被自动激活):nmcli con down eno33554960
禁用网卡,防止被自动激活:nmcli dev dis eth0
删除网络连接的配置文件:nmcli con del eno33554960
重新加载配置网络配置文件:nmcli con reload
动态获取IP方式的网络连接配置:nmcli con add con-name eno16777728 type ethernet ifname eno16777728
指定静态IP方式的网络连接配置:nmcli con add con-name eno16777728 ifname eno16777728 autoconnect yes type ethernet ip4 10.1.254.254/16 gw4 10.1.0.1
启用/关闭所有的网络连接:nmcli net on/off
禁用网络设备并防止自动激活:nmcli con dis eno33554960
查看添加网络连接配置的帮助:nmcli con add help
修改网络连接单项参数
nmcli con mod IF-NAME connection.autoconnect yes修改为自动连接
nmcli con mod IF-NAME ipv4.method manual | dhcp修改IP地址是静态还是DHCP
nmcli con mod IF-NAME ipv4.addresses “172.25.X.10/24 172.25.X.254”修改IP配置及网关
nmcli con mod IF-NAME ipv4.gateway 10.1.0.1修改默认网关
nmcli con mod IF-NAME +ipv4.addresses 10.10.10.10/16添加第二个IP地址
nmcli con mod IF-NAME ipv4.dns 114.114.114.114添加dns1
nmcli con mod IF-NAME +ipv4.dns 8.8.8.8添加dns2
nmcli con mod IF-NAME -ipv4.dns 8.8.8.8删除dns
nmcli命令修改所对应的文件条目
nmcli con mod ifcfg-* 文件
ipv4.method manual BOOTPROTO=none
ipv4.method auto BOOTPROTO=dhcp
connection.id eth0 NAME=eth0
(ipv4.addresses IPADDR0=192.0.2.1
“192.0.2.1/24 PREFIX0=24
192.0.2.254”) GATEWAY0=192.0.2.254
ipv4.dns 8.8.8.8 DNS0=8.8.8.8
pv4.dns-search example.com DOMAIN=example.com
pv4.ignore-auto-dns true PEERDNS=no
connection.autoconnect yes ONBOOT=yes
connection.interface-name eth0 DEVICE=eth0
802-3-ethernet.mac-address... HWADDR=...
将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP
地址是不可以的。通过 bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址
共7种模式:0-6 Mode
# Linux的bond支持7种工作模式,可以参考内核源码包文件 # 模式1:mode=0 ,即:(balance-rr) Round-robin policy(平衡轮循策略) 特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。 # 模式2:mode=1,即: (active-backup) Active-backup policy(主-备份策略) 特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N # 模式3:mode=2,即:(balance-xor) XOR policy(平衡策略) 特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR 目标MAC地址) % slave数量。其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力。 # 模式4:mode=3,即:broadcast(广播策略) 特点:在每个slave接口上传输每个数据包,此模式提供了容错能力。 # 模式5:mode=4,即:(802.3ad) IEEE 802.3adDynamic link aggregation(IEEE 802.3ad 动态链接聚合) 特点:创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。 外出流量的slave选举是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。需要注意的是,并不是所有的传输策略都是802.3ad适应的,尤其考虑到在802.3ad标准43.2.4章节提及的包乱序问题。不同的实现可能会有不同的适应性。 必要条件: 条件1:ethtool支持获取每个slave的速率和双工设定 条件2:switch(交换机)支持IEEE 802.3ad Dynamic link aggregation 条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式 # 模式6:mode=5,即:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡) 特点:不需要任何特别的switch(交换机)支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。 该模式的必要条件:ethtool支持获取每个slave的速率。 # 模式7:mode=6,即:(balance-alb) Adaptive load balancing(适配器适应性负载均衡) 特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。
说明:
active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配
置交换机以便整合链接。如:Cisco 交换机需要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中
需要 LACP和 EtherChannel
创建bonding设备的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0 TYPE=bond DEVICE=bond0 BOOTPROTO=none IPADDR=10.0.0.100 PREFIX=8 #miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一 条线路不通就转入另一条线路 BONDING_OPTS="mode=1 miimon=100" /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes
查看bond0状态:
/proc/net/bonding/bond0
删除bond0
ifconfig bond0 down rmmod bonding
# 添加bonding接口 nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup # 添加从属接口 nmcli con add type bond-slave ifname ens7 master mybond0 nmcli con add type bond-slave ifname ens3 master mybond0 注:如无为从属接口提供连接名,则该名称是接口名称加类型构成 # 启动从属接口 nmcli con up bond-slave-eth0 nmcli con up bond-slave-eth1 # 启动绑定 nmcli con up mybond0 # 关闭并删除bond nmcli con down mybond0 rm –f /etc/sysconfig/network-scripts/ifcfg-*bond* nmcli connection reload
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量
网络组不同于旧版中bonding技术,提供更好的性能和扩展性
网络组由内核驱动和teamd守护进程实现
多种方式 runner
broadcast
roundrobin
activebackup
loadbalance
lacp (implements the 802.3ad Link Aggregation Control Protocol)
网络组特点
启动网络组接口不会自动启动网络组中的port接口
启动网络组接口中的port接口总会自动启动网络组接口
禁用网络组接口会自动禁用网络组中的port接口
没有port接口的网络组接口可以启动静态IP连接
启用DHCP连接时,没有port接口的网络组会等待port接口的加入
# 创建网络组接口 nmcli con add type team con-name CNAME ifname INAME [config JSON] CNAME 连接名 INAME 接口名 JSON 指定runner方式,格式:‘{"runner": {"name": "METHOD"}}‘ METHOD 可以是broadcast, roundrobin, activebackup, loadbalance, lacp # 创建port接口 nmcli con add type team-slave con-name CNAME ifname INAME master TEAM CNAME 连接名,连接名若不指定,默认为team-slave-IFACE INAME 网络接口名 TEAM 网络组接口名 # 断开和启动 nmcli dev dis INAME nmcli con up CNAME INAME 设备名 CNAME 网络组接口名或port接口
网络组示例
nmcli con add type team con-name myteam0 ifname team0 config ‘{"runner": {"name": "loadbalance"}}‘ ipv4.addresses 192.168.1.100/24 ipv4.method manual nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0 nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0 nmcli con up myteam0 nmcli con up team0-eth1 nmcli con up team0-eth2 teamdctl team0 state ping -I team0 192.168.0.254 nmcli dev dis eth1 teamdctl team0 state nmcli con up team0-port1 nmcli dev dis eth2 teamdctl team0 state nmcli con up team0-port2 teamdctl team0 state
管理网络组配置文件
/etc/sysconfig/network-scripts/ifcfg-team0 DEVICE=team0 DEVICETYPE=Team TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}" BOOTPROTO=none IPADDR0=172.16.0.100 PREFIX0=24 NAME=team0 ONBOOT=yes
管理网络组配置文件
/etc/sysconfig/network-scripts/ifcfg-team0-eth1 DEVICE=eth1 DEVICETYPE=TeamPort TEAM_MASTER=team0 NAME=team0-eth1 ONBOOT=yes
删除网络组
nmcli connection down team0 teamdctl team0 state nmcli connection show nmcli connectioni delete team0-eth0 nmcli connectioni delete team0-eth1 nmcli connection show
# 查看当前网卡配置 [root@centos7 ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:32:b5:7e brd ff:ff:ff:ff:ff:ff inet 10.0.0.10/8 brd 10.255.255.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe32:b57e/64 scope link valid_lft forever preferred_lft forever [root@centos7 ~]# # 在虚拟机上添加一块网卡,并查看添加后的网卡配置 [root@centos7 ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:32:b5:7e brd ff:ff:ff:ff:ff:ff inet 10.0.0.10/8 brd 10.255.255.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe32:b57e/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 00:0c:29:32:b5:88 brd ff:ff:ff:ff:ff:ff [root@centos7 ~]# # 安装命令行tab补全包“bash-completion” [root@centos7 ~]# yum -y install bash-completion Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com file:///mnt/cdrom/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn‘t open file /mnt/cdrom/repodata/repomd.xml" Trying other mirror. Package 1:bash-completion-2.1-8.el7.noarch already installed and latest version Nothing to do [root@centos7 ~]# # 安装NetworkManager-tui包,并开启NetworkManager服务 [root@centos7 ~]# yum install NetworkManager-tui -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com file:///mnt/cdrom/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn‘t open file /mnt/cdrom/repodata/repomd.xml" Trying other mirror. Package 1:NetworkManager-tui-1.18.8-2.el7_9.x86_64 already installed and latest version Nothing to do [root@centos7 ~]# systemctl stop NetworkManager [root@centos7 ~]# systemctl status NetworkManager ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled) Active: inactive (dead) since Sun 2021-01-24 20:21:47 CST; 2s ago Docs: man:NetworkManager(8) Process: 1514 ExecStart=/usr/sbin/NetworkManager --no-daemon (code=exited, status=0/SUCCESS) Main PID: 1514 (code=exited, status=0/SUCCESS) [root@centos7 ~]# # 添加bonding接口 [root@centos7 ~]# nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup Connection ‘bond0‘ (21860d27-483c-4d6d-a72e-1ee8d166064f) successfully added. [root@centos7 ~]# [root@centos7 ~]# nmcli connection modify bond0 ipv4.method manual ipv4.addresses 10.0.0.123/24 ipv4.gateway 10.0.0.2 [root@centos7 ~]# # 添加从属接口 nmcli connection add type bond-slave ifname eth0 master bond0 nmcli connection add type bond-slave ifname eth1 master bond0 # 要启动绑定,则必须首先启动从属接口 nmcli connection up bond-slave-eth0 nmcli connection up bond-slave-eth1 # 启动绑定 nmcli connection up bond0 # 重新加载配置网络配置文件 nmcli connection reload # 查看bond0状态 cat /proc/net/bonding/bond0 [root@centos7 ~]# [root@centos7 ~]# cat cat /proc/net/bonding/bond0 cat: cat: No such file or directory Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) // 绑定模式: 当前是mode 1 Primary Slave: None Currently Active Slave: eth1 MII Status: up // 接口状态: up(MII是Media Independent Interface简称, 接口的意思) MII Polling Interval (ms): 100 // 接口轮询的时间隔(这里是100ms) Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth1 // 备接口: eth1 MII Status: up // 接口状态: up(MII是Media Independent Interface简称, 接口的意思) Speed: 1000 Mbps // 端口的速率是1000 Mpbs Duplex: full // 全双工 Link Failure Count: 0 // 链接失败次数: 0 Permanent HW addr: 00:0c:29:32:b5:88 // 永久的MAC地址 Slave queue ID: 0 [root@centos7 ~]# # 测试丢包状况 [root@centos7 ~]# ping 10.0.0.88 PING 10.0.0.88 (10.0.0.88) 56(84) bytes of data. 64 bytes from 10.0.0.88: icmp_seq=1 ttl=64 time=0.521 ms 64 bytes from 10.0.0.88: icmp_seq=2 ttl=64 time=2.21 ms 64 bytes from 10.0.0.88: icmp_seq=3 ttl=64 time=0.383 ms 64 bytes from 10.0.0.88: icmp_seq=4 ttl=64 time=0.366 ms 64 bytes from 10.0.0.88: icmp_seq=5 ttl=64 time=0.747 ms 64 bytes from 10.0.0.88: icmp_seq=6 ttl=64 time=0.383 ms 64 bytes from 10.0.0.88: icmp_seq=7 ttl=64 time=1.30 ms 64 bytes from 10.0.0.88: icmp_seq=8 ttl=64 time=0.420 ms ^C --- 10.0.0.88 ping statistics --- 8 packets transmitted, 8 received, 0% packet loss, time 7005ms rtt min/avg/max/mdev = 0.366/0.791/2.214/0.614 ms [root@centos7 ~]# # 在虚拟机上断开eth0网卡,测试丢包状况 [root@centos7 ~]# ping 10.0.0.88 PING 10.0.0.88 (10.0.0.88) 56(84) bytes of data. 64 bytes from 10.0.0.88: icmp_seq=1 ttl=64 time=0.373 ms 64 bytes from 10.0.0.88: icmp_seq=2 ttl=64 time=0.349 ms 64 bytes from 10.0.0.88: icmp_seq=3 ttl=64 time=1.58 ms 64 bytes from 10.0.0.88: icmp_seq=4 ttl=64 time=0.384 ms 64 bytes from 10.0.0.88: icmp_seq=5 ttl=64 time=0.607 ms 64 bytes from 10.0.0.88: icmp_seq=6 ttl=64 time=0.677 ms ^C --- 10.0.0.88 ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5003ms rtt min/avg/max/mdev = 0.349/0.662/1.584/0.431 ms [root@centos7 ~]#
备注:重新加载配置网络文件(即执行nmcli connection reload命令)后才可使用xshell连接,注意此时的id为10.0.0.123。
原文:https://www.cnblogs.com/linux1305803172/p/14322336.html