创建持久性(静态)路由
您可以使用 route 命令手动处理网络路由表。要使更改在重新引导之后仍然保留,请使用 –p 选项。由于 /etc/defaultrouter 文件在 Oracle Solaris 11 中已过时,因此您不能再使用此文件管理路由(缺省值或其他)。使用 route 命令是唯一一种手动使路由在系统重新引导之后仍然保留的方法。
注 -
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 -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
成为管理员。
(u53ef选)
刷新路由表中的现有条目。
# route flush
添加持久性路由。
# route -p add -net network-address -gateway gateway-address
–p
创建一个在系统重新引导后仍然保留的路由。如果希望路由仅在当前会话中保留,则不要使用 –p 选项。
–net network-address
指定路由将转到具有 network-address 中指定的地址的网络。
–gateway gateway-address
指示指定路由的网关系统具有 IP 地址 gateway-address。
示例 9将静态路由添加到路由表
以下示例说明了如何将静态路由添加到路由器(路由器 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