系统管理指南:IP 服务

Procedure如何配置启用了 IPv6 的路由器

此过程假定在 Oracle Solaris : 的安装过程中已针对 IPv6 配置了路由器的所有接口。

  1. 在即将成为 IPv6 路由器的系统上,承担主管理员角色或成为超级用户。

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

  2. 检查在安装过程中针对 IPv6 配置了路由器上的哪些接口。


    # ifconfig -a
    

    检查输出,确保现在已经使用链路本地地址检测了要针对 IPv6 配置的接口。以下 ifconfig -a 的样例命令输出显示了已经为路由器的接口配置的 IPv4 和 IPv6 地址。


    lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000 
    dmfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
            inet 172.16.26.232 netmask ffffff00 broadcast 172.16.26.255
            ether 0:3:ba:11:b1:15 
    dmfe1: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4 mtu 1500 index 3
            inet 172.16.26.220 netmask ffffff00 broadcast 172.16.26.255
            ether 0:3:ba:11:b1:16 
    lo0: flags=2000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
            inet6 ::1/128 
    dmfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
            ether 0:3:ba:11:b1:15 
            inet6 fe80::203:baff:fe11:b115/10 
    dmfe1: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 3
            ether 0:3:ba:11:b1:16 
            inet6 fe80::203:baff:fe11:b116/10 

    该输出还显示在安装过程中已经使用 IPv6 链路本地地址 fe80::203:baff:fe11:b115/10fe80::203:baff:fe11:b116/10 配置了主网络接口 dmfe0 和附加接口 dmfe1

  3. 在路由器的所有接口上配置 IPv6 包转发功能。

    对于 Solaris 10 11/03 及更早的版本,请使用以下命令:


    # routeadm -e ipv6-forwarding -u
    

    使用以下任一命令启用包转发:

    • 使用 routeadm 命令,如下所示:


      # routeadm -e ipv6-forwarding -u
      
    • 使用以下服务管理工具 (Service Management Facility, SMF) 命令,如下所示:


      # svcadm enable ipv6-forwarding
  4. 启动路由选择守护进程。

    in.ripngd 守护进程可处理 IPv6 路由。

    对于 Solaris 10 11/06 及更早的版本,请键入以下命令启动 in.ripngd


    # routeadm -e ipv6-routing
    # routeadm -u
    

    通过以下任一方式启用 IPv6 路由:

    • 使用 routeadm 命令,如下所示:


      # routeadm -e ipv6-routing -u
      
    • 使用 SMF 启用 IPv6 路由:


      # svcadm enable ripng:default
      

    有关 routeadm 命令的语法信息,请参见 routeadm(1M) 手册页。

  5. 创建 /etc/inet/ndpd.conf 文件。

    /etc/inet/ndpd.conf 中指定要由路由器通告的站点前缀以及其他配置信息。此文件由 in.ndpd 守护进程读取,该守护进程实现了 IPv6 相邻节点搜索协议。

    有关变量和允许值的列表,请参阅ndpd.conf 配置文件ndpd.conf(4) 手册页。

  6. /etc/inet/ndpd.conf 文件中键入以下文本:


    ifdefault AdvSendAdvertisements true
    prefixdefault AdvOnLinkFlag on AdvAutonomousFlag on
    

    此文本通告 in.ndpd 守护进程通过路由器上针对 IPv6 配置的所有接口发出路由器通告。

  7. /etc/inet/ndpd.conf 文件中添加其他文本,以便在路由器的各接口上配置站点前缀。

    该文本应采用以下格式:


    prefix global-routing-prefix:subnet ID/64 interface
    

    以下样例 /etc/inet/ndpd.conf 文件将路由器配置为通过接口 dmfe0dmfe1 通告站点前缀 2001:0db8:3c4d::/48


    ifdefault AdvSendAdvertisements true
    prefixdefault AdvOnLinkFlag on AdvAutonomousFlag on
    
    if dmfe0 AdvSendAdvertisements 1
    prefix 2001:0db8:3c4d:15::0/64 dmfe0
    
    if dmfe1 AdvSendAdvertisements 1
    prefix 2001:0db8:3c4d:16::0/64 dmfe1
    
  8. 重新引导系统。

    IPv6 路由器随即开始在本地链路上通告 ndpd.conf 文件中的任何站点前缀。


示例 7–3 显示 IPv6 接口的 ifconfig 输出

以下示例显示了 ifconfig -a 命令的输出,在完成配置 IPv6 路由器过程之后将看到这类输出。


lo0: flags=1000849 <UP LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
dmfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 172.16.15.232 netmask ffffff00 broadcast 172.16.26.255
        ether 0:3:ba:11:b1:15 
dmfe1: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4 mtu 1500 index 3
        inet 172.16.16.220 netmask ffffff00 broadcast 172.16.26.255
        ether 0:3:ba:11:b1:16 
lo0: flags=2000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
        inet6 ::1/128 
dmfe0: flags=2100841 <UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 2
        ether 0:3:ba:11:b1:15 
        inet6 fe80::203:baff:fe11:b115/10 
dmfe0:1: flags=2180841 <UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500
          index 2
        inet6 2001:db8:3c4d:15:203:baff:fe11:b115/64
dmfe1: flags=2100841 <UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 3
        ether 0:3:ba:11:b1:16 
        inet6 fe80::203:baff:fe11:b116/10 
dmfe1:1: flags=2180841 <UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500
           index 3
        inet6 2001:db8:3c4d:16:203:baff:fe11:b116/64

在此示例中,已经针对 IPv6 配置的每个接口现在都有两个地址。包含接口名称的项(如 dmfe0)显示该接口的链路本地地址。形式为 interface:n 的项(如 dmfe0:1)显示全局 IPv6 地址。此地址除包括接口 ID 外,还包括已在 /etc/ndpd.conf 文件中配置的站点前缀。


另请参见