配置 IPv6 的第一步就是在接口上启用 IPv6。可以在 Oracle Solaris 10 安装过程中启用 IPv6 支持,也可以通过在已安装的系统的接口上配置 IPv6 来启用 IPv6 支持。
在 Oracle Solaris 10 安装过程中,可以在一个或多个系统接口上启用 IPv6。安装之后,与 IPv6 相关的下列文件和表将准备就绪:
针对 IPv6 启用的每个接口现在都有一个与之关联的 /etc/hostname6.interface 文件,如 hostname6.dmfe0。
对于 Solaris 10 11/06 及更早的版本,创建了 /etc/inet/ipnodes 文件。安装之后,此文件通常仅包含 IPv6 和 IPv4 回送地址。
修改了 /etc/nsswitch.conf 文件,以便使用 IPv6 地址进行查找。
创建了 IPv6 地址选择策略表。该表确定通过启用了 IPv6 的接口进行传输时所用 IP 地址格式的优先级。
本节介绍如何在已安装的系统的接口上启用 IPv6。
下表列出了各种配置 IPv6 接口的任务。此表中包含对各项任务要完成的工作的说明,以及当前文档中详细介绍用于执行任务的特定步骤的章节。
任务 |
说明 |
参考 |
---|---|---|
在已经装有 Oracle Solaris 10 的系统的接口上启用 IPv6。 |
使用此任务可以在安装 Oracle Solaris 10 之后在接口上启用 IPv6。 | |
使启用了 IPv6 的接口的配置在重新引导后仍然持保持不变。 |
使用此任务可以使接口的 IPv6 地址成为永久地址。 | |
关闭 IPv6 地址自动配置。 |
如果需要手动配置 IPv6 地址的接口 ID 部分,请使用此任务。 |
开始配置 IPv6 时,请首先在将成为 IPv6 节点的所有系统的接口上启用 IPv6。最初,接口通过自动配置过程获取其 IPv6 地址,如IPv6 地址自动配置中所述。然后,可以根据节点在 IPv6 网络中的作用(作为主机、服务器或路由器)来调整节点的配置。
如果接口与当前正在通告某个 IPv6 前缀的路由器在同一链路上,则接口会获取该站点前缀,并将其作为自动配置的地址的一部分。有关更多信息,请参阅如何配置启用了 IPv6 的路由器。
以下过程说明如何为安装 Oracle Solaris 10 之后添加的接口启用 IPv6。
完成 IPv6 网络的规划任务,如升级硬件和软件以及准备寻址计划。有关更多信息,请参见IPv6 规划(任务列表)。
主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
在接口上启用 IPv6。
# ifconfig inet6 interface plumb up |
启动 IPv6 守护进程 in.ndpd。
# /usr/lib/inet/in.ndpd |
可以使用 ifconfig-a6 命令来显示节点上启用了 IPv6 的接口的状态。
此示例说明如何在 qfe0 接口上启用 IPv6。在开始之前,请检查系统上已配置的所有接口的状态。
# ifconfig -a lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 qfe0: flags=1000863 <UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 172.16.27.74 netmask ffffff00 broadcast 172.16.27.255 ether 0:3:ba:13:14:e1 |
目前仅为该系统配置了 qfe0 接口。请按如下所示在该接口上启用 IPv6:
# ifconfig inet6 qfe0 plumb up # /usr/lib/inet/in.ndpd # ifconfig -a6 lo0: flags=2000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1 inet6 ::1/128 qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 0:3:ba:13:14:e1 inet6 fe80::203:baff:fe13:14e1/10 |
此示例显示了系统接口在 qfe0 启用 IPv6 前后的状态。ifconfig 的 -a6 选项仅显示 qfe0 的 IPv6 信息和回送接口。请注意,输出结果表明仅为 qfe0 配置了一个链路本地地址 fe80::203:baff:fe13:14e1/10。此地址指明到目前为止,该节点的本地链路上没有任何路由器通告站点前缀。
启用 IPv6 之后,可以使用 ifconfig -a 命令来显示系统上所有接口的 IPv4 和 IPv6 地址。
要将 IPv6 节点配置为路由器,请转至配置 IPv6 路由器。
要使 IPv6 接口配置在重新引导后仍然保持不变,请参见如何启用持久性 IPv6 接口。
要在节点上禁用地址自动配置,请参见如何关闭 IPv6 地址自动配置。
要将节点调整为服务器,请参见在服务器上管理启用了 IPv6 的接口中的建议。
此过程说明如何启用具有自动配置的 IPv6 地址的 IPv6 接口,这些地址在随后进行重新引导时将一直保持不变。
如果接口与当前正在通告某个 IPv6 前缀的路由器在同一链路上,则接口会获取该站点前缀,并将其作为自动配置的地址的一部分。有关更多信息,请参阅如何配置启用了 IPv6 的路由器。
主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
为安装之后添加的接口创建 IPv6 地址。
创建静态 IPv6 缺省路由。
# /usr/sbin/route -p add -inet6 default ipv6-address |
(可选)创建一个 /etc/inet/ndpd.conf 文件,该文件定义了节点上接口变量的参数。
如果需要为主机的接口创建临时地址,请参阅将临时地址用于接口。有关 /etc/inet/ndpd.conf 的详细信息,请参阅 ndpd.conf(4) 手册页和ndpd.conf 配置文件。
重新引导该节点。
# reboot -- -r |
在重新引导过程中将发送路由器搜索包。如果路由器以站点前缀进行响应,则节点可以使用对应的包含全局 IPv6 地址的 /etc/hostname6.interface 文件配置任何接口。否则,仅能使用链路本地地址配置启用了 IPv6 的接口。重新引导还将以 IPv6 模式重新启动 in.ndpd 和其他网络守护进程。
此示例说明如何使 qfe0 接口的 IPv6 配置在重新引导过程中持续保留。在此示例中,本地链路上的路由器会通告站点前缀和子网 ID 2001:db8:3c4d:15/64。
首先,检查系统接口的状态。
# ifconfig -a lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 qfe0: flags=1000863 <UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 172.16.27.74 netmask ffffff00 broadcast 172.16.27.255 ether 0:3:ba:13:14:e1 |
# touch /etc/hostname6.qfe0 # vi /etc/hostname6.qfe0 inet6 fe80::203:baff:fe13:1431/10 up addif inet6 2001:db8:3c4d:15:203:baff:fe13:14e1/64 up # route -p add -inet6 default fe80::203:baff:fe13:1431 # reboot -- -r |
验证已配置的 IPv6 地址是否仍适用于 qfe0 接口。
# ifconfig -a6 qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 0:3:ba:13:14:e1 inet6 fe80::203:baff:fe13:14e1/10 qfe0:1: flags=2180841 <UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2001:db8:3c4d:15:203:baff:fe13:14e1/64 |
ifconfig -a6 的输出显示了 qfe0 的两项。标准 qfe0 项包括 MAC 地址和链路本地地址。第二项 qfe0:1 表示为 qfe0 接口上的其他 IPv6 地址创建了伪接口。新的全局 IPv6 地址 2001:db8:3c4d:15:203:baff:fe13:14e1/64 包括由本地路由器通告的站点前缀和子网 ID。
要将新的 IPv6 节点配置为路由器,请转至配置 IPv6 路由器。
要在节点上禁用地址自动配置,请参见如何关闭 IPv6 地址自动配置。
要将新节点调整为服务器,请参见在服务器上管理启用了 IPv6 的接口中的建议。
通常应当使用地址自动配置来为主机和服务器的接口生成 IPv6 地址。但是,有时可能希望关闭地址自动配置,尤其是在希望手动配置标记时,如配置 IPv6 标记中所述。
主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
为节点创建 /etc/inet/ndpd.conf 文件。
/etc/inet/ndpd.conf 文件定义了特定节点的接口变量。必须在该文件中包含以下内容,才能关闭所有服务器接口的地址自动配置:
if-variable-name StatelessAddrConf false |
有关 /etc/inet/ndpd.conf 的详细信息,请参阅 ndpd.conf(4) 手册页和ndpd.conf 配置文件。
使用所做更改更新 IPv6 守护进程。
# pkill -HUP in.ndpd |