macos 不支持 linux 风格网卡别名接口,而是通过为同一物理网卡创建多个网络服务实现单网卡多 ip;图形界面配置持久有效,命令行 ifconfig alias 仅临时生效,需配合 launchd 或合理设置 dns/路由以避免冲突。

macOS 不支持传统 Linux 风格的“网卡别名接口”(如 en0:0),也没有 ifconfig 别名语法的持久化机制。但它通过多网络服务绑定同一物理网卡的方式,实现单网卡多 IP 的等效效果——这才是 macOS 原生、稳定且可管理的方案。
用“多个网络服务”模拟 IP Aliasing
macOS 把每个网络配置(含 IP、子网、DNS、路由)封装为一个“网络服务”,而多个服务可以指向同一个硬件接口(比如 Wi-Fi 或 Ethernet)。系统会自动为每个服务分配一个独立 IP,并共用底层网卡收发数据。
- 打开系统设置 → 网络,点击左下角“位置” → “编辑位置…” → “+”,新建一个位置(如“办公内网”)
- 回到网络列表,点击左下角“+”,在弹出窗口中选择同一网卡(如“Wi-Fi”或“以太网”),并为新服务命名(如“OA内网”)
- 选中新服务,在TCP/IP 标签页中设为“手动”,填入第二个 IP 地址、子网掩码和对应网关(如有)
- 重复上述步骤,可添加第三个、第四个服务,全部绑定到同一物理接口
命令行快速添加(临时生效)
若需脚本化或临时调试,可用 ifconfig 直接向接口追加 secondary 地址,但重启后丢失:
macOS 微信消息自动化工具。通过 GUI 自动化实现:发送消息给指定联系人、读取聊天内容、监控新消息。适用于需要自动化微信操作的场景,如定时发送、批量回复、消息备份等。依赖 peekaboo 进行屏幕截图和 UI 交互。仅支持 macOS。开源地址:https://github.com/chairmanmia...
- 查看当前接口名:
networksetup -listallhardwareports(通常为 en0、en1、utun0 等) - 添加辅助 IP:
sudo ifconfig en0 alias 192.168.10.100/24 - 验证是否生效:
ipconfig getifaddr en0只显示主 IP;用ifconfig en0查看所有地址(含 alias 行) - 删除该地址:
sudo ifconfig en0 -alias 192.168.10.100
确保 DNS 和路由不冲突
多个服务共存时,系统默认按服务启用顺序决定 DNS 和默认路由优先级。关键点:
- DNS 由最上方启用的服务提供,建议将公网 DNS 服务(如 Wi-Fi)置顶,内网服务(如 OA)关闭 DNS 设置
- 避免为多个服务设置相同网关——否则可能引发路由环路或出口不稳定
- 如需访问不同网段且无重叠路由,可在“高级 → 路由”中为特定服务添加静态路由(如
10.1.0.0/16 → 192.168.1.1)
让配置开机自动加载
图形界面创建的服务默认随系统启动加载;若用 ifconfig 添加,需转为 launchd 启动项:
- 新建 plist 文件:
/Library/LaunchDaemons/local.addip.plist - 内容包含 ProgramArguments 数组,执行
ifconfig en0 alias …命令 - 设置
RunAtLoad = true,并用sudo launchctl load …加载 - 注意:macOS 13+ 对 launchd 权限更严格,建议优先使用图形服务方式










