免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1324 | 回复: 0
打印 上一主题 下一主题

在linux 下配置IPv6《转》 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-14 14:10 |只看该作者 |倒序浏览
在linux 下配置IPv6和TAHI(host部分)


? 说明:

首先在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

xxxxx……的字样,表示其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

xxxxx ……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查看所有测试
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP