如何在 Mac OS X 10.6 上创建持久静态路由?

如何在 Mac OS X 10.6 上创建持久静态路由?

我需要在 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 服务器支持此类设置)。

相关内容