您的位置:首页 > 运维架构 > Linux

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

2010-06-08 23:00 239 查看
在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查看所有测试
的结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: