好,那我直接给你一套可用的「macOS 开机自动添加路由」方案,适合 Jamf / 企业环境 / FileVault 开启 的机器。
一、要实现的效果
开机后自动执行:
route add -net 192.168.2.0 -netmask 255.255.255.0 192.168.192.1
以 root 权限执行,不依赖用户登录
二、步骤 1️⃣:创建路由脚本
1. 新建脚本文件
sudo nano /usr/local/bin/add_route.sh
2. 写入内容(推荐完整版)
#!/bin/bash
/sbin/route -n add -net 192.168.2.0 -netmask 255.255.255.0 192.168.192.1 2>/dev/null
exit 0
说明:
使用 绝对路径(macOS LaunchDaemon 必须)
2>/dev/null防止路由已存在时刷日志
3. 赋予执行权限
sudo chmod 755 /usr/local/bin/add_route.sh
sudo chown root:wheel /usr/local/bin/add_route.sh
三、步骤 2️⃣:创建 LaunchDaemon(核心)
1. 新建 plist
sudo nano /Library/LaunchDaemons/com.company.addroute.plist
2. 写入以下内容(可直接粘贴)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.company.addroute</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/add_route.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
</dict>
</plist>
3. 设置权限(非常关键)
sudo chown root:wheel /Library/LaunchDaemons/com.company.addroute.plist
sudo chmod 644 /Library/LaunchDaemons/com.company.addroute.plist
四、步骤 3️⃣:立即加载测试(不用重启)
sudo launchctl load /Library/LaunchDaemons/com.company.addroute.plist
验证:
netstat -rn | grep 192.168
或:
route -n get 192.168.2.81
五、常见问题(你这个环境很可能会遇到)
❓ 1. VPN / Wi-Fi 连接后路由被冲掉?
👉 解决方案:改成 网络变更触发(我可以给你增强版)
❓ 2. Jamf 管理的 Mac 会不会被拦?
👉 不会
LaunchDaemon 在
/Library/LaunchDaemonsroot + wheel
不依赖用户 session
👉 Jamf 官方支持方式
❓ 3. FileVault 开启有没有影响?
👉 没有
LaunchDaemon 在系统解锁后执行
路由正常生效
六、如果你想更高级一点(可选)
我可以再帮你做这几种版本之一:
✅ 仅在连上某个 Wi-Fi SSID 才加路由
✅ VPN 连接后自动加路由
✅ Jamf Policy 方式部署(带脚本)
✅ 检测已存在就不添加(更干净)
你直接告诉我:
👉 用的是 Wi-Fi / 有 VPN / Jamf Policy ID 是否已有


