一:原理:軟路由是指利用桌上型電腦或伺服器配合軟體形成路由解決方案,主要靠軟體的設定,達成路由器的功能。軟路由通常使用普通計算機充當,使用通用的作業系統,如linux或windows,是以路由設定事實上是windows或 linux的設定,或者是對計算機的配置,現在以Linux主機為例實作路由功能。
二:案例:拓撲方案如圖所示。
1:在Linux主機上首先要打開資料包轉發功能
[root@lyt ~]# sysctl –p #讓上一步修改的檔案生效
2:修改網卡eth1和eth0 如圖
<a href="http://blog.51cto.com/attachment/201208/002016874.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201208/002117359.png" target="_blank"></a>
[root@lyt ~]# service network restart #重新開機網絡服務
臨時添加路由條目:
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檔案中
<a href="http://blog.51cto.com/attachment/201208/002725697.png" target="_blank"></a>
2:通過建立路由表來實作永久性的添加路由條目:
[root@lyt ~]# cd /etc/sysconfig/network-scripts/
三:源碼安裝zebra實作動态路由:
zebra簡介:zebra是一個路由軟體包,提供基于TCP/IP的路由服務,路由協定支援ripv1,ripv2,ripng,ospfv2,ospfv3,bgp-4,和bgp-4+,zebra也支援bgp路由反射器和路由伺服器的行為。
拓撲方案:
<a href="http://blog.51cto.com/attachment/201208/205035364.png" target="_blank"></a>
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配置腳本如圖:
<a href="http://blog.51cto.com/attachment/201208/205146542.png" target="_blank"></a>
[root@lyt ftp]# service vsftpd start #啟動ftp伺服器
2:使用匿名登入ftp的方式将源檔案倒入虛拟機:
<a href="http://blog.51cto.com/attachment/201208/205254370.png" target="_blank"></a>
[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 #編輯該檔案如圖:
<a href="http://blog.51cto.com/attachment/201208/205420822.png" target="_blank"></a>
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
<a href="http://blog.51cto.com/attachment/201208/205535621.png" target="_blank"></a>
[root@lyt etc]# ripd –d #啟用rip協定
<a href="http://blog.51cto.com/attachment/201208/205642747.png" target="_blank"></a>
本文轉自 liuyatao666 51CTO部落格,原文連結:http://blog.51cto.com/5503845/963774,如需轉載請自行聯系原作者