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