系统管理指南:IP 服务

路由表和路由类型

路由器和主机都维护路由表。每个系统上的路由选择守护进程都使用所有的已知路由来更新该表。在将包转发到本地网络之前,系统的内核读取路由表。路由表列出了系统知晓的网络的 IP 地址,包括系统本地缺省网络的 IP 地址。该表还列出了每个已知网络的网关系统的 IP 地址。网关是一个系统,它可以接收传出包并将它们转发到距本地网络一个跃点的位置。以下是一个仅启用了 IPv4 的网络中某系统的简单路由表:


Routing Table: IPv4
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
default              172.20.1.10          UG       1    532   ce0
224.0.0.0            10.0.5.100           U        1      0   bge0
10.0.0.0             10.0.5.100           U        1      0   bge0
127.0.0.1            127.0.0.1            UH       1     57   lo0

可以在 Oracle Solaris : 系统上配置以下两种类型的路由:静态路由和动态路由。可以在单个系统上配置其中一种或两种路由类型。实现动态路由的系统依赖路由协议(如用于 IPv4 网络的 RIP 和用于 IPv6 网络的 RIPng)来维护其路由表。仅运行静态路由的系统不依赖于路由协议来获取路由信息及更新路由表。相反,您必须通过 route 命令手动维护系统的已知路由。有关完整的详细信息,请参阅 route(1M) 手册页。

为本地网络或自治系统配置路由时,请考虑在特定的路由器和主机上支持哪种路由类型。

下表显示了不同的路由类型,以及各个路由类型分别最适用于哪种网络方案。

路由类型 

最适用于 

静态 

小型网络、从缺省路由器获取其路由的主机,以及仅需要知晓接下来几个跃点上一个或两个路由器的缺省路由器。

动态 

较大的互联网络、具有多个主机的本地网络中的路由器以及大型自治系统上的主机。动态路由是大多数网络中系统的最佳选择。

组合的静态和动态路由 

将静态路由网络和动态路由网络连接在一起的路由器,以及将内部自治系统与外部网络连接在一起的边界路由器。将系统上的静态路由和动态路由组合在一起是一种常见的做法。 

图 5–3 所示的 AS 将静态路由和动态路由组合在一起。

配置路由

要为 IPv4 网络实现动态路由,请使用 routeadmsvcadm 命令启动 in.routed 路由选择守护进程。有关说明,请参见如何配置 IPv4 路由器。动态路由是大多数网络和自治系统的首选策略。但是,您的网络拓扑或您网络中的特定系统可能需要静态路由。在该情况下,必须手动编辑系统路由表,向网关反映已知路由。接下来的过程说明如何添加静态路由。


注 –

到同一目标的两个路由不会自动导致系统进行负载平衡或故障转移。如果需要这些功能,请使用 IPMP,如第 30 章中所述。


Procedure如何将静态路由添加到路由表

  1. 查看路由表的当前状态。

    使用常规用户帐户运行以下形式的 netstat 命令:


    % netstat -rn
    

    输出将与如下所示类似:


    Routing Table: IPv4
      Destination           Gateway           Flags  Ref   Use   Interface
    -------------------- -------------------- ----- ----- ------ ---------
    192.168.5.125        192.168.5.10          U      1   5879   ipge0
    224.0.0.0            198.168.5.10          U      1  0       ipge0
    default              192.168.5.10          UG     1  91908
    127.0.0.1            127.0.0.1             UH     1  811302   lo0
  2. 承担主管理员角色或成为超级用户。

    主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  3. (可选)刷新路由表中的现有项。


    # route flush
    
  4. 添加一个在系统重新引导后继续存在的路由。


    # route -p add -net network-address -gateway gateway-address
    
    -p

    创建一个在系统重新引导后必须继续存在的路由。如果希望路由仅对当前会话有效,则不要使用 -p 选项。

    add

    指示将要添加以下路由。

    -net network-address

    指定路由将转到具有 network-address 中地址的网络。

    -gateway gateway-address

    指示指定路由的网关系统具有 IP 地址 gateway-address


示例 5–5 将静态路由添加到路由表

以下示例说明如何将静态路由添加到系统。该系统是路由器 2,即Figure&;5–3 所示的 图 5–3 网络的缺省路由器。在示例 5–4 中,为路由器 2 配置了动态路由。为了更好地充当网络 172.20.1.0 中主机的缺省路由器,路由器 2 还需要到 AS 的边界路由器 10.0.5.150 的静态路由。

要查看路由器 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

路由表指示路由器 2 知晓的两个路由。缺省路由将路由器 2 的 172.20.1.10 接口用作其网关。在路由器 2 上运行的 in.routed 守护进程搜索到第二个路由 10.0.5.0。此路由的网关是 IP 地址为 10.0.5.20 的路由器 1。

要将另一个路由添加到网络 10.0.5.0(它将其网关作为边界路由器),请执行以下操作:


# route -p add -net 10.0.5.0/24 -gateway 10.0.5.150/24
add net 10.0.5.0: gateway 10.0.5.150

现在,路由表具有边界路由器(其 IP 地址为 10.0.5.150/24)的路由。


# 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