IPv6 地址的 64 位接口 ID 也称为标记。在地址自动配置过程中,该标记与接口的 MAC 地址相关联。大多数情况下,非路由节点(IPv6 主机和服务器)应当使用为其自动配置的标记。
但是,对于具有在系统维护期间需要例行交换的接口的服务器,使用自动配置的标记可能会产生问题。如果更换接口卡,则 MAC 地址也会随之更改。因此,依赖稳定 IP 地址的服务器将会遇到问题。网络基础结构的各个部分,例如域名系统 (Domain Name System, DNS) 或网络信息系统 (Network Information System, NIS) 可能已为服务器的接口存储了特定 IPv6 地址。
为了避免出现地址更改问题,可以手动配置要用作 IPv6 地址中接口 ID 的标记。要创建此标记,需要指定一个 64 位或更少的十六进制数字,使其占用 IPv6 地址的接口 ID 部分。在后续的地址自动配置过程中,相邻节点搜索协议不会基于接口的 MAC 地址创建接口 ID。相反,手动创建的标记将成为接口 ID。此标记始终被指定给该接口,即使更换了卡也是如此。
对于具有需要例行交换的接口的服务器,以下过程尤其有用。还可以按照以下步骤在任意 IPv6 节点上配置用户指定的标记。
# ipadm show-if IFNAME CLASS STATE ACTIVE OVER lo0 loopback ok yes --- net0 ip ok yes --- # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8
以上输出显示存在未配置 IPv6 地址的网络接口 net0。
xxxx:xxxx:xxxx:xxxx
# ipadm create-addr -T addrconf -i interface-ID interface
例如,可以如下所示配置具有标记的接口 net0:
# ipadm create-addr -T addrconf -i ::1a:2b:3c:4d/64 net0
# pkill -HUP in.ndpd
以下示例说明了如何为 net0 配置 IPv6 地址和标记。
# ipadm show-if IFNAME CLASS STATE ACTIVE OVER lo0 loopback ok yes --- net0 ip ok yes --- # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 # ipadm create-addr -T addrconf -i ::1a:2b:3c:4d/64 net0 # pkill -HUP in.ndpd # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v6 static ok ::1/128 net0/v6 addrconf ok fe80::1a:2b:3c:4d/10 net0/v6a addrconf ok 2002:a08:39f0:1:1a:2b:3c:4d/64
在配置标记之后,地址对象 net0/v6 同时具有一个链路本地地址和一个为其接口 ID 配置了 1a:2b:3c:4d 的地址。请注意,创建 net0/v6 之后,无法再为该接口修改此标记。
另请参见
要使用服务器的 IPv6 地址更新名称服务,请参见在 Oracle Solaris 客户机上管理命名和目录服务。
要监视服务器性能,请参见在 Oracle Solaris 11.2 中管理 TCP/IP 网络、IPMP 和 IP 隧道 中的 第 1 章, 管理 TCP/IP 网络。