unit2-高级网络配置【bond,team,br0,ipv6】

本文详细介绍如何配置bond(网卡阵列)、team(链路聚合)和br0(网桥),并提供具体步骤与测试方法,确保网络连接稳定可靠。

unit2-高级网络配置【bond,team,br0】

###bond---网卡阵列

双卡网卡可以预防当某块网口损坏,不能工作是立刻顶替上去,并且信息不会丢失,不会影响其他进程的进行

1.添加为双网卡

示图:

2.删除之前的network记录

nm-connection-editor图形界面删除所有连接

3.添加bond0

nmcli conncetion add con-name bond0 ifname type bond mode active-backup ip4 172.25.254.244/24  ##建立名字为bond0,ip设置为172.25.254.244
示图:

4.在bond0中添加网卡eth0和eth1

nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0 ##网卡eth0加载到bond0中,eth1加载方法相同
nmcli connection add con-name eth1 ifname eth1 type bond-slav
e master bond0

示图:



5.测试

在另一个shell中ping 172.25.254.198,不断查看网络连接状态
ifconfig down eth0

示图:测试结果,并未影响网络的连接状态,用watch -n 1 cat /proc/net/bonding/bond 观察到此时bond0工作的由eth0变为eth1,达到双网卡阵列的目的


##team

1.team也是链路聚合的一种方式
最多支持8块网卡
支持模式
广播
论旬
主备
负载均衡

2.设置
 nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}' ip4 172.25.254.100/24
 nmcli connection add con-name eth0 ifname eth0 type team-slave master team0
 nmcli connection add con-name eth1 ifname eth1 type team-slave master team0
示图:

3.测试
watch -n 1 teamdctl team0 stat
ifconfig eth0 down
ifconfig eth0 up
示图:eth0 down

示图:eth0 up

##br0

1.配置

vim /etc/sysconfig/network-scripts/ifcfg-enp1s0        ##此文设备名每个主机不相同,针对各自主机进行修改

DEVICE=enp1s0        ##设备名称

ONBOOT=yes        ##开启服务设备自动激活

BOOTPROTO=none        ##网卡工作状态

BRIDGE=br0        ##网卡开启的网桥接口


vim /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0

ONBOOT=yes

BOOTPROTO=none

IPADDR=172.25.254.98

NETMASK=255.255.255.0

TYPE=Bridge        ##网络接口类型是桥接


systemctl stop NetworkManager.service

systemctl restart network

systemctl start NetworkManager.service


ifconfig

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 172.25.254.98  netmask 255.255.255.0  broadcast 172.25.254.255

        inet6 fe80::221:ccff:fe60:32a3  prefixlen 64  scopeid 0x20<link>

        ether 00:21:cc:60:32:a3  txqueuelen 0  (Ethernet)

        RX packets 25396  bytes 59291358 (56.5 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 15360  bytes 105128915 (100.2 MiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2.命令管理方式

#添加

systemctl stop NetworkManager

brctl show

brctl addbr br0

brctl addif br0 eth0

ifconfig eth0 up

ifconfig br0 172.25.254.x netmask 255.255.255.0

brctl show

ping 172.25.254.250


#删除

ifconfig br0 down

brctl delif br0 eth0

brctl delbr br0

brctl show



<think>嗯,用户之前已经询问过如何防止bonding接口的IPv6地址自动配置,我之前给出了通用的方法,涉及修改配置文件、sysctl设置和验证步骤。现在用户的新问题是,他们希望只针对特定的bond0接口禁用IPv6自动配置,而保持bond1不变。需要参考用户提供的四个引用内容,但看起来这些引用主要涉及bond接口的创建和配置,比如多个bond口的设置、使用nmcli命令绑定物理网卡bond接口,以及bonding的配置选项等。 首先,我需要确认用户的具体需求:仅针对bond0禁用IPv6自动配置,不影响bond1。之前的回答可能适用于所有bond接口,但用户现在需要更精确的控制。因此,我需要调整之前的步骤,确保配置仅应用于bond0,而bond1保持原样。 根据引用[1],当有多个bond接口时,每个bond接口的配置文件需要单独设置。因此,修改bond0的配置文件(如ifcfg-bond0)时,应添加禁用IPv6的参数,而bond1的配置文件(如ifcfg-bond1)不需要这些参数。同时,sysctl的配置也需要针对bond0进行,而不是全局设置,避免影响其他接口。 引用[2]提到了使用nmcli命令将物理网卡绑定到bond接口。这可能需要确保在配置bond0时,相关的从属接口(如eth0、eth1)也禁用了IPv6,但用户的问题可能只关注bond接口本身,而不是从属网卡。不过之前的回答提到了从属网卡也需要同步配置,但用户现在可能只需要处理bond0,因此可能需要调整这部分内容,明确说明是否需处理从属接口。 引用[4]中的配置文件示例显示,bond0的配置中包含了BONDING_OPTS等参数,但并未涉及IPv6的设置。因此,用户需要明确在bond0的配置文件中添加IPV6INIT=no等参数,而bond1的配置文件中不添加这些参数。同时,sysctl的配置应针对bond0,如net.ipv6.conf.bond0.autoconf=0,而不是全局或bond1的设置。 接下来,我需要检查之前的回答步骤,确保每个步骤都明确指定是针对bond0的。例如,修改ifcfg-bond0文件,而不是其他bond接口的文件。同样,sysctl的设置应针对bond0,而不是所有接口或bond1。验证步骤也应仅检查bond0的状态,确保bond1不受影响。 可能存在的误区是用户可能担心修改sysctl会影响所有接口,所以需要明确指出设置是针对特定接口的。另外,用户可能不清楚是否需要重启网络服务或如何应用sysctl设置,因此需要明确指导这些步骤。 最后,需要验证配置是否仅对bond0生效,例如使用ip -6 addr show bond0bond1分别检查,确认bond0没有自动配置的IPv6地址,而bond1仍然有。同时,检查sysctl参数是否为bond0设置正确,而bond1的参数保持默认或未被修改。</think>#### 分步解决方案:禁用bond0IPv6自动配置(保持bond1不变) --- ### **1. 单独修改bond0配置文件** 在`/etc/sysconfig/network-scripts/ifcfg-bond0`中**仅针对bond0**添加以下参数: ```bash # 禁用IPv6初始化与自动配置 IPV6INIT=no IPV6_AUTOCONF=no # 若系统使用NetworkManager,需阻止其干预 NM_CONTROLLED=no ``` **无需修改bond1的配置文件**(如`ifcfg-bond1`),确保其IPv6功能正常[^1]。 --- ### **2. 针对bond0设置内核参数** 编辑`/etc/sysctl.conf`,添加**仅针对bond0**的配置: ```bash # 禁用bond0IPv6自动配置和路由公告接收 net.ipv6.conf.bond0.autoconf = 0 net.ipv6.conf.bond0.accept_ra = 0 ``` **不修改bond1相关参数**,保持其默认值(通常为`1`)。 应用配置后验证: ```bash sysctl -p # 仅加载bond0的配置 sysctl net.ipv6.conf.bond0.autoconf # 应输出0 sysctl net.ipv6.conf.bond1.autoconf # 应保持默认值(通常为1) ``` --- ### **3. 检查从属网卡配置** 若bond0绑定了物理网卡(如`eth0`、`eth1`),需**仅针对这些从属网卡**禁用IPv6: 在`ifcfg-eth0`和`ifcfg-eth1`中添加: ```bash IPV6INIT=no IPV6_AUTOCONF=no ``` **bond1的从属网卡无需修改**(如`eth2`、`eth3`)[^2]。 --- ### **4. 重启网络服务并验证** ```bash systemctl restart network # 或 nmcli connection reload ip -6 addr show bond0 # 应无IPv6地址 ip -6 addr show bond1 # 应保留原有IPv6地址(若已配置) ``` --- ### **关键原理** - **接口级控制**:Linux允许通过配置文件对每个网络接口独立控制IPv6行为[^3]。 - **RA隔离**:禁用`accept_ra`可阻止bond0接收路由器公告,避免触发SLAAC地址生成[^4]。 - **优先级规则**:接口配置文件优先级高于全局sysctl设置,因此需双重确认。 --- #### 相关问题 1. 如何为bond1单独启用IPv6动态地址分配? 2. 如何排查bonding接口IPv6配置冲突问题? 3. 多bond场景下如何批量管理接口配置?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值