macos 不支持 wi-fi 创建多个虚拟 sta 接口,也不支持 wi-fi 与以太网的传统链路聚合;但可通过终端管理 bridge、vlan、bond 及 vmware/tap 虚拟网卡,需区分原生支持与第三方驱动场景,并确认接口类型与权限。
macos 不支持 wi-fi 接口创建多个虚拟 sta 接口,也无法将 wi-fi 与以太网做传统链路聚合,但可通过终端直接管理桥接器(bridge)、vlan 子接口、bond 绑定组及 vmware/tap 类虚拟网卡。关键在于区分「系统原生支持」和「第三方驱动扩展」两类场景,操作前需确认接口类型与权限。
查看所有网络接口与虚拟设备
运行以下命令可列出全部硬件端口与逻辑接口:
- networksetup -listallhardwareports:显示物理端口映射(如 en0=Wi-Fi,en1=有线)
- ifconfig | grep "^[a-z]":筛选出所有活跃接口名(含 bridge0、vlan100、utun2、vmnet1 等)
- networksetup -listallnetworkservices:列出图形界面中可见的网络服务名(如 “Wi-Fi”、“Bond 1”、“VMware Fusion”)
- cat /Library/Preferences/SystemConfiguration/preferences.plist | plutil -p - | grep -A5 -B5 interface:查看系统级网络配置中定义的 interface 关联关系(需基础 plist 解析能力)
创建与删除桥接器(bridge)
bridge 是 macOS 原生支持的虚拟二层设备,可用于容器互通或软路由转发,但不支持绑定 Wi-Fi 接口:
- 创建:sudo ifconfig bridge0 create
- 添加成员(仅限有线接口,例如 en2):sudo ifconfig bridge0 addm en2
- 分配 IP 并启用:sudo ifconfig bridge0 192.168.100.1/24 up
- 删除成员:sudo ifconfig bridge0 deletem en2
- 销毁桥接器:sudo ifconfig bridge0 destroy
注意:bridge0 创建后不会自动出现在“系统设置→网络”中,需配合 sysctl -w net.inet.ip.forwarding=1 和 pf 防火墙规则才能实现三层转发。
配置 VLAN 子接口
macOS 支持在以太网接口上划分 VLAN,适用于企业网络接入或测试隔离环境:
- 创建 VLAN 接口(如在 en2 上建 VLAN 100):sudo ifconfig en2 vlan100 create
- 为子接口配 IP:sudo ifconfig vlan100 10.10.100.10/24 up
- 查看 VLAN 成员:ifconfig en2 | grep vlan
- 删除 VLAN 接口:sudo ifconfig vlan100 destroy
VLAN 接口名格式固定为 父接口名+vlan编号(如 en2 → vlan100),不可自定义;且仅作用于有线网卡,无线接口(如 en0)执行 create 命令会失败。
管理 VMware/Fusion 虚拟网卡与 TAP 设备
这类接口由第三方虚拟化软件或内核扩展提供,终端管理依赖其配置文件而非 ifconfig 直接操作:
- VMware Fusion 的 vmnet1/vmnet8 等由 /Library/Preferences/VMware Fusion/networking 控制,修改后需运行:sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --configure
- TAP 接口(如 tap0)需先安装 tuntap 驱动,再用 sudo ifconfig tap0 10.0.0.1/24 up 启用;卸载驱动需重启或执行 sudo kextunload -b com.github.tuntap.tap
- 查看是否加载 tuntap:kextstat | grep tuntap;未加载则 ifconfig 找不到 tap* 接口
注意:M1/M2 Mac 安装 tuntap 或 happynet 类驱动时,需先进 Recovery 模式关闭 SIP 或允许开发者内核扩展,否则接口无法注册进系统。











