Linux
简介
启动过程
系统安装
ILO安装
USB安装
PXE安装
目录结构
基础命令
单用户/安全模式
内核更换
用户管理
网络管理
软件包管理
防火墙管理
定时计划任务
本文档使用 MrDoc 发布
-
+
首页
网络管理
nmcli是Network Manager的命令行工具,用于管理网络连接。您可以使用nmcli来查看网络连接的状态、配置新的连接、启用/禁用连接等操作。 # nmcli ``` nmcli device show #查看当前网卡设备信息 nmcli connection show #查看当前建立的连接信息 nmcli connection add #添加网络 nmcli connection delete #删除网络 nmcli connection down #关闭网络 nmcli connection up #启动网络 nmcli connection modify #修改网络 nmcli connection reload #重新加载配置 ``` 添加网络、名字、类型、设备名、ip地址、静态模式(不加默认DHCP) ``` nmcli connection add con-name ens35 type ethernet ifname ens35 ipv4.address 192.168.1.50/24 ipv4.gateway 192.168.1.1 ipv4.method manual ``` 修改网络IP地址(指定网关必加“”)、修改dns(dns只能修改时候指定新建无法写入) ``` nmcli connection modify static ipv4.addresses "172.16.30.101/24 172.16.30.254" ipv4.dns 172.16.30.254 ``` 添加另外一个IP ``` nmcli connection modify static +ipv4.addresses 172.16.30.101/24 +ipv4.dns 8.8.8.8 ``` # Bond 把多张物理网卡通过软件虚拟成一个虚拟的网卡,所有的物理网卡的ip和mac将会变成相同的。多网卡同时工作可以提高网络速度,还可以实现网卡的负载均衡、冗余。 Bonding的7种模式:(mode 1、5、6不需要交换机设置,mode 0、2、3、4需要交换机设置,缺省使用mode 0) `mode=0`:round-robin轮转策略,轮流在每一个slave网卡上发送数据包,提供负载均衡和容错能力。 `mode=1`:active-backup主备策略,只有一个slave被激活,只有当active的slave的接口down时,才会激活其它slave接口。 `mode=2`:XOR基于所选择的hash策略,本模式也提供负载均衡和容错能力。 `mode=3`:broadcast广播策略,向所有的slave接口发送数据包,本模式提供容错能力。 `mode=4`:802.3ad动态链路聚合,根据802.3ad标准利用所有的slave建立聚合链路。 `mode=5`:balance-tlb前提:每个slave网卡支持ethtool获取速率。 `mode=6`:balance-alb自适应负载均衡:前提:每个slave网卡支持ethtool获取速率,每个slave网卡支持启用时重新设置硬件地址 ``` #defineBOND_MODE_ROUNDROBIN 0 (balance-rr模式)网卡的负载均衡模式 #defineBOND_MODE_ACTIVEBACKUP 1 (active-backup模式)网卡的容错模式 #defineBOND_MODE_XOR 2 (balance-xor模式)需要交换机支持 #defineBOND_MODE_BROADCAST 3 (broadcast模式) #defineBOND_MODE_8023AD 4 (IEEE 802.3ad动态链路聚合模式)需要交换机支持 #defineBOND_MODE_TLB 5 自适应传输负载均衡模式 #defineBOND_MODE_ALB 6 网卡虚拟化方式 ``` bonding模块的所有工作模式可以分为两类:多主型工作模式、主备型工作模式 多主型工作模式: balance-rr broadcast (balance-xor)自适应传输负载均衡模式(balance-tlb) 和自适应负载均衡模式(balance-alb) 主备型工作模式 active-backup IEEE 802.3ad动态链路聚合模式(802.3ad) ## 创建bond0 查看linux是否支持bonding ``` modinfo bonding ``` 查看bonding驱动编译成可以动态加载的内核模块 ``` cat /boot/config-3.10.0-862.el7.x86_64 | grep -i bonding ``` ``` CONFIG_BONDING=m ``` 开启bonding驱动 ,miimon多长ms检查一次网络,bonding模式0 ``` vim /etc/modprobe.d/bond.conf ``` ``` alias bond0 bonding options bond0 miimon=100 mode=0 ``` 建立虚拟逻辑网卡bond0 ``` vim /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 TYPE=Bond BOOTPROTO=static ONBOOT=yes IPADDR= NETMASK=255.255.255.0 GATEWAY= BONDING_MASTER=yes BONDING_OPTS="miimon=100 mode=0" BONDING_OPTS="lacp_rate=0 miimon=100 mode=802.3ad xmit_hash_policy=1" TYPE=Bond NAME=bond0 DEVICE=bond0 BOOTPROTO=none ONBOOT=yes IPV4_FAILURE_FATAL=no IPV6INIT=no BONDING_MASTER=yes PROXY_METHOD=none BROWSER_ONLY=no ``` 将物理网1卡加入bond ``` vim /etc/sysconfig/network-scripts/ifcfg-ens37 DEVICE=ens37 BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes ``` 将物理网2卡加入bond ``` vim /etc/sysconfig/network-scripts/ifcfg-ens38 DEVICE=ens38 BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes ``` 重启网络服务来使用bond0生效 ``` service network restart ``` 查看目前bonding的状态 ``` cat /proc/net/bonding/bond0 ``` 让bond模式生效 ``` modprobe -r bonding;service network restart ``` bond1特点: 1. 正在工作的网卡不正常后,切换到备用网卡,此时会中间几秒钟; 2. 恢复不正常的网卡时,不会引发网络中断; vim /etc/modprobe.d/bond.conf alias bond0 bonding options bond0 miimon=100 mode=1 # 模式1 vim /etc/rc.d/rc.local #eth0 eth1的工作顺序(仅在主备模式下) ifenslave bond0 eth0 eth1 echo "systemctl restart network" >> /etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local # 网络合作 网络合作是一种以逻辑方式讲NIC链接到一起,从而实现故障转移或更高吞吐量的方法,7版本使用一个小的内核驱动程序和一个用户空间守护进程teamd来实施网络合作,内核高效处理网络包,teamd负责逻辑口和接口处理 broadcast:一个简单运行程序传输来自所有端口的数据包 roundrobin:一个简单运行程序,以轮询方式传输来自每个端口的数据包 activebackup:一个故障转移程序,监控链接更改活动端口 loadbalance:此运行程序监控流量并使用哈希函数以尝试在为包顺序选择端口时达到完美平衡 lacp:实施802.3ad链路聚合控制协议,可以使用与loadbalance运行程序相同的传输端口选择可能性 ``` activebackup部署 #team 自己命名 type选择 team ifname 还没有添加实际物理接口填写team config参数比较复杂需要借助rmp -ql team | grep example中的范例来填写,‘{}’ 在中间输入第二行的值(红)。 nmcli connection add con-name team37-38 type team ifname team config '{"runner":{"name": "activebackup"}}' more /usr/share/doc/teamd-1.9/example_configs/activebackup_ethtool_2.conf #查看 { "device": "team0", "runner": {"name": "activebackup"}, "link_watch": {"name": "ethtool"}, "ports": { "eth1": { "prio": -10, "sticky": true, "queue_id": 4 }, "eth2": { "prio": 100 } } } nmcli connection add con-name team-port1 type team-slave ifname ens37 master team nmcli connection add con-name team-port1 type team-slave ifname ens38 master team nmcli connection modify team37-38 ipv4.addresses 192.168.1.50/24 ipv4.gateway 192.168.1.1 ipv4.method manual #修改IP,将获取模式改为手动 nmcli connection add con-name team-port1 type team-slave ifname ens37 master team #将网卡添加到team-port1,设置类型为team-salve设置master为team nmcli connection add con-name team-port1 type team-slave ifname ens38 master team #将网卡添加到team-port2,设置类型为team-salve设置master为team 启动底层的port1和port2,上层的team0也会被启动 nmcli connection up team-port1 #启动port1 nmcli connection up team-port2 #启动port2 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6) // eamdctl team state #查看当前team状态 teamnl team port #也可以查看 teamnl team getoption activeport #查看当前活动的端口 sar -n DEV 1 #查看各个端口数据包状态 teamdctl team config dump > aaa.conf #导出team配置信息,可以修改后再倒入 nmcli connection modify team0 team.config ./aaa.conf #导入 桥接 nmcli connection add con-name br0 type bridge ifname bridge0 #创建网桥名字为bro ifname介入网卡名字写不存在的网卡即可,自动创建 nmcli connection modify br0 ipv4.addresses 192.168.0.100/24 ipv4.method manual #配置网桥IP地址 设置为手动获取 nmcli connection add con-name br0-slave type bridge-slave ifname eno50332184 master br0 #将物理网卡加入网桥 Connection 'br0-slave' (6d572060-f499-49bc-a2e6-c0718f23b566) successfully added. brctl show #查看网桥信息 ```
done
2024年11月7日 13:54
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码