qingmosk 发表于 2013-6-13 15:30:16

Linux下实现路由功能

一:原理:软路由是指利用台式机或服务器配合软件形成路由解决方案,主要靠软件的设置,达成路由器的功能。软路由通常使用普通计算机充当,使用通用的操作系统,如linux或windows,因此路由设置事实上是windows或 linux的设置,或者是对计算机的配置,现在以Linux主机为例实现路由功能。二:案例:拓扑方案如图所示。在Linux主机上有双网卡eth0和eth1,eth1对应外网接口,eth0对应内网接口,在Linux主机上通过配置路由功能实现到达192.168.1.0/24和192.168.2.0/24网络http://img1.51cto.com/attachment/201208/001723126.png1:在Linux主机上首先要打开数据包转发功能# vim /etc/sysctl.conf #编辑该文件如图:http://img1.51cto.com/attachment/201208/001900801.png# sysctl –p #让上一步修改的文件生效2:修改网卡eth1和eth0 如图http://img1.51cto.com/attachment/201208/002016874.pnghttp://img1.51cto.com/attachment/201208/002117359.png# service network restart #重启网络服务3:# route –n #查看路由表信息,如图:http://img1.51cto.com/attachment/201208/002248201.png临时添加路由条目:1:使用route add 将路由条目临时性的添加进入路由表中:(一旦系统重启,则该路由条目就不存在了)# route add -net 192.168.1.0/24 gw 192.168.10.1 #将192.168.1.0/24网络添加到路由表中,gw网关(也即下一跳)192.168.10.1
# route add -net 192.168.2.0/24 gw 192.168.10.1 #将192.168.2.0/24网络添加到路由表中,gw网关(也即下一跳)192.168.10.1查看路由表信息:http://img1.51cto.com/attachment/201208/002453457.png2:使用route del将临时添加的路由条目删除:# route del -net 192.168.2.0/24 gw 192.168.10.1
# route del -net 192.168.1.0/24 gw 192.168.10.1查看路由表信息:删除成功http://img1.51cto.com/attachment/201208/002611454.png永久性的添加路由条目:1:# echo "route add -net 192.168.1.0/24 gw 192.168.10.1">>/etc/rc.local #将路由条目追加到开机脚本/etc/rc.local文件中http://img1.51cto.com/attachment/201208/002725697.png2:通过创建路由表来实现永久性的添加路由条目:# cd /etc/sysconfig/network-scripts/
# vim route-eth1 #创建route-eth1路由表,eth1表示公司内网的网络出口网卡,编辑路由表如图:http://img1.51cto.com/attachment/201208/002829162.png# service network restart #重启网络服务查看路由表信息:条目添加成功http://img1.51cto.com/attachment/201208/002940910.png 三:源码安装zebra实现动态路由:zebra简介:zebra是一个路由软件包,提供基于TCP/IP的路由服务,路由协议支持ripv1,ripv2,ripng,ospfv2,ospfv3,bgp-4,和bgp-4+,zebra也支持bgp路由反射器和路由服务器的行为。拓扑方案:http://img1.51cto.com/attachment/201208/205035364.png1:# mkdir /mnt/cdrom# mount /dev/cdrom /mnt/cdrom/# cd /mnt/cdrom/Server/# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm          #安装ftp服务器# cd /var/ftp/# chmod o+w pub      #将pub目录的其他用户操作权限加上w(可写入)# vim /etc/vsftpd/vsftpd.conf    #编辑vsftp配置脚本如图:http://img1.51cto.com/attachment/201208/205146542.png# service vsftpd start #启动ftp服务器2:使用匿名登录ftp的方式将源文件倒入虚拟机:http://img1.51cto.com/attachment/201208/205254370.png# rpm -qa |grep gcc            #安装之前需要查看gcc环境是否安装# mv /var/ftp/pub/zebra-0.95a.tar.gz /usr/local/etc/       #将zebra软件包移动到/usr/local/etc下# cd /usr/local/etc/# tar -zxvf zebra-0.95a.tar.gz    #使用tar命令拆包解压缩# cd zebra-0.95a   #切换到拆包解压后的目录文件里# ./configure   #检测工作环境,并且产生makefile文件# make            #调用上一步的makefile文件来生成 .o(目标文件),然后生成一些可执行文件,配置文件文档,库文件以及头文件等# make install# vim /etc/services #编辑该文件如图:http://img1.51cto.com/attachment/201208/205420822.png3:# cd /usr/local/etc/# cp zebra.conf.sample zebra.conf       #创建zebra文件,实现路由功能后zebra为路由器的登录密码# cp bgpd.conf.sample bgpd.conf      #创建bgp的配置文件# cp ospf6d.conf.sample ospf6d.conf      #创建ospf6的配置文件# cp ospfd.conf.sample ospfd.conf    #配置ospf的配置文件# cp ripd.conf.sample ripd.conf         #配置rip的配置文件# cp ripngd.conf.sample ripngd.conf #配置ripng的配置文件4:# zebra –d #启用zebrahttp://img1.51cto.com/attachment/201208/205535621.png# ripd –d #启用rip协议http://img1.51cto.com/attachment/201208/205642747.png


http://bbs.hh010.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 qingmosk的微博
页: [1]
查看完整版本: Linux下实现路由功能