深入解析使用Linux+Zebra構建軟路由系統
Zebra的基本設置
Zebra無后臺交互程序是實實在在的路由管理程序。它控制著其它的軟件模塊,同時還提供與客戶交互的主端口。Zebra RPM套件中包括一個完整的參考設置文件。但是,我們只需要建立一個包括以下內容的/etc/zebra/zebra.conf文件就可以對Zebra進行設置了。
最簡單的Zebra設置文件:
以下是代碼片段:
- hostname speedmetal
- password zebra
- enable password zebra
無論何時,當你進入交互式設置模式時,Hostname指令將指定路由器的名稱。該名稱可以任意設置,不一定和主機的名稱相符。Password指令則確定交互式Zebra終端的登陸密碼。/etc/zebra/zebra.conf建立后,我們可以執(zhí)行下列指令來啟動zebra無后臺交互程序:
以下是代碼片段:
- # service zebra start
現在我們可以通過連接機器的2601端口進入Zebra交互對話模式。Zebra對話模式實例:
以下是代碼片段:
- [root@speedmetal zebra]# telnet 127.0.0.1 2601
- Trying 127.0.0.1...
- Connected to 127.0.0.1.
- Escape character is '^]'.
- Hello, this is zebra (version 0.93b).
- Copyright 1996-2002 Kunihiro Ishiguro.
- User Access Verification
- Password: zebra
- speedmetal> enable
- Password: zebra
- speedmetal# ?
- configure Configuration from vty interface
- copy Copy configuration
- debug Debugging functions (see also 'undebug')
- disableTurn off privileged mode command
- endEnd current mode and change to enable mode.
- exit Exit current mode and down to previous mode
- help Description of the interactive help system
- list Print command list
- no Negate a command or set its defaults
- quit Exit current mode and down to previous mode
- show Show running system information
- terminal Set terminal line parameters
- whoDisplay who is on vty
- write Write running configuration to memory, network, or terminal
- speedmetal#
我們很容易就能對此了如指掌,因為可以通過點擊屏幕上的?鍵隨時了解某一命令的含義。如果有過配置Cisco路由 器的經驗,相信對這一設置過程并不陌生。到目前為止,我們只完成了Zebra自身的設置和運行,對各種協議的設置還沒有開始,如果你準備好了,就讓我們繼續(xù)吧。
#p#
2. 網絡規(guī)劃
路由器所在的Linux分別有兩個網卡,ethO:192.168.1.1和eth1:192.168.10.1。客戶端A 所在網段為192.168.1.0/24,IP為192.168.1.2??蛻舳薆所在網段為192.168.10.0/24,IP為192.168.10.2。
3. 配置路由器的網絡設置
因為路由器所在Linux必須虛擬出兩塊網卡, 分別做為兩個不同網段的網關,所以在下面的目錄中會看到有兩個文件,分別是ifcfg-eth0和ifcfgethl。它們分別是兩個網卡的配置文件。首先編輯ifcfg-eth0,讓它的地址為192.168.1.1, 詳細內容如下:
以下是代碼片段:
- [root@rhel5~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0
- DEVICE=eth0
- ONBOOT=yes
- BOOTPROTO=static
- IPADDR=192.168.1.1
- NETMASK=255.255.255.0
其次編輯ifcfg-eth1,讓它的地址為192.168.10.1,詳細內容如下:
以下是代碼片段:
- DEVICE=eth1
- ONBOOT=yes
- BOOTPROTO=static
- IPADDR=192.168.10.1
- NETMASK=255.255.255.0
現在重新啟動一下網絡服務,讓網絡配置生效。如果以上操作都正確的話,那么下面就來安裝和配置路由器。首先我們需要下載一個zebra-0.95b-1.i386.rpm,Linux下的路由器程序, 在RedHat的光盤里有這個RPM包。如果大家用的是別的版本Linux,可以到http://www.findrpm.com 里下載。到此為止,zebra成功安裝完畢。下面再檢查一下zebra是否真的安裝成功:
以下是代碼片段:
- [root@rhel5 my]#rpm -aq|grep zebra
- zebra-0.95b-1
上面的結果說明已經安裝成功了?,F在啟動zebra:
以下是代碼片段:
- [rot@rhel5 my]#service zebra start
- [rot@rhel5 my]#service ripd start
ripd進程主要是用來使用zebra配置支持RIP路由協議的,所以不但要啟動zebra, 還要同時啟動ripd。如果大家想在下次開機后自動運行路由器,那么執(zhí)行如下命令:
以下是代碼片段:
- [root@rhel5 my]chkconfig zebra on
- [root@rhel5 my]chkconfig ripd on
下面來看一下zebra的配置文件:
以下是代碼片段:
- [root@rhel5 zebra]#ls
- ripd.conf vtysh.conf zebra.conf
上面代碼中,vtysh.conf是配置zebra所用的Shell配置文件,zebra.conf是zebra的主配置文件。為了使192.168.1.0/24和192.168.10.0/24網段機器能夠互相通信,需要進行相關的配置。大家如果用過Cisco路由器的話就會很容易用zebra, 因為它們的命令幾乎都是一樣的。下面就開始配置客戶端。
#p#
4.配置客戶端的網絡設置
首先配制客戶端A 。修改ifcfg-eth0, 內容如下:
以下是代碼片段:
- DEVICE=eth0
- ONBOOT=yes
- BOOTPROTO=static
- IPADDR=192.168.1.2
- netmask=255.255.255.0
- GATWAY=192.168.1.1
需要注意的是, 一定要把網關設置成我們剛才路由器的192.168.1.1網關。
以下是代碼片段:
- [root@rhel5 my]#service network restart
重新啟動網絡服務后,客戶A 的配置就算完成了。其次配置客戶端B。配置B的方法其實和上面一樣,不過有兩個區(qū)別。客戶端B的IP設置成192.168.10.2,網關改成192.168.10.1。就這兩點有所不同。
【編輯推薦】