linux学习之高级网络配置bond,team,ipv6,br0

本文详细介绍了高级网络配置,包括bond(绑定多个物理网卡)、team(链路聚合)、网桥(网络桥接)的配置方法及命令操作,并涉及IPv6的基础配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

########高级网络配置#####


#bond#

1.定义
把多个物理网卡绑定成一个逻辑上的网卡,增加带宽,实现主备功能
2.bond的基本配置(主机有两块网卡)
[root@localhost Desktop]# nmcli connection add con-name  bond0 ifname bond0 type  bond mode active-backup  ip4 172.25.254.134/24                         ##给逻辑网卡配置
Connection 'bond0' (473fe8fd-52e4-4a62-a0ad-ea27d08a3544) successfully added.
[root@localhost Desktop]# nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
Connection 'eth0' (d6417030-eeda-4ae7-8edc-e3fed916362c) successfully added.
[root@localhost Desktop]# nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
Connection 'eth1' (874d79f8-ca8a-4d6e-b285-673ed9c6e53d) successfully added.
[root@localhost Desktop]# watch -n 1 cat /proc/net/bonding/bond0 ## 监测正在使用网卡的变化
[root@localhost Desktop]# ping 172.25.254.66   ##观察网络动态
[root@localhost Desktop]# ifconfig eth0 up     ##当两个网卡都可以正长工作时,eth1看着eth0 工作
[root@localhost Desktop]# ifconfig eth0 down   ##当eth0 不工作时,eth1会直接补上,网络不会断          

[root@localhost Desktop]# ifconfig eth1 down   ##当eth1 不工作时,eth0会直接补上

 




####team####
1.Team也是链路聚合的一中方式Team 和 bond0 功能类似
  Team 不需要手动加载相应内核模块
  Team 有更强的拓展性
  Team 支持 8 快网卡
支持模式:广播————broadcast
        轮询————roundrobin
        主备————activebackup
    负载均衡—————loadbalance
2.配置
[root@localhost Desktop]# nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}' ip4 172.25.254.134/24                ##添加team0
Connection 'team0' (1c2decc3-275b-4ddc-883d-e9fbf895fcb4) successfully added.
[root@localhost Desktop]# nmcli connection add con-name eth0 ifname eth0 type team-slave master team0
Connection 'eth0' (39c97abe-ad65-4755-95c4-54dee5368dcf) successfully added.
[root@localhost Desktop]# nmcli connection add con-name eth1 ifname eth1 type team-slave master team0
Connection 'eth1' (8411287f-9f9d-4b36-9ec9-1d01f179fb5c) successfully added.

[root@localhost Desktop]# watch -n 1 teamdctl team0 stat   ##查看team的状态

[root@localhost Desktop]# ifconfig eth0 down
[root@localhost Desktop]# ifconfig eth0 up
[root@localhost Desktop]# ifconfig eth1 dow

#####网桥###
1.网络桥接
网络桥接用网络桥实现共享上网主机和客户机除了利用软件外,还可以用系统自带的网络桥建立连接用双网卡的机器做主机
2.网络桥接的管理命令
• brctl         ### 桥接管理命令
    – show  ### 显示
    – addbr ### 添加网桥
    – delbr ### 删除网桥
    – addif ### 添加网桥连接
    – delif ### 删除网桥连接
3.配置方式
[root@foundation66 ~]#cd  /etc/sysconfig/network-scripts/
[root@foundation66 network-scripts]# vim ifcfg-enp7s0f1
DEVICE=enp7s0f1                ##设备名称    
ONBOOT=yes                     ##开启服务设备自动激活                  
BOOTPROTO=none                ##网卡工作状态
BRIDGE=br0                ##网卡开启的网桥连接
[root@foundation66 network-scripts]# vim ifcfg-br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.66
NETMASK=255.255.255.0
TYPE=Bridge                ##网络接口类型是桥接
[root@foundation66 network-scripts]# ls
ifcfg-br0      ifdown-post      ifup-eth     ifup-sit
ifcfg-enp7s0f1  ifdown-ppp       ifup-ib      ifup-Team
ifcfg-lo       ifdown-routes    ifup-ippp    ifup-TeamPort
ifdown         ifdown-sit       ifup-ipv6    ifup-tunnel
ifdown-bnep    ifdown-Team      ifup-isdn    ifup-wireless
ifdown-eth     ifdown-TeamPort  ifup-plip    init.ipv6-global
ifdown-ib      ifdown-tunnel    ifup-plusb   network-functions
ifdown-ippp    ifup             ifup-post    network-functions-ipv6
ifdown-ipv6    ifup-aliases     ifup-ppp
ifdown-isdn    ifup-bnep        ifup-routes
[root@foundation66 network-scripts]# systemctl stop NetworkManager.service
[root@foundation66 network-scripts]# systemctl restart network
[root@foundation66 network-scripts]# systemctl start NetworkManager.service



4.命令管理方式
添加
[root@localhost Desktop]# nmcli connection show     
NAME  UUID  TYPE  DEVICE
[root@localhost Desktop]# brctl addbr br0    ##添加网桥
[root@localhost Desktop]# brctl show        ##显示网桥
bridge name    bridge id        STP enabled    interfaces
br0        8000.000000000000    no        
[root@localhost Desktop]# ifconfig br0 172.25.254.134 netmask 255.255.255.0    ##设置网桥ip和网关
[root@localhost Desktop]# brctl addif br0 eth0                    ##添加网桥连接
[root@localhost Desktop]# ifconfig eth0 up                    ##eth0工作
[root@localhost Desktop]# brctl show
bridge name    bridge id        STP enabled    interfaces
br0        8000.52540000420a    no        eth0
[root@localhost Desktop]# ping 172.25.254.66                    ##添加成功
PING 172.25.254.66 (172.25.254.66) 56(84) bytes of data.
64 bytes from 172.25.254.66: icmp_seq=1 ttl=64 time=0.181 ms
64 bytes from 172.25.254.66: icmp_seq=2 ttl=64 time=0.146 ms
^C
--- 172.25.254.66 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.146/0.163/0.181/0.021 ms





删除
[root@localhost Desktop]# ifconfig br0 down                                     [root@localhost Desktop]# brctl delif br0 eth0
[root@localhost Desktop]# brctl delbr br0
[root@localhost Desktop]# brctl show
bridge name    bridge id        STP enabled    interfaces



#####IPv6 #####
1.简介
Internet Protocol Version 6
IPv6 是 IETF (和互联网工程任务组)设计的用与替代现行版本 IP 协议的下一代 IP 协议。
IPv6 采用 128 位 2 进制数码表示

2.IPv6 表示方式
为方便操作, ipv6 被换算成 8x16 进制的一串数字
– 2000:0000:0000:0000:0000:0000:0000:0001
– 2000:0:0:0:0:0:0:1
任意位数的 0 可以用 :: 来表示
– 2000:0000:0000:0000:0000:0000:0000:0001
– 2000::1
3.检测 IPv6 网络的工具
• ping6 2001:db8:0:1::1
• tracepath6 2001:db8:0:2::451
• netstat -46n
– n    不作解析
– t    tcp 协议
– u    udp 协议
– L    状态位 listen 的端口
– a    所有端口
– p    显示进程

4.ipv6的配置
[root@localhost Desktop]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.134
NETMASK=255.255.255.0
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6ADDR=2017::1/24

[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ifconfig
[root@localhost network-scripts]#ping6 2017::1






<think>嗯,用户想了解Linux网络配置bondteam的区别。我得先回忆一下这两个技术的背景和用途。首先,bonding和teaming都是用来网络接口聚合的,也就是把多个网卡绑在一起,提高带宽或者冗余。不过它们属于不同的实现方式,可能有一些区别。 我记得bonding是比较早的内核功能,属于内核模块,可能在内核里直接支持的。而teaming是后来出现的,用户空间和内核模块结合,可能更灵活。不过具体区别需要详细对比。 接下来需要分点整理它们的区别。首先是架构层面,bonding在内核里,而teaming混合了用户和内核空间。然后是功能特性,比如bonding有七种模式,teaming可能有更多模式或者更灵活的配置?比如负载均衡、故障转移这些是否不同? 还有配置工具方面,bonding通常用ifenslave或者sysfs,而teaming可能用teamd和nmcli。性能方面,bonding作为内核模块可能效率高,但teaming设计更现代,可能有优化? 另外,维护状态方面,bonding虽然老但还在维护,而teaming可能更受新系统推荐?比如RHEL/CentOS 7之后推荐teaming? 需要确认这些信息是否准确。比如bonding的模式,比如mode0到mode6,比如round-robin、active-backup等。而teaming可能有runner的概念,比如broadcast、loadbalance等,支持更多组合。 兼容性方面,bonding可能更广泛支持旧系统,而teaming需要较新的内核和网络管理器。 总结的时候需要结构清晰,分点说明区别,帮助用户理解在不同场景下如何选择。可能还要提到配置命令的不同,比如teamd的配置文件例子,对比bonding的配置方式。 另外要注意用户可能的应用场景,比如是否需要高可用性、负载均衡,或者更简单的配置。根据不同的需求,推荐使用bond还是team。 需要确保信息准确,可能需要查阅文档或可靠来源确认细节,比如bonding的模式和teaming的runner类型,以及各自的优缺点。避免提供错误的信息,比如bonding是否真的不支持某些高级功能,或者teaming的资源消耗是否更高。 最后,用中文清晰分点回答,符合用户要求的格式,使用LaTeX数学表达式时注意规则,但这个问题可能不需要数学公式,所以可能不用涉及。确保回答结构清晰,逐步解释两者的区别,帮助用户解决问题。</think>Linux系统中,网络接口聚合技术`bond`和`team`均可实现多网卡绑定,但设计理念和实现方式有显著差异。以下是逐步对比: --- ### **1. 架构设计** - **Bondbonding)** - **内核级驱动**:完全由内核模块`bonding`实现,配置直接作用于内核网络栈。 - **模式固定**:支持7种绑定模式(如`mode=0`轮询、`mode=1`主备等),需预先选择且模式间不可混合。 - **Teamteaming)** - **用户态+内核协作**:通过`teamd`守护进程(用户态)与内核模块配合,逻辑更灵活。 - **动态组合**:通过“runner”定义行为(如`broadcast`广播、`loadbalance`负载均衡),支持多runner叠加。 --- ### **2. 功能特性** - **Bond** - **简单稳定**:适用于基础场景(如冗余、负载均衡)。 - **局限性**: - 仅支持IPv4链路监控(如ARP或MII)。 - 无法同时启用多种模式(例如主备+负载均衡)。 - **Team** - **高级功能**: - 支持IPv6监控、NS/NA协议。 - 可自定义端口优先级、流量哈希策略。 - 集成LACP(链路聚合控制协议)。 - **扩展性**:允许通过JSON配置文件实现复杂逻辑。 --- ### **3. 配置方式** - **Bond示例** ```bash # 加载内核模块 modprobe bonding mode=4 miimon=100 # 创建bond接口 ip link add bond0 type bond # 添加从属网卡 ip link set eth0 master bond0 ip link set eth1 master bond0 ``` - **Team示例** ```bash # 创建team接口配置文件 nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}' # 添加从属网卡 nmcli con add type team-slave con-name team0-port1 ifname eth0 master team0 nmcli con add type team-slave con-name team0-port2 ifname eth1 master team0 ``` --- ### **4. 性能与资源占用** - **Bond**:内核直接处理数据包,转发效率高,延迟更低。 - **Team**:用户态与内核态交互可能引入轻微开销,但设计更现代,支持大规模复杂网络。 --- ### **5. 适用场景** - **优先选择Bond**: - 系统内核较旧(如RHEL 6或更早)。 - 需求简单(仅需主备或基本负载均衡)。 - **优先选择Team**: - 需要IPv6、LACP或灵活策略(如混合负载均衡+故障转移)。 - 使用NetworkManager管理网络(原生支持Team配置)。 --- ### **总结对比表** | 特性 | Bond | Team | |---------------------|---------------------------|---------------------------| | **架构** | 纯内核模块 | 用户态+内核协作 | | **配置灵活性** | 低(模式固定) | 高(JSON自定义) | | **IPv6/LACP支持** | 有限 | 完整支持 | | **资源占用** | 低 | 略高 | | **推荐场景** | 传统系统、简单需求 | 现代系统、复杂网络需求 | --- 根据实际需求选择:若追求稳定性和低延迟,且功能需求简单,可选用`bond`;若需灵活配置和高级功能,推荐使用`team`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值