linux系统安装iprouter

时间:2024-03-12 13:37:37

在上文中将mpls编译进了linux内核,现在需要安装iprouter,安装过程如下:

1) 下载两个文件iproute2-2.6.39.tar.gz和iproute2-v2.6.39-mpls.patch。

iproute2-2.6.39.tar.gz下载地址:

http://pkgs.fedoraproject.org/repo/pkgs/iproute/iproute2-2.6.39.tar.gz/8a3b6bc77c2ecf752284aa4a6fc630a6/iproute2-2.6.39.tar.gz

iproute2-v2.6.39-mpls.patch下载地址:

http://ftp.jaist.ac.jp/pub/sourceforge/m/project/mp/mpls-linux/mpls-linux/Patches/iproute2-v2.6.39-mpls.patch

 

2)将iprouter解压到/usr/src/linux-2.6.35目录下,同时将iproute2-v2.6.39-mpls.patch也拷贝到该目录下。

$ sudo cp iproute2-2.6.39.tar.gz /usr/src/linux-2.6.35

$ sudo cp iproute2-v2.6.39-mpls.patch /usr/src/linux-2.6.35

$ cd /usr/src/linux-2.6.35

$ sudo tar –zxf iproute2-2.6.39.tar.gz

 

3)将patch文件打进iprouter中

# cd /usr/src/linux-2.6.35/iprouter2-2.6.39

# patch–p1 < ../iproute2-v2.6.39-mpls.patch

 

4)对iprouter进行编译

$ cd /usr/src/linux-2.6.35/iprouter2-2.6.39

$ sudo ./configure

///***********此过程可能出现的问题*********

Problem:iptables modules directory: not found!

Solution: 将configure文件中的以下部分:

then

Ehco“using iptables”

TABLES=”iptables”       -------------->将此处的iptables改成xtables

Else

       TABLES=”xtables”   -------------->将此处的xtables改成iptables(此处也可以不改)

****************************///

 

$ sudo make

///*********可能出现的问题***********

在执行此命令之前需要先安装bison,flex。

sudo apt-get install bison
sudo apt-get install flex

Problem: fatal error: db_185.h: no such file or directory

Solution:

安装db-4.6.18.tar.gz,下载链接:

http://pkgs.fedoraproject.org/repo/pkgs/pam/db-4.6.18.tar.gz/95768bd92fd48951a427fbab37b9088f/db-4.6.18.tar.gz

下载完成后解压安装,其过程如下:

$ tar -zxf db-4.6.18.tar.gz
$ cd db
-4.6.18
$ cd build_unix
$
sudo ../dist/configure --prefix=$INSTALLPATH --enable-compat185
$
sudo make
$ sudo make install

查找文件:

$ sudoupdated        //在查找文件之前先手动更新索引
$ locate db_185.h //查找db_185.h文件

 

Problem:error: db_185.h: No such file or directory

Solution:

编译MakeFile文件,然后找到:

#Path to db_185.h include

DBM_INCLUDE:={ROOTDIR}/usr/include      

//将此路径进行修改,改成db_185.h所在的目录,db_185.h所在的目录可以使用locate定位,假如db_185.h的所在位置为:/usr/src/db-4.6.18/build_unix/db_185.h,则这时将以上代码改为:

DBM_INCLUDE:=/usr/src/db-4.6.18/build_unix/

****************************///

 $ sudo make install

最后插入完成,现在可以测试一下安装的mpls是否成功,可以在终端输入: mpls, 若找不到此命令,则没有安装成功,若有此命令,但也不一定成功。

现在可以进行一些简单的配置来测试一下。使用ifconfig查看网卡配置。对一个路由器进行配置的样例 如下所示:

$ifup eth1
$
ifconfig eth1 192.168.1.2/24

$mpls nhlfe add key 0 instructions push gen 100 nexthop eth1 ipv4 192.168.2.2
$ip route add 192.168.7.0/24 via 192.168.2.2 mpls 0x02    //每次输入这个命令,电脑立刻死机,可能是内核冲突,此问题还未解决
$mpls labelspace set dev eth1 labelspace 0
$mpls ilm add label gen 200 labelspace 0
$mpls nhlfe add key 0 instructions nexthop eth0 ipv4 192.168.1.1
$mpls xc add ilm_label gen 200 ilm_labelspace 0 nhlfe_key 0x03