首先,我们构建了一个实验网络,其中包括PC、Switch和Router三个设备。在这个网络中,PC属于VLAN10,其网关位于Switch上。Switch则使用VLAN20与Router进行三层对接。
实验的关键需求是,PC的IPv6全局单播地址需要通过无状态自动配置的方式获取。这意味着,无需手动设置IPv6地址,PC可以自动从网络中获取所需的地址信息。
接下来,我们开始配置各个设备的详细步骤:
1. **Router配置**: - 启用IPv6功能。 - 在GigabitEthernet0/0/0接口上启用IPv6,并设置IPv6地址为2012::264。 - 配置Loopback0接口的IPv6地址为2001:164。 - 设置IPv6静态路由,将2001::64路由到2012::1。
2. **Switch配置**: - 启用IPv6功能,并创建VLAN10和VLAN20。 - 将GigabitEthernet0/0/1端口设置为Access模式,并默认属于VLAN10。 - 将GigabitEthernet0/0/24端口设置为access模式,并默认属于VLAN20。 - 在VLANif10接口上启用IPv6,并设置IPv6全局单播地址为2001::FFFF64。取消IPv6 RA消息的抑制,使交换机能够发送RA消息。 - 在VLANif20接口上启用IPv6,并设置IPv6地址为2012::164。 - 配置IPv6默认路由,指向2012::2。
3. **PC网卡配置**: - PC网卡的IPv6地址通过接收Switch发送的RA消息自动获取。RA消息中包含了VLANif10接口的IPv6全局单播地址前缀信息。 - PC网卡根据接收到的信息,结合自己的标识符,自动配置IPv6全局单播地址。
需要注意的是,不同操作系统的设备在生成IPv6接口标识符时可能采用不同的标准。例如,Windows Vista及以后版本的系统不再使用EUI-64标准,而是采用随机算法生成接口标识符。如果需要关闭这个特性,可以使用命令`netsh interface ipv6 set global randomizeidentifiers=disabLED`。
完成所有配置后,PC能够通过自动获取的IPv6地址成功ping通Router的Loopback0口。以下是ping命令的输出示例:
``` C:\Users\z00261992>ping 2001:1 正在Ping 2001:1 具有SSIP字节的数据: 来自 2001:1 的回复: 时间=26ms 来自 2001:1 的回复: 时间=26ms 来自 2001:1 的回复: 时间=26ms 来自 2001:1 的回复: 时间=35ms ```
通过这个实验,我们不仅了解了IPv6无状态自动配置的过程,还掌握了设备间如何通过RA消息进行通信。这对于网络管理员来说,是一个非常有价值的实践。
实验拓扑
PC属于VLAN10,网关在Switch上;
Switch使用VLAN20与Router进行三层对接。
实验需求
PC的IPv6全局单播地址通过无状态自动配置的方式获取;
完成所有设备的配置,要求PC能够ping通Router的Loopback0口。
实验步骤及配置
Router的配置如下:
[Router]ipv6 [Router]interfaceGigabitEthernet0/0/0 [Router-GigabitEthernet0/0/0]ipv6enable [Router-GigabitEthernet0/0/0]ipv6address2012::264 [Router]interfaceloopback0 [Router-Loopback0]ipv6enable [Router-Loopback0]ipv6address2001:164 [Router]ipv6route-static2001::642012::1
Switch的配置如下:
[Switch]ipv6 [Switch]vlanbatch1020 [Switch]interfaceGigabitEthernet0/0/1 [Switch-GigabitEthernet0/0/1]portlink-typeaccess [Switch-GigabitEthernet0/0/1]portdefaultvlan10 [Switch]interfaceGigabitEthernet0/0/24 [Switch-GigabitEthernet0/0/1]portlink-typeaccess [Switch-GigabitEthernet0/0/1]portdefaultvlan20 [Switch]interfacevlanif10 [Switch-vlanif10]ipv6enable#激活接口的IPv6功能 [Switch-vlanif10]ipv6address2001::FFFF64#配置接口的IPv6全局单播地址 [Switch-vlanif10]undoipv6ndrahalt#激活vlanif10的RA路由器通告消息,也就是取消RA的抑制。取消之后交换机的vlanif10将开始周期性的发送RA消息 [Switch]interfacevlanif20 [Switch-vlanif10]ipv6enable [Switch-vlanif10]ipv6address2012::164 [Switch]ipv6route-static::02012::2#配置IPv6默认路由
PC网卡的配置如下:
完成上述配置后,Switch由于开启了RA消息的通告功能,因此会向vlanif10接口发送RA消息,而RA消息中包含了vlanif10的IPv6全局单播地址前缀信息,PC网卡在接收到这个信息后,就可以根据前缀信息再加上自己网卡的标识符构成IPv6全局单播地址:
PC网卡获取的地址:
以太网适配器net1: 连接特定的DNS后缀.......: 描述...................:MicrosoftEthernetAdapter 物理地址...............:02-00-4C-4F-4F-50 dhcp已启用..........:是 自动配置已启用..........:是 IPv6地址.............:2001:1c8f6e(首选) 临时IPv6地址..........:2001:58c22afe(首选) 本地链接IPv6地址......:fe80:1c8f6e%22(首选) 自动配置IPv4地址....:169.254.143.110(首选) 子网掩码.............:255.255.0.0 默认网关...............:fe80:ccff5b5e%22 DNS服务器..........:fec00:1%1 fec00:2%1 fec00:3%1 TCPIP上的NetBIOS.......:已启用
注意:非windows终端设备大多采用EUI-64的标准生成接口标识符,XP以及之前的Windwos版本也遵循这个标准,但是Vista、win7等系统则默认不在遵循这个标准,而是使用一个算法随机产生一个接口标识符,这个接口标识符将用于网卡的IPv6地址自动配置
使用如下命令可以关闭这个特性:netsh interface ipv6 set global randomizeidentifiers=disabled
如此一来PC就能够ping通2001:1了:
C:Usersz00261992>ping2001:1 正在Ping2001:1具有32字节的数据: 来自2001:1的回复:时间=26ms 来自2001:1的回复:时间=26ms 来自2001:1的回复:时间=26ms 来自2001:1的回复:时间=35ms