在linux 下配置IPv6和TAHI(host部分)

在linux 下配置IPv6和TAHI(host部分) 
                                 2002.8.14 
? 说明: 
首先在NUT上安装linux,版本为Red Hat 7.3 ,其Kernel版本为2.4.18-3。 
TN上的操作系统仍为FreeBSD4.5。 
一、NUT的配置 
1) 配置IPv6 
由于linux的版本为最新的Red Hat7.3,所以在它的内部已经集成了对IPv6的支持。 
可以先利用ifconfig命令查看网络配置,其中可以看到inet xxx.xxx.xxx.xxx的字样, 
表示该网卡对应的IPv4地址(Link Local Address)。 
然后执行以下指令: 
    cd /etc/sysconfig 
    vi network 
可以看到文件network中的内容。只需在其中添加一行: 
NETWORKING_IPV6=”yes” 
    然后保存文件并重新启动机器(reboot)。这时网络接口将会完全自动的根据Rout 
er Advertisement配置好自己的IPv6地址。可用ifconfig再次查看,能够看到inet6 xx 
xx:xxxx……的字样,表示其IPv6的Link Local Address。 
**注(测试用,可跳过此步):如要测试NUT是否可以获得一个IPv6的Global Address, 
可以先将TN配置成路由器,方法如下: 
    修改/etc/rc.conf文件 
        使ipv6_gateway_enable=”YES” 
           … 
           radvd_enable=”YES” 
    然后重启TN,再重启NUT,用ifconfig查看NUT的网络设置,可以看到出现inet6 xx 
xx:xxxx ……Global Address  的字样,说明成功的获得了IPv6的全局地址。 
2)安装USAGI 
    首先从ftp://ftp.linux-ipv6.org/pub/usagi/stable/kit/下载适合于NUT配置的软 
件包,这里使用的是RedHat7.3+Kernel2.4.18-3,所以下载usagi-linux24-stable-200 
20408.tar.bz2即可。下载后放在某目录下:$SOMEWHERE 
    安装步骤如下:(以下内容可以在$SOMEWHERE/INSTALL.USAGI文档中找到) 
---------a. 解压缩 
         bzip2 –cd usagi-linux24-stable-20020408.tar.bz2 | tar xvf – 
    解压成功后可以在$SOMEWHERE目录下看到多了usagi目录 
---------b. 构建前的准备 
         cd $SOMEWHERE/usagi 
      make prepare TARGET= $(TARGET) 
其中$(TARGET)根据系统的配置来写,这里Kernel是2.4.18的,所以TARGET=linux24。 
如果kernel是2.2.XX的,则TARGET=linux22 
---------c. 构建USAGI内核 
     cd kernel 
  cd $(TARGET) 
  make mrproper 
  make menuconfig (为了正确的配置内核选项,打开 
$SOMEWHERE/usagi/CONFIG.$(TARGET)文件,按照其中的提示一步一步去设置,这里参照 
CONFIG.linux24) 
  make dep 
  make bzImage 
  make modules 
---------d. 安装USAGI内核 
    su  (变为root身份) 
    make install 
 make modules_install 
 vi /etc/grub.conf 
此时可以看到grub引导启动选项中多出了一项 RedHat+usagi,修改default值使启动时 
默认进入usagi内核。 
-------- e. 构建并安装用户应用程序 
     cd $SOMEWHERE/usagi/usagi 
  ./configure 
  make 
  su 
  make install 
至此usagi内核的基本安装已经完成,重新启动机器,在grub引导界面中选择含有usagi 
的一项启动即可。 
(注:实际测试过程中按照上面的配置测到stateless autoconfiguration的时候就会出 
现一些异常的Fail。这个问题一直没有解决,后来重新编译了linux原来的内核,原来F 
ail的测试例就能顺利通过了,具体方法如下: 
        进入kernel的目录: 
          cd /usr/src/linux2.4.18-3 
        设置各种选项 
          make xconfig 
        编译 
         make dep 
         make bzImage 
         make modules 
         make install 
         make modules_install 
然后重新启动,选择不含有usagi的那项RedHat7.3即可。) 
3)串行通信配置(在后面的串行连接设置中具体说明) 
二、  TN的配置 
(FreeBSD4.5已经集成了对IPv6的支持,所以下面只讲配置TAHI的过程) 
1)安装v6eval软件包 
1. 解压缩: 
执行下列命令 
        cd $SOMEWHERE  (进入包含v6eval包的目录) 
        tar zxvf v6eval-X.X.tar.gz  (X.X指不同的v6eval版本号) 
   解压缩成功后,在$SOMEWHERE目录下可看到解好的v6eval-X.X目录。 
2. 安装perl相关的模块: 
系统需要安装以下的软件包 
 - Perl5 
 - Expect 
 - IO-Stty 
 - IO-Tty 
其中除了Perl5是安装盘内带的,其他的软件包都只能够下载 
安装方法: 
在/usr/ports/lang/p5-Expect目录下执行make install 
如果/usr/ports/distfiles/目录里面有对应的软件包,系统将一次性安装好 
      - Expect、IO-Stty、IO-Tty 
如果该目录内没有对应的软件包,系统会自动连接ftp站点并且下载和安装的。在不使用 
的代理的情况下,可以在ftp://ftp.kddlabs.co.jp/lang/perl/CPAN/modules/by-modu 
le/找到这三个包。(这三个软件包已经下载,备份并且放好在系统制定的安装目录/us 
r/ports/distfiles/下以后安装的时候就直接放到/usr/ports/distfiles/就好了) 
3. 编译并安装v6eval包 
解包后,进入所在目录执行以下的步骤 
cd $SOMEWHERE/v6eval-X.X 
make 
make install(这步需要root权限) 
将会将v6eval成功的安装在/usr/local/v6eval目录 
然后切换到root或者su权限,安装bpf设备,执行以下步骤: 
cd /dev 
./MAKEDEV bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 
=============================================== 
? 软件配置 
需要修改tn.def和nut.def这两个文件,它们均在/usr/local/v6eval/etc目录下。目录 
里面还有tn.def.sample和nut.def.sample两个示例文件。通过它们来生成tn.def和nut 
..def,方法如下: 
用root权限分别执行 
 cd /usr/local/v6eval/etc 
 cp tn.def.sample tn.def 
 cp nut.def.sample nut.def 
对配置文件tn.def进行编辑: 
       vi tn.def 
(修改文件内容之前最好将原文件先做一备份,以便能够方便的恢复原始文件内容。对 
后面的步骤也是如此。) 
这个文件中我们需要进行的唯一的改动是: 
 ... 
 Link0 de0 00:00:00:00:01:00 
 ...   ~~~ 将预设的测试点的设备名称改成实际的设备名称,注意,是TN,也就是运行 
测试的机器的网卡的设备名称,该设备名称可以用ifconfig看网卡的设备名称,我们所 
使用的测试机的设备名称是vr0。 
同样,对配置文件nut.def进行编辑: 
        vi nut.def 
在文件中需要修改的有: 
        System   -----   要改成被测试机器的类型,这里设为linux-v6 
                        (这里很重要,关系到TN是否能够通过远程登录来重启NUT, 
如果不知道具体写什么,可以到/usr/v6eval/bin/目录下去找) 
        HostName  -----    被测试机器的名字 
        Type       -----    被测试机器的类型,这里改为host 
        User       ------   被测机器超级用户的用户名,一般为root 
        Password   ------   超级用户的密码,我们设为csnet1 
... 
     Link0 de0 00:00:92:a7:6d:f5 
 ...       ~~~ ~~~~~~~~~~~~~~~将预设的被测试点的设备名称和Mac地址改成实际的设 
备名称和Mac地址,注意,是被测试点,也就是被测试Ipv6实现的机器的网卡的设备名称 
和MAC。我们所使用的网卡设备名为vr0,物理地址可以通过在NUT上执行ifconfig来查看 
到。 
================================================= 
? 运行一些示例: 
v6eval包里面不包含IPv6一致性测试的文件,但是它自带了示例(sample)文件,可以运 
行一下看看以上的配置是否成功,执行步骤如下: 
     cd $SOMEWHERE/sample 
  /usr/local/v6eval/bin/autorun INDEX 
    然后可以打开生成的index.html文件来察看运行结果。 
    因为不是正式的测试,所以看到一些“FAIL”字样也没有关系。 
    (但如果配置成功的话,起码前面几个TEST都应该能够PASS) 
2)安装ct包(Conformance Test) 
首先,确认v6eval包已经安装完成后,才可以开始安装ct包。 
1. 解压缩: 
   执行  tar zxvf ct-X.X.tar.gz 
解压完毕后将会在当前目录下看到解好的ct-X.X目录。 
2. 安装ct包: 
进入所在目录执行以下的步骤 
cd ct-X.X 
su 
make install 
以上步骤将会将v6eval成功的安装在/usr/local/v6eval/ct目录 
但是注意不要在这个目录下进行测试。 
3. 备份ct包: 
      把上面的ct目录拷贝到任何一个其他的目录备份起来,执行: 
              cp -pR /usr/local/v6eval/ct  $SOMEWHERE/ct 
           chmod -R +w $SOMEWHERE/ct 
      然后在备份目录进行测试。 
3)其他配置 
(1)删除或者改名/etc/resolv.conf以防止发布影响测试的不必要的分组 
(2)修改文件/usr/local/v6eval/etc/tn.def 
   RemoteDevice 设为 /dev/cuaa0 
其他除link0一项外,都可以用tn.def.sample中的默认设置。 
Link0 后面必须写明网卡的设备名(vr0)和虚拟的MAC地址(00:00:00:00:01:00)。 
   另外,为了记录远程登陆的日志,将RemoteLogout的值设为1。这样在测试的过程中 
就能看到一些远程登陆过程的信息。 
(3)修改文件/usr/local/v6eval/etc/nut.def 
System设为linux-v6 
HostName 改为NUT的主机名称,如“iut.cs.tsinghua.edu.cn” 
Type 是指NUT的类型,这里将NUT配置为host 
(这里注意检查一下是否有多余的字符,如空格等,如有应当删掉) 
User 改为NUT的超级用户名,一般为root 
Password 改为超级用户的密码。 
Link0 后面填写网卡的设备名和NUT的MAC地址,例如: 
       Link0       vr0    00:90:27:14:ce:da(NUT的实际值) 
================================================ 
三、TN和NUT之间的串行连接配置 
1.硬配置: 
TN和NUT之间用串行对联线 
    COM1            COM1 
 TN -------------------- NUT 
         serial line 
        (Null-modem cable) 
串行线接法的示意图如下 
 1 DCD ********** open ********* 1 DCD 
 2 RXD ------------------------- 3 TXD 
 3 TXD ------------------------- 2 RSD 
 4 DTR ------------------------- 6 DSR 
 6 DSR ------------------------- 4 DTR 
 5 GND ------------------------- 5 GND 
 7 RTS ------------------------- 8 CTS 
 8 CTS ------------------------- 7 RTS 
 9 CE  ********** open ********* 9 CE 
2.对NUT进行软配置(Red Hat 7.3 --– Kernel 2.4.18-3) 
    (1)/etc/resolv.conf 
       删除或者改名/etc/resolv.conf以防止发布影响测试的不必要的分组 
     (2)TN机器超级用户root使用的login shell是 /bin/csh,确保可以正常登陆 
   (3) /etc/inittab 
    修改/etc目录下的inittab文件,在其中添加一行: 
S0:345:respawn:/sbin/agetty 9600 cua0 
    保存文件之后,运行init q即可更新。 
3.cu命令 
     要运行cu命令,用超级用户的权限在TN上执行 
  touch /var/log/aculog 
  chmod a+rw /var/log/aculog 
为检查是否配置成功,可以执行以下指令: 
cu -l /dev/cuaa0 
如果配置成功,将显示Connected,然后登入NUT机器,提示用户log in。 
(注意:要保证/var目录下有一定的剩余空间,否则会提示/var:file system full的信 
息,连接始终不成功。删掉一些东西之后问题即可解决。) 
为了能够以root身份登录,还需要修改/etc目录下的securetty文件的内容。在其中添加 
一行cua0即可,这样TN就可以使用超级用户root的身份登入NUT的系统了。 
如果配置不成功,可以更改一下/dev/cuaa0的修改权限设置,如执行 
chmod 777 /dev/cuaa0 
         (另外,这里注意TN中/etc目录下的ttys文件不应当修改,即不应该增加cua 
a0那一行。否则会出现错误。) 
然后重新启动TN和NUT,这样通过串行口的连接就设置好了。 
至此,一切配置完毕,接下来就可以运行ct测试集了,执行如下步骤: 
  cd $SOMEWHERE/ct 
 make clean   (此命令将会清除原来存在的全部测试结果记录,所以若要保存原来的 
结果,应当将该/ct下的内容复制到其他地方然后再进行新的测试) 
  make test 
测试需要几个小时的时间,测试结束后可以在$SOMEWHERE/ct/index.html查看所有测试 
的结果。 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值