macOS 不支持 Linux 风格的 kernel-level bonding(如 mode=1 或 mode=4),因其 Darwin 内核无 bonding 模块及配套机制;但可通过系统原生“链路聚合”功能创建 IEEE 802.3ad 兼容的 LACP 或静态聚合组,前提是使用同类型全双工有线以太网接口(如 en4/en5),且交换机端已正确配置,否则将导致连接中断。

在 macOS 上无法原生实现 Linux 风格的 kernel-level bonding(如 mode=1 或 mode=4),因为 Darwin 内核不提供 bonding 模块,也没有 /proc/net/bonding 或 ifenslave 等机制;但可通过系统内置的“链路聚合”(Link Aggregation)功能,在网络偏好设置中创建 IEEE 802.3ad 兼容的 LACP 组或静态聚合组,前提是两块网卡均支持且交换机端已正确配置聚合——否则将导致连接中断或完全不可用。
确认硬件与前提条件
打开“系统设置”→“网络”,点击左下角“详细信息…”→“硬件”,逐一查看你打算绑定的两个接口(如 “USB 10/100/1000 LAN” 和 “Wi-Fi” 不可混用;必须是同类型有线网卡,例如两个 Thunderbolt 以太网适配器或两个 USB-C 以太网口)。
⚠️ 【仅支持全双工、速率一致的有线以太网接口】:Wi-Fi、蓝牙 PAN、iPhone USB 网络共享、内置 Wi-Fi + 外接 USB 网卡等任意异构组合均不被允许,添加时会直接报错“无法创建聚合”。
运行终端命令验证驱动能力:networksetup -listallhardwareports,确认两个目标接口的 Device 字段均为真实以太网设备(如 en0、en7、en9),且未被设为“已禁用”或“已断开”。
创建链路聚合组(LACP 或静态)
在“系统设置”→“网络”界面,点击左下角“+”按钮 → 接口类型选择“链路聚合” → 点击“创建”。
在弹出窗口中:勾选你要加入聚合的两个物理网卡(例如 en4 和 en5),注意顺序无关;下方“模式”下拉菜单提供两项:
方法一:LACP(推荐用于企业交换机环境)→ 选择“LACP” → “系统优先级”保持默认(32768),可选填“聚合组 ID”(需与交换机侧 lacp-system-id 一致)→ 点击“好”。
方法二:静态聚合(无需交换机 LACP 支持,但要求交换机端手动配置静态 trunk/port channel)→ 选择“无协议” → 点击“好”。
⚠️ 【聚合创建后,原物理接口将自动从网络列表中消失,仅保留一个聚合接口(如 “链路聚合 1”)】:这是正常行为,勿尝试重新启用 en4/en5 单独配置,否则会破坏聚合状态。
配置聚合接口的网络参数
选中刚创建的“链路聚合 1”,点击右侧“详细信息…” → “IP 设置”标签页 → 选择“使用 DHCP”或“手动”。
若选“手动”:输入 IPv4 地址、子网掩码、路由器(网关);DNS 可在“DNS”标签页单独填写;IPv6 根据需要启用或关闭。
点击“应用”保存。此时系统会尝试激活该聚合组,并向交换机发送 LACPDU(若选 LACP 模式)或静默协商(若选无协议)。等待约 5–15 秒,状态栏应显示“已连接”。
验证是否生效:打开终端,执行 ifconfig | grep -A 5 "lagg"(macOS 13+ 使用 laggX 命名)或 networksetup -getinfo "链路聚合 1",确认获取到预期 IP 且活动接口数为 2。
验证链路冗余与负载行为
第一步:拔掉其中一根网线,观察顶部菜单栏网络图标是否仍显示“已连接”,并持续 ping 网关(ping -c 5 192.168.1.1)——应全程无丢包。
第二步:恢复第一根网线,再拔第二根,重复 ping 测试;两次切换均无业务中断,说明 active-backup 类行为已起效(macOS 聚合默认为故障转移,不主动负载分担)。
第三步:若使用 LACP 模式且交换机支持流量哈希,可用 iperf3 同时向服务器发多流数据,观察两块物理网卡的实时收发速率(通过 netstat -ib | grep "en[0-9]" 查看 Bytes)——部分流量会分散,但 macOS 不暴露 per-slave 统计视图。
注意:macOS 的聚合不提供类似 Linux bond0 的 sysfs 控制接口,也无法通过命令行动态增删 slave;所有变更必须回到“网络”设置中修改聚合组成员。

















