我需要在 Mac OS 上添加静态路由。我在这里找到了很好的描述永久静态路由 Mac OS X 10.4.0并遵循了 Roark Holz (roarkh) 的解决方案。
现在我的问题:这个解决方案有时有效,有时无效。
当它不起作用时,我在启动后在控制台消息日志中看到这些消息:
06.05.10 9:34:13 com.apple.launchd[1] *** launchd[1] has started up. ***
06.05.10 9:34:46 com.apple.SystemStarter[30] Adding Static Route to 10.152
06.05.10 9:34:46 com.apple.SystemStarter[30] route: writing to routing socket: Network is unreachable
06.05.10 9:34:46 com.apple.SystemStarter[30] add net 10.152.0.0: gateway 192.168.1.234: Network is unreachable
我想知道发生了什么。如何解决此类问题?
答案1
我认为问题在于在命令运行之前网络接口尚未正确激活。您可能需要执行另一个 launchd 作业来等待命令运行。
答案2
我今天刚刚解决了这个问题。
创建文件 /etc/rc.local 并写入
sleep 30
route add -net <network, I.E. 192.168.1.0/24> <interface, I.E. 192.168.1.1>
您必须等到其余网络服务启动完毕...这就是您收到网络不可达错误的原因。
您可以使用 plist 来执行此操作(看起来您正在这样做)但我不知道如何执行此操作。
您可以尝试在 plist 中的 route 命令之前添加 sleep 30 命令。如果这对您有用,您能否为我们其他人记录下来,谢谢!
答案3
确保路线已设置后192.168.1.0/24 网络对应的接口已打开。如果相关设备由 dhcp 服务器配置,请确保您的 wifi 已激活或网线已插入,或者让 dhcp 设置静态路由(前提是您的 dhcp 服务器支持此类设置)。