您可以使用 route 命令手动处理网络路由表。要使更改在重新引导之后仍然保留,请使用 –p 选项。由于 /etc/defaultrouter 文件在 Oracle Solaris 11 中已过时,因此您不能再使用此文件管理路由(缺省值或其他)。使用 route 命令是唯一一种手动使路由在系统重新引导之后仍然保留的方法。
添加持久性路由时,请务必确保持久性配置中尚不存在所添加的路由。如果持久性配置中已存在这些路由,则网络路由表会更改,但不更新该持久性路由。这种情况的一个例子是系统的缺省路由映射到了系统的主接口(在安装 Oracle Solaris 之后经常会出现这种情况)。如果接下来将系统的主接口更改为其他接口,则系统的缺省路由也应执行持久性更新。最佳做法是在添加新路由之前删除持久性路由配置。有关更多信息,请参见在 Oracle Solaris 11.2 中排除网络管理问题 中的 排除添加持久路由时的问题。
请注意有关创建和显示持久性路由的以下附加信息:
结合使用 route 命令与 –p 选项添加持久性路由:
# route -p add default ip-address
对于使用此方法创建的路由,可使用 route –p show 命令来显示所有持久性静态路由:
# route -p show
结合使用 netstat 命令与以下选项,可以显示系统上当前处于活动状态的路由:
# netstat -rn
请参见 netstat(1M) 和 route(1M) 手册页。
有关更多信息,请参见 netstat(1M) 和 route(1M) 手册页。
有关在使用反应性模式时创建和显示缺省路由的信息,请参见关于在 Oracle Solaris 中管理基于配置文件的网络配置。
% netstat -rn
输出将类似于以下内容:
Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ---------- --------- 192.168.5.125 192.168.5.10 U 1 5879 net0 224.0.0.0 198.168.5.10 U 1 0 net0 default 192.168.5.10 UG 1 91908 127.0.0.1 127.0.0.1 UH 1 811302 lo0 Routing Table: IPv6 Destination/Mask Gateway Flags Ref Use If --------------------------- --------------------------- ----- --- ------- ----- ::1 ::1 UH 2 0 lo0
# route flush
# route -p add -net network-address -gateway gateway-address
创建一个在系统重新引导后仍然保留的路由。如果希望路由仅在当前会话中保留,则不要使用 –p 选项。
指定路由将转到具有 network-address 中指定的地址的网络。
指示指定路由的网关系统具有 IP 地址 gateway-address。
以下示例说明了如何将静态路由添加到路由器(路由器 2)。AS 的边界路由器 10.0.5.150 需要静态路由。有关此特定设置的说明,请参见图 2。
如下所示查看路由器 2 上的路由表:
# netstat -rn Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- default 172.20.1.10 UG 1 249 ce0 224.0.0.0 172.20.1.10 U 1 0 ce0 10.0.5.0 10.0.5.20 U 1 78 bge0 127.0.0.1 127.0.0.1 UH 1 57 lo0 Routing Table: IPv6 Destination/Mask Gateway Flags Ref Use If --------------------------- --------------------------- ----- --- ------- ----- ::1 ::1 UH 2 0 lo0
路由表指示路由器 2 知晓两个路由。缺省路由将路由器 2 的 172.20.1.10 接口用作其网关。第二个路由 10.0.5.0 是由在路由器 2 上运行的 in.routed 守护进程搜索到的。此路由的网关是路由器 1,它的 IP 地址是 10.0.5.20。
如下所示将第二个路由添加到网络 10.0.5.0,该网络使用其网关作为边界路由器:
# route -p add -net 10.0.5.0/24 -gateway 10.0.5.150 add net 10.0.5.0: gateway 10.0.5.150
现在,路由表中具有边界路由器(其 IP 地址为 10.0.5.150)的一个路由。
# netstat -rn Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- default 172.20.1.10 UG 1 249 ce0 224.0.0.0 172.20.1.10 U 1 0 ce0 10.0.5.0 10.0.5.20 U 1 78 bge0 10.0.5.0 10.0.5.150 U 1 375 bge0 127.0.0.1 127.0.0.1 UH 1 57 lo0 Routing Table: IPv6 Destination/Mask Gateway Flags Ref Use If --------------------------- --------------------------- ----- --- ------- ----- ::1 ::1 UH 2 0 lo0