天天看點

Linux下實作路由功能

 一:原理:軟路由是指利用桌上型電腦或伺服器配合軟體形成路由解決方案,主要靠軟體的設定,達成路由器的功能。軟路由通常使用普通計算機充當,使用通用的作業系統,如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"&gt;&gt;/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,如需轉載請自行聯系原作者

繼續閱讀