6.3 ISATAP隧道技术
(1)基本概念
①在一个IPv4网络中主机与路由器之间创建一条ISATAP隧道,以便让该主机可以访问IPv6网络中的资源。
②条件:IPv4中的PC主机需要支持IPv4和IPv6双栈协议,然后需要一台支持ISATAP的路由器。该路由器可以在网络中的任何位置,只要PC能通过IPv4地址ping通它。
③当IPv4中的PC主机需要访问IPv6资源时,需要先与ISATAP路由器建立ISATAP隧道,然后根据路由器提供的IPv6前缀构造自己的IPv6地址,并将这台路由器设置为自己的IPv6默认网关。如此一来,这台PC就能够通过ISATAP路由器访问IPv6资源。
(2)ISATAP隧道技术原理
Ⅰ. ISATAP路由器配置:
A.分配IPv4地址:2.2.2.2/24。
B.创建tunnel接口用于ISATAP,该接口会根据IPv4产生一个64位的接口标识,并搭配fe80::形成tunnel接口的LinkLocal地址,格式fe80::0000:5efe:x.x.x.x(其中的x.x.x.x为IPv4地址)
C.为tunnel接口配置一个全局单播IPv6地址,可以手工配置,也可以通过+EUI64的方式构成的。如2001:1111::0000:5efe:0202.0202/64。
Ⅱ. ISATAP主机配置:
A.Win7系统上默认安装了IPv6协议栈,默认就会有一个ISATAP的虚拟网卡。
B.当给PC的物理网卡配置IPv4地址(如1.1.1.1/24),ISATAP虚拟网卡会自动根据该地址计算出一个LinkLocal地址,格式如:fe80::0200:5efe:1.1.1.1(或fe80::0200:5efe:0101.0101)。
Ⅲ. 当主机上配置了ISATAP后(用netsh命令,使其指向ISATAP路由器,见后面例子),会向ISATAP路由器发送RS消息请求IPv6前缀(如上图中的①)。
Ⅳ. 这个RS消息会在IPv4网络中被路由,最终转到ISATAP路由器。这将使得路由器立即以一个RA进行回应,这个RA消息里就包含ISATAP上所配置的那个IPv6全局单播地址的前缀。
Ⅴ. PC主机收到RA回应后,会拿出里头的IPv6前缀,随后在后面加上自己的ISATAP虚拟网卡的64位接口标识地址,构成一个IPv6全局单播地址,同时产生一条默认路由,指向ISATAP路由器的LinkLocal地址。
Ⅵ. 至此,PC主机就可以访问IPv6网络中的资源。它首先将IPv6数据包封装在IPv4数据包中,然后传给ISATAP路由器,再由ISATAP路由器解封装后转发给IPv6网络。
(3)ISATAP隧道实验
①R1路由器配置
//R1路由器 R1#conf t R1(config)#interface fastEthernet 0/0 R1(config-if)#ip address 192.168.10.10 255.255.255.0 R1(config-if)#no sh R1(config-if)#exit R1(config)#interface serial 2/0 R1(config-if)#clock rate 64000 R1(config-if)#ip address 131.107.0.1 255.255.255.0 R1(config-if)#no sh R1(config-if)#exit
②R2路由器配置
R2#config t R2(config)#ipv6 unicast-routing //启用IPv6路由转发功能 R2(config)#interface serial 2/0 R2(config-if)#ip address 131.107.0.2 255.255.255.0 R2(config-if)#no sh R2(config-if)#exit R2(config)#interface serial 2/1 R2(config-if)#clock rate 64000 R2(config-if)#ipv6 address 2001:2::1/64 R2(config-if)#no sh R2(config-if)#exit R2(config)#ip route 192.168.10.0 255.255.255.0 131.107.0.1 R2(config)#ipv6 route 2001:1::/64 2001:2::2 R2(config)#interface tunnel 0 //配置ISATAP隧道接口 R2(config-if)#ipv6 address 2001:3::/64 eui-64 //必须指定用eui-64方式 R2(config-if)#no ipv6 nd suppress-ra //在IPv6的接口上不会发送路由器公告报文 R2(config-if)#tunnel source 131.107.0.2 //隧道接口源地址 R2(config-if)#tunnel mode ipv6ip isatap R2(config-if)#no sh R2(config-if)#exit R2(config)# R2#show running-config //查看路由器运行配置
③R3路由器配置
R3#conf t R3(config)#ipv6 unicast-routing R3(config)#interface serial 2/1 R3(config-if)#ipv6 address 2001:2::2/64 R3(config-if)#no sh R3(config-if)#exit R3(config)#interface fastEthernet 0/0 R3(config-if)#ipv6 address 2001:1::1/64 R3(config-if)#no sh R3(config-if)#exit R3(config)#ipv6 route 2001:3::/64 2001:2::1 R3(config)#exit
(4)Win7和Win8虚拟机设置
①Win8:设置IPv6地址为:2001:1::2/64,默认网关为2001:2::1
②Win7:IPv4地址(192.168.10.20/24,默认网关192.168.10.10),IPv6地址为自动获取。同时配置ISATAP隧道(以管理员身份运行CMD):C:Windowssystem32>netsh interface ipv6 isatap set route 131.107.0.2 //使Win7指向ISATAP路由器。
③测试:在Win7上ping 2001:1::2
//给计算机配置ISATAP隧道,使其指向ISATAP路由器 C:Windowssystem32>netsh interface ipv6 isatap set route 131.107.0.2 //指向ISATAP路由器 确定。 C:Windowssystem32>ipconfig /all 以太网适配器 mynet: 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection 物理地址. . . . . . . . . . . . . : 00-0C-29-CB-FB-8B DHCP 已启用 . . . . . . . . . . . : 否 自动配置已启用. . . . . . . . . . : 是 本地链接 IPv6 地址. . . . . . . . : fe80::244b:cbc4:696e:2be1%11(首选) IPv4 地址 . . . . . . . . . . . . : 192.168.10.20(首选) 子网掩码 . . . . . . . . . . . . : 255.255.255.0 默认网关. . . . . . . . . . . . . : 192.168.10.10 DHCPv6 IAID . . . . . . . . . . . : 234884137 DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-20-9E-E3-1D-00-0C-29-CB-FB-8B DNS 服务器 . . . . . . . . . . . : 8.8.8.8 TCPIP 上的 NetBIOS . . . . . . . : 已启用 隧道适配器 isatap.{7CA5AC9B-1CDF-4B45-B5BA-875A2767632E}: //ISATAP虚拟网卡的接口设置 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : Microsoft ISATAP Adapter 物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0 DHCP 已启用 . . . . . . . . . . . : 否 自动配置已启用. . . . . . . . . . : 是 IPv6 地址 . . . . . . . . . . . . : 2001:3::5efe:192.168.10.20(首选) //获取的IPv6前缀:2001:3::/64 本地链接 IPv6 地址. . . . . . . . : fe80::5efe:192.168.10.20%12(首选) //本地链路地址 默认网关. . . . . . . . . . . . . : fe80::5efe:131.107.0.2%12 //自动将ISATAP路由器设为网关 DNS 服务器 . . . . . . . . . . . : 8.8.8.8 TCPIP 上的 NetBIOS . . . . . . . : 已禁用 C:Windowssystem32>ping 2001:1::2 正在 Ping 2001:1::2 具有 32 字节的数据: 来自 2001:1::2 的回复: 时间=95ms 来自 2001:1::2 的回复: 时间=60ms 来自 2001:1::2 的回复: 时间=91ms 来自 2001:1::2 的回复: 时间=121ms 2001:1::2 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 60ms,最长 = 121ms,平均 = 91ms C:Windowssystem32>