TAHI环境搭建:IPv6 Ready Logo
环境准备:测试机TN、被测试机NUT
基于Mac的UTM(类似VMware Workstation的软件),创建两个虚拟机(网络模式均采用共享模式),一个作为测试机TN,另一个作为被测试机NUT(考虑host情况)。
测试机TN:参考官网TAHI IPv6 Conformance Test Suite,要求FreeBSD/i386 7.2-RELEASE or higher,这里我以FreeBSD/i386 8.0为例。
被测试机NUT:没有做特定要求,这里我以Ubuntu 22.04为例。
FreeBSD/i386 8.0:虚拟机镜像文件FreeBSD/i386 8.0
Ubuntu 22.04:虚拟机镜像文件Ubuntu 22.04
安装v6eval-3.3.5(测试机TN,参考目录v6eval-3.3.5中的文件INSTALL.v6eval)
- 从官网TAHI IPv6 Conformance Test Suite下载v6eval-3.3.5,保存至测试机TN,并使用tar命令解压缩。
- 参考目录v6eval-3.3.5中的文件INSTALL.v6eval所示步骤,安装v6eval-3.3.5。
(1)Installing perl-related modules
分别敲击下图所示命令依次安装。不过,需要注意的是,由于网络原因,可能无法成功抓取某些包,导致安装不成功,这时候就要自行从网络上下载相关包,然后手动导入相应目录,才能完成正常安装。
cd /usr/ports/lang/p5-Expect && make install
需导入包:
Expect-1.21.tar.gz
BSDPAN-5.8.9_20090303.tar.bz2
defined-or-5.8.9.bz2
IO-Tty-1.08.tar.gz
cd /usr/ports/security/p5-Digest-MD5 && make install
需导入包:
Digest-MD5-2.39.tar.gz
cd /usr/ports/textproc/p5-YAML && make install
需导入包:
YAML-0.70.tar.gz
相关包地址:如果下面网址链接失效,直接根据包名在谷歌中搜索即可。
BSDPAN-5.8.9_20090303.tar.bz2和defined-or-5.8.9.bz2
Digest-MD5-2.39.tar.gz
YAML-0.70.tar.gz
IO-Tty-1.08.tar.gz
Expect-1.21.tar.gz
(2)Compiling & installing the tool
(3)Make bpf special device
(4)Configure serial line(感觉我后面并没有用上serial line,但是我还是按照INSTALL.v6eval配置)
(5)Interface configuration(这里无需按照INSTALL.v6eval配置,可将ipv6_enable=“YES”,ifconfig_<Link0_device_name>=“DHCP”)
- 配置测试机TN
这里同样参考INSTALL.v6eval,主要就是写两个配置文件tn.def和nut.def。两个配置文件中各项信息的详细说明在INSTALL.v6eval中已给出。
cd /usr/local/v6eval/etc/
cp tn.def.sample tn.def
cp nut.def.sample nut.def
vim tn.def
vim nut.def
对于tn.def,主要的修改处:
RemoteDevice:参考Test IPv6 with TAHI,说这个是TN上用来通信的串口设备名称,可在目录dev下查看(我后面也给测试机TN配置了串行端口,查看的结果是cuau0,但是其实后面感觉并没有用到serial line,因此这里改不改我觉得也没啥问题)。
filter:这里我仅需执行ipv6的测试脚本,因此取消注释该行。
Link0:配置测试机TN的网卡名称,使用ifconfig查看,注意MAC地址不需要修改,用伪造的即可。
对于nut.def,主要的修改处:
Link0:配置被测试机NUT的网卡名称以及真实的IPv6地址(包括两个:link-local address和global address),在被测试机NUT上使用ifconfig查看。
安装ct-2.1.1.tar.gz(测试机TN,参考目录v6eval-3.3.5中的文件INSTALL.ct)
- 从官网TAHI IPv6 Conformance Test Suite下载ct-2.1.1.tar.gz,保存至测试机TN,并使用tar命令解压缩。
- Installing ct package
- Copying ct package
- 配置测试机TN
按照INSTALL.ct所示内容,配置测试机TN,主要也是写tn.def和nut.def两个配置文件,内容与INSTALL.v6eval差不多。其他设置根据需要自行参考INSTALL.ct。 - Run the Tests
安装Self_Test_5-0-7.tgz
从IPv6 Ready Logo Phase-2下载Self_Test_5-0-7.tgz,保存至测试机TN,并使用tar命令解压缩。之后,进入目录Self_Test_5-0-7,进行测试。
如果测试所有项,则:
cd Self_Test_5-0-7
make clean
make ipv6ready_p2_host
如果分项测试,比如spec,则:
cd Self_Test_5-0-7/spec.p2
make clean
make ipv6ready_p2_host
如果针对spec的17~24项测试,则:
cd Self_Test_5-0-7/spec.p2
make clean
make AROPT="-s 17 -e 24" ipv6ready_p2_host