ipv6和ipv4互访的推荐方式当ipv6地址fc00:1::1需要访问ipv4地址3.3.3.1时,需要将3.3.3.1写成2001::303:301(2001是通过prefix配置的)。这种方式只适用与ipv6端初始连接。当然在实际的运营环境中还需要做一条ipv6的static map,这个static map就是专门给ipv6 dns预备的。
R1
hostname R1
!
ipv6 unicast-routing
!
interface Loopback1
ip address 1.1.1.1 255.255.255.255
ipv6 address FC00:1::1/128
ipv6 enable
!
interface Loopback2
no ip address
ipv6 address FC00:1::2/128
ipv6 enable
!
interface Loopback3
no ip address
ipv6 address FC00:1::3/128
ipv6 enable
!
interface Ethernet1/2
no ip address
duplex full
ipv6 address FC00:12::1/32
ipv6 enable
!
ipv6 route ::/0 FC00:12::2
R2
hostname R2
!
ipv6 unicast-routing
!
interface Ethernet1/1
no ip address
duplex full
ipv6 address FC00:12::2/32
ipv6 enable
ipv6 nat
!
interface Ethernet1/3
ip address 192.168.23.2 255.255.255.0
duplex full
ipv6 nat
!
ip route 3.3.3.0 255.255.255.0 192.168.23.3
!        
ipv6 route FC00:1::/32 FC00:12::1
ipv6 nat v6v4 source list listv6 pool poolv4
ipv6 nat v6v4 pool poolv4 192.168.12.1 192.168.12.254 prefix-length 24
ipv6 nat prefix 2001::/96 v4-mapped v4map
!
ipv6 Access-list v4map
permit ipv6 any 2001::/96
!
ipv6 access-list listv6
permit ipv6 any 2001::/96
R3
hostname R3
!
interface Loopback1
ip address 3.3.3.1 255.255.255.255
!
interface Loopback2
ip address 3.3.3.2 255.255.255.255
!
interface Loopback3
ip address 3.3.3.3 255.255.255.255
!
interface Ethernet1/2
ip address 192.168.23.3 255.255.255.0
duplex full
!
ip route 0.0.0.0 0.0.0.0 192.168.23.2
 
 
 

IPv6隧道及NAT-PT技术讲解
39.1 IPv6隧道简介
IPv6 技术相比 IPv4 技术而言具有许多优势。然而,人们一致认为,IPv6 部署的任何成功策略均需其在一定持续时期内与IPv4共存。为了管理这种从IPv4 到IPv6的长期复杂过渡,人们已制订出许多策略。以下部分将对若干此类策略予以阐述。
双栈骨干网
     在双栈骨干网部署中,网络中的所有路由器均同时保持IPv4 与IPv6协议堆栈。应用程序在使用 IPv4 或 IPv6 之间进行选择,并由应用程序按照 IP 业务负载的类型与通信的特定需要选择正确的地址。
     如今,双栈路由选择是具有需要两种协议的IPv4 与IPv6组合应用程序网络基础架构的首选部署策略。然而,该策略却有若干限制:网络中的所有路由器必须升级到 IPv6;路由器还需要双寻址方案、 IPv4与IPv6选路协议的双重管理以及IPv4与IPv6两个选路表所需的足够存储空间。
通过IPv4实现IPv6的隧道传输
通过IPv4实现IPv6的隧道传输方法是在IPv4 数据包内封装IPv6业务负载,通过IPv4骨干网进行发送(如图所示)。这使“孤岛状”IPv6 终端系统和路由器能够通过现有IPv4基础架构进行通信。
如同RFC2893所定义的那样,隧道的两个端点需要使用适当的IPv6和IPv4地址进行配置。坐落于端点的边缘路由器,通常为双栈路由器,将按照配置转发通过隧道的业务负载。
通用路由封装(GenericRoutingEncapsulation,简称GRE)隧道
按照通过 IPv4 网络传输数据的定义,GRE 通过将需要传输的数据包封装在 GRE 数据包内,从而使一个网络协议能够通过另一个网络协议进行传输。GRE 是通过隧道传输 IPv6 业务负载的一个理想机制。
兼容IPv4的隧道或6over4隧道
如同在 RFC2893 中定义的那样,这些隧道机制在兼容 IPv4 的 IPv6 地址上自动建立隧道。兼容 IPv4 的 IPv6 地址将最左侧的 96 位定义为零,后面跟随着一个嵌在最后 32 位中的 IPv4 地址。例如,0:0:0:0:0:0.64.23.45.21是一个兼容 IPv4的地址。
6to4隧道
如同 RFC3056 所定义的那样,6to4 隧道使用嵌在 IPv6 地址中的一个 IPv4 地址来确认隧道的端点,并自动建立隧道(如图所示)。
 

站内自动隧道寻址协议(Intra-SiteAutomaticTunnelAddressingProtocol,简称ISATAP)隧道
如同在draft-ietf-ngtrans-isatap-16中定义的那样,ISATAP隧道传输非常类似于6to4隧道传
输,但它是为在本地站点或校园网中使用而设计的。ISATAP 地址包含 64 位网络前缀 0000:5EFE
以及一个确认隧道端点地址的IPv4地址(如图所示)。
 
多协议标记交换(Multi-ProtocolLabelSwitching,简称MPLS)隧道
使用 MPLS 技术,孤立的 IPv6 域能够通过一个 MPLSIPv4 核心网络在彼此间进行通信。因
为 MPLS 转发是基于标记的基础之上,而非基于 IP 包头本身,所以这种实施需要的骨干网基础
设施升级大大减少,核心路由器的重新配置也有所下降,从而为部署IPv6提供了一个非常经济
合算的方法。此外, MPLS固有的×××与业务负载技术维护服务使IPv6网络能够通过支持IPv4×××
与MPLS-TE的基础架构并入×××或外部网络。
 
39.2 IPv6隧道配置
39.2.1双栈隧道
我们来看如下拓扑:
 
在R1上的配置示例如下:
r1(config)#interface    tunnel 0
r1(config-if)#ipv6    address 3ffe:b00:fff:2::1/64
r1(config-if)#tunnel source 132.214.1.1
r1(config-if)#tunnel destination 132.214.1.2
r1(config-if)#tunnel mode ipv6ip
r1(config-if)#exit
r1(config)#ipv6 route ::/0 tunnel 0
r1(config)#do show ipv6 interface tunnel0
Tunnel0 is up, line protocol is up
   IPv6 is enabled, link-local address is FE80::84D6:101 [TEN]
   No Virtual link-local address(es):
   Global unicast address(es):
     3FFE:B00:FFF:2::1, subnet is 3FFE:B00:FFF:2::/64 [TEN]
   Joined group address(es):
     FF02::1
     FF02::2
    FF02::1:FF00:1
    FF02::1:FFA8:7
   MTU is 1476 bytes
   ICMP error messages limited to one every 100 milliseconds
   ICMP redirects are enabled
   ICMP unreachables are sent
   ND DAD is enabled, number of DAD attempts: 1
   ND reachable time is 30000 milliseconds
   Hosts use stateless autoconfig for addresses.
39.2.2 6to4隧道
6to4 Tunnel是一种通过对IPv6报文进行 2次封装使其在IPv4网络中传输的技术,
 
其配置方法如下:
r1(config)#int loopback 0
r1(config-if)#ip addr 13
r1(config-if)#ip addr 132.214.1.10 255.255.255.0
r1(config-if)#int fa0/0
r1(config-if)#ipv6 address 2002::1/64
r1(config-if)#int tunnel1
r1(config-if)#no ip address
r1(config-if)#ipv6 unnumbered fastEthernet 0/0
r1(config-if)#tunnel source loopback 0
r1(config-if)#tunnel mode ipv6ip 6to4  
r1(config-if)#
r1(config)#ipv6 route 2002::/16 tunnel1
39.2.3 GRE ipv6隧道
GRE方式封装IPv6报文如下:
 
配置方法如下:
r1(config)#int tunnel 2
r1(config-if)#ipv6 address 3ffe:b00:ffff:2::1/64
r1(config-if)#tunnel source 206.123.31.200
r1(config-if)#tunnel destination 132.214.1.10
r1(config-if)#tunnel mode gre ipv6
39.2.4 ISATAPipv6隧道
站内自动隧道寻址协议(ISATAP: IntraSite Automatic Tunnel Addressing Protocol) 过渡技术就是采用了
双栈和隧道技术,并基于企业网和主机的一种过渡技术。  
ISATAP隧道不仅完成隧道功能,还可以通过IPv4网络承载IPv6网络的 ND协议,从而使跨IPv4网络
的设备仍然可以进行IPv6设备的自动配置。分散在IPv4网络中的各个IPv6孤岛主机通过ISATAP技术自
动获得地址并连接起来。 它使用特殊的地址格式: ::0:5efe:a.b.c.d 前64bit通过向ISATAP 发送请求获得,
后64比特中5efe为固定,a.b.c.d为接口的IPv4地址。
 
ISATAP在路由器上的配置如下:
Router(config)#int fa0/0
Router(config-if)#ip address 206.123.31.200 255.255.255.0
Router(config)#int tunnel0
Router(config-if)#tunnel source fastEthernet 0/0
Router(config-if)#tunen
Router(config-if)#tunn  
Router(config-if)#tunnel mode ipv6ip isatap
Router(config-if)#no ipv6 nd suppress-ra
Router(config-if)#ipv6 address 3ffe:b00:ffff:2::/64 eui-64
39.2.5自动IPv4兼容隧道
自动隧道的特点是能够完成点到多点的连接,手动隧道仅仅是点到点的连接。IPv4 兼容IPv6技术能
够使隧道自动生成。IPv4 兼容 IPv6 隧道只需要告诉设备隧道的起点,终点由设备自动生成——隧道的
端口使用IPv4 兼容IPv6地址。格式如下:
000…000(96bit) IPv4 地址

配置方式如下:
Router(config)#interface tunnel 0
Router(config-if)# tunnel source    fa 0/0
Router(config-if)# tunnel mode ipv6ip auto-tunnel
39.3 IPv6 NAT-PT
NAT-PT 是一种纯 IPv6 节点和 IPv4 节点间的互通方式,所有包括地址、协议在内的转换工作都由网
络设备来完成。支持 NAT-PT 的网关路由器应具有 IPv4 地址池,在从 IPv6 向 IPv4 域中转发包时使用,地
址池中的地址是用来转换 IPv6 报文中的源地址的。此外网关路由器需要 DNS-ALG 和 FTP-ALG 这两种常
用的应用层网关的支持,在 IPv6 节点访问 IPv4 节点时发挥作用。如果没有 DNS-ALG 的支持,只能实现
由 IPv6 节点发起的与 IPv4 节点之间的通信,反之则不行。如果没有 FTP-ALG 的支持,IPv4 网络中的主
机将不能用FTP软件从IPv6 网络中的服务器上下载文件或者上传文件,反之亦然。
39.3.1 NAT-PT分类
NAT-PT一共有 3种模式:
1. 静态NAT-PT,
它使用了一种静态的ipv6 和ipv4地址一一对应的处理方式。类似于IPv4 中的静态NAT
2. 动态NAT-PT
它使用一个IPv4地址池,然后再IPv6网络中动态的将预定义的NAT-PT前缀加到目前的IPv4地
址。这种模式需要一个IPv4 地址池来执行,类似于IPv4 的动态NAT
3. NAPT-PT
它使用多个有NAT-PT前缀的IPv6地址和一个源IPv4地址之间多对一的动态映射,   转换同时在
3层和UDP/TCP层上进行。它和IPv4中的PAT类似。
39.3.2 静态NAT-PT
配置方式如下:
Router(config)#int fa0/0
Router(config-if)#ip address 1.1.1.1 255.255.255.0
Router(config-if)#ipv6 nat
Router(config-if)#int fa0/1
Router(config-if)#ipv6 address 2001:aaaa::1/64
Router(config-if)#ipv6 nat
Router(config-if)#exit                        
Router(config)#ipv6 nat prefix 2001:aaaa:ffff::/96
Router(config)#ipv6 nat v6v4 source 2001:aaaa::1 1.1.1.1
Router(config)#ipv6 nat v4v6 source 1.1.1.1 2001:aaaa::1
Router(config)#do show ipv6 nat translation
Prot    IPv4 source                            IPv6 source
        IPv4 destination                  IPv6 destination
------    ------------------------              ------------------------
          1.1.1.1                                2001:AAAA::1
Tcp        1.1.1.1,80               2001:AAAA::1,80
            1.1.1.1,22               2001:AAAA::1,22
39.3.3 动态NAT-PT
Router(config)#int fa0/0
Router(config-if)#ip address 1.1.1.1 255.255.255.0
Router(config-if)#ipv6 nat
Router(config-if)#int fa0/1
Router(config-if)#ipv6 address 2001:aaaa::1/64
Router(config-if)#ipv6 nat
Router(config-if)#exit                        
Router(config)#ipv6 nat prefix 2001:aaaa:ffff::/96
Router(config)#ipv6 access-list ipv6 permit 2001:aaaa::/48 any
Router(config)#ipv6 nat v6v4 pool ipv4-pool 1.1.1.1 1.1.1.30 prefix-length 24
Router(config)#ipv6 nat v6v4 source list ipv6 pool ipv4-pool
39.3.4    NAPT-PT
Router(config)#int fa0/0
Router(config-if)#ip address 1.1.1.1 255.255.255.0
Router(config-if)#ipv6 nat
Router(config-if)#int fa0/1
Router(config-if)#ipv6 address 2001:aaaa::1/64
Router(config-if)#ipv6 nat
Router(config-if)#exit                        
Router(config)#ipv6 nat prefix 2001:aaaa:ffff::/96
Router(config)#ipv6 access-list ipv6 permit 2001:aaaa::/48 any
Router(config)#ipv6 nat v6v4 pool ipv4-pool 1.1.1.1 1.1.1.30 prefix-length 24
Router(config)#ipv6 nat v6v4 source list ipv6 pool ipv4-pool overload
 
 
 
 
 

主机间IPv6 6to4 tunnel 的配置
实验环境:
 
(1) 路由器1台,PC 2台;
(2) 专用配置电缆1根,网线2根;
 
 
实验组网图:
 
 
 
 
 
实验步骤:
 
win-xp  PC—A 的配置:
---------------------------------
(1)查看接口的索引号:
ipv6  if  <cr>
 
(2)给隧道接口配置IPv6 地址:
ipv6  adu  3/2002:ca70:a83:2::2  <cr>
 
(3)配置缺省路由:
ipv6  rtu  ::/0  3/2002:b01:102:2::2  <cr>
 
 
 
win-xp  PC—B 的配置:
---------------------------------
 
(1)查看接口的索引号:
ipv6  if  <cr>
 
(2)给隧道接口配置IPv6 地址:
ipv6  adu  3/2002:b01:102:2::2  <cr>
 
(3)配置缺省路由:
ipv6  rtu  ::/0  3/2002:ca70:a83:2::2  <cr>
router—A 的配置:
---------------------------------
router--A#
!
hostname router--A
!
interface Ethernet0/0
 ip address 11.1.1.1 255.255.255.0
!
interface Ethernet0/1
 ip address 202.112.10.130 255.255.255.128
!