与实验1一样,配置好Host1和Host2的IPv6地址,并且按照实际IPv4网络情况,配置好网络接口的IPv4地址。之后,我们需要分别为Host1和Host2配置隧道,两隧道的端地址分别为Host1和Host2的IPv4地址。具体配置命令格式如下:
ifconfig sit0 up ↙
ifconfig sit0 inet6 tunnel ::202.115.12.218 ↙
ifconfig sit1 up ↙
route -inet6 add 3ffe:3203:1001::/48 dev sit1 ↙
其中第二步中的tunnel地址是与对方主机的IPv4兼容的IPv6地址,最后一步添加的网络为对方主机网络接口所在网络,这样,相互的隧道就连通了。隧道0(sit0)为自动隧道(Automatic Tunneling),隧道1(sit1)为手动隧道(Configured Tunneling),在启动了sit0之后,可以直接ping通对方主机的IPv4兼容IPv6地址,但是不能ping通对方的全球IPv6地址,因为IPv4 Router不负责转发IPv6报文,只有在手动配置了sit1之后,跨越了IPv4网络的IPv6主机之间才能进行通信。
C.IPv6/IPv4主机接入6bone网络
我们在完成以上实验的基础上,具有了IPv6主机和网络配置基本理论和实践经验,就准备接入IPv6实验网6bone,首先通过主机与电子科大网络中心的IPv6路由器相接,连入CERNET IPv6实验床,再通过该网络与世界IPv6实验网6bone相接。根据网络分析,我们制定了如图3所示的网络接入方案:
首先配置好Host1和Host2的IPv4网络信息,再向电子科大网络中心申请分配全球IPv6地址,申请隧道,网络中心按照Host1和Host2的IPv4地址,手动配置分配两隧道,并设置了静态路由信息。按照实验2的配置步骤,分别为Host1和Host2配置好IPv6地址,并且与网络中心的Nokia IPv6路由器建立好隧道,基本操作与实验2相似。完成如上所述配置操作之后,我们首先ping电子科大网络中心IPv6路由器的IPv6地址,实验成功,IPv6网络连通了,然后ping CERNET IPv6实验网的主机,利用finger6,FTP6浏览6bone网络中其他网络资源,实验成功,我们与CRENET IPv6实验床和国际IPv6实验网6bone实现了连网。
D.Pv6/IPv4路由器研究
在成功配置了IPv6主机并且接入了国际IPv6之后,我们尝试组建自己的IPv6网络,具体组网如图4所示:
由于没有现成的IPv6路由器,就尝试利用Linux操作系统,配置成IPv6路由器,具体工作如下:我们就在支持IPv6的Linux主机上,配置多个网卡,为每个网卡设置好IPv6地址,在操作系统中编辑新的配置文件和Script文件,主要为network-ip6、 network-ip6.conf 、network-ip6.init、tunnels-ip6.init和radvd.init几个文件。具体编辑细节参看Peter Bieringer 2000-05-19所著的IPv6 & Linux - HowTo 3.14版。之中较为关键的是 /etc/sysconfig/network-ip6文件,需要设置IP6FORWARDING=yes,IP6GATEWAYCONFIG=yes,IP6ROUTEFILE=/etc/sysconfig/network-ip6.conf,这样设置之后,从一个网络接口发送来的IPv6报文就可以转发到另外的网络接口,完成路由转发功能,完成路由器基本功能,再启动其他路由协议,完成相关工作,到此,我们的IPv6路由器就安装成功了,如果还要安装其他的IPv6路由协议,可以参照相应的文档。
参考文献
1. RFC1933 IPv6主机和路由器迁移机制;
2. RFC2460 IPv6规范说明;
3. RFC2461 IPv6邻居发现协议;
4. RFC2462 IPv6无状态地址自动配置协议;
5. RFC2463 ICMPV6协议;
6. RFC2464 IPv6分组在以太网上的传输;
7. RFC2471 IPv6实验地址分配;