route 命令用于管理网络路由表。使用 –p 选项可确保您对网络路由表执行的任何更改在系统重新引导后仍然存在。
检查持久性配置中是否已经存在某个路由,如下所示:
# route -p show persistent: route add default 10.153.123.1 -ifp net0
如果持久性配置中已经存在该路由,则网络路由表中的信息(不是持久性配置)可能不同于持久性配置。
以下示例对这一点进行了进一步说明。本示例尝试将一个持久性路由添加到 net1。然而,根据上一示例的输出,此命令失败,因为 net0 已经存在持久性路由。
# route -p add default 10.153.123.1 -ifp net1 add net default: gateway 10.153.123.1 add persistent net default: gateway 10.153.123.1: entry exists Warning: persistent route might not be consistent with routing table.
再次运行 route –p show 命令将显示持久性路由未更改,对 net0 仍然处于配置状态,如下列输出所示:
# route -p show persistent: route add default 10.153.123.1 -ifp net0
但是,此命令更改了内核中使用 net1 的路由表,如下列输出所示:
# netstat -nr Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ---------- --------- default 10.153.123.1 UG 2 1 net1 10.153.123.0 10.153.123.78 U 3 0 net1 127.0.0.1 127.0.0.1 UH 2 466 lo0 . . .
因此,在添加新的路由之前,一定要删除任何现有的持久性路由配置。有关更多信息,请参见在 Oracle Solaris 11.2 中配置和管理网络组件 中的创建持久性(静态)路由。