新聞中心
學(xué)習(xí)如何使用 Quagga 套件的路由協(xié)議去管理動態(tài)路由。

創(chuàng)新互聯(lián)公司長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為巴東企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站制作,巴東網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
迄今為止,本系列文章中,我們已經(jīng)在 linux 局域網(wǎng)路由新手指南:第 1 部分 中學(xué)習(xí)了復(fù)雜的 IPv4 地址,在 Linux 局域網(wǎng)路由新手指南:第 2 部分 中學(xué)習(xí)了如何去手工創(chuàng)建靜態(tài)路由。
今天,我們繼續(xù)使用 Quagga 去管理動態(tài)路由,這是一個安裝完后就不用理它的的軟件。Quagga 是一個支持 OSPFv2、OSPFv3、RIP v1 和 v2、RIPng、以及 BGP-4 的路由協(xié)議套件,并全部由 zebra 守護(hù)程序管理。
OSPF 的意思是最短路徑優(yōu)先Open Shortest Path First。OSPF 是一個內(nèi)部網(wǎng)關(guān)協(xié)議(IGP);它可以用在局域網(wǎng)和跨因特網(wǎng)的局域網(wǎng)互聯(lián)中。在你的網(wǎng)絡(luò)中的每個 OSPF 路由器都包含整個網(wǎng)絡(luò)的拓?fù)?,并計算通過網(wǎng)絡(luò)的最短路徑。OSPF 會通過多播的方式自動對外傳播它檢測到的網(wǎng)絡(luò)變化。你可以將你的網(wǎng)絡(luò)分割為區(qū)域,以保持路由表的可管理性;每個區(qū)域的路由器只需要知道離開它的區(qū)域的下一跳接口地址,而不用記錄你的網(wǎng)絡(luò)的整個路由表。
RIP,即路由信息協(xié)議,是一個很老的協(xié)議,RIP 路由器向網(wǎng)絡(luò)中周期性多播它的整個路由表,而不是像 OSPF 那樣只多播網(wǎng)絡(luò)的變化。RIP 通過跳數(shù)來測量路由,任何超過 15 跳的路由它均視為不可到達(dá)。RIP 設(shè)置很簡單,但是 OSPF 在速度、效率以及彈性方面更佳。
BGP-4 是邊界網(wǎng)關(guān)協(xié)議版本 4。這是用于因特網(wǎng)流量路由的外部網(wǎng)關(guān)協(xié)議(EGP)。你不會用到 BGP 協(xié)議的,除非你是因特網(wǎng)服務(wù)提供商。
準(zhǔn)備使用 OSPF
在我們的小型 KVM 測試實驗室中,用兩臺虛擬機(jī)表示兩個不同的網(wǎng)絡(luò),然后將另一臺虛擬機(jī)配置為路由器。創(chuàng)建兩個網(wǎng)絡(luò):net1 是 192.168.110.0/24 ,而 net2 是 192.168.120.0/24。啟用 DHCP 是明智的,否則你要分別進(jìn)入這三個虛擬機(jī),去為它們設(shè)置靜態(tài)地址。Host 1 在 net1 中,Host 2 在 net2 中,而路由器同時與這兩個網(wǎng)絡(luò)連接。設(shè)置 Host 1 的網(wǎng)關(guān)地址為 192.168.110.126,Host 2 的網(wǎng)關(guān)地址為 192.168.120.136。
- Host 1: 192.168.110.125
- Host 2:192.168.120.135
- Router:192.168.110.126 和 192.168.120.136
在路由器上安裝 Quagga。在大多數(shù) Linux 中它是 quagga 軟件包。在 Debian 上還有一個單獨的文檔包 quagga-doc。取消 /etc/sysctl.conf 配置文件中如下這一行的注釋去啟用包轉(zhuǎn)發(fā)功能:
net.ipv4.ip_forward=1
然后,運行 sysctl -p 命令讓變化生效。
配置 Quagga
查看你的 Quagga 包中的示例配置文件,比如,/usr/share/doc/quagga/examples/ospfd.conf.sample。除非你的 Linux 版本按你的喜好做了創(chuàng)新,否則,一般情況下配置文件應(yīng)該在 /etc/quagga 目錄中。大多數(shù) Linux 版本在這個目錄下有兩個文件,vtysh.conf 和 zebra.conf。它們提供了守護(hù)程序運行所需要的最小配置。除非你的發(fā)行版做了一些特殊的配置,否則,zebra 總是首先運行,當(dāng)你啟動 ospfd 的時候,它將自動啟動。Debian/Ubuntu 是一個特例,稍后我們將會說到它。
每個路由器守護(hù)程序?qū)⒆x取它自己的配置文件,因此,我們必須創(chuàng)建 /etc/quagga/ospfd.conf,并輸入如下內(nèi)容:
!/etc/quagga/ospfd.conf
hostname router1
log file /var/log/quagga/ospfd.log
router ospf
ospf router-id 192.168.110.15
network 192.168.110.0/0 area 0.0.0.0
network 192.168.120.0/0 area 0.0.0.0
access-list localhost permit 127.0.0.1/32
access-list localhost deny any
line vty
access-class localhost
你可以使用感嘆號(!)或者井號(#)去注釋掉這些行。我們來快速瀏覽一下這些選項。
hostname可以是你希望的任何內(nèi)容。這里不是一般意義上的 Linux 主機(jī)名,但是,當(dāng)你使用vtysh或者telnet登入時,你將看到它們。log file是你希望用于保存日志的任意文件。router指定路由協(xié)議。ospf router-id是任意的 32 位數(shù)字。使用路由器的一個 IP 地址就是很好的選擇。network定義你的路由器要通告的網(wǎng)絡(luò)。access-list限制vtysh登入,它是 Quagga 命令行 shell,它允許本地機(jī)器登入,并拒絕任何遠(yuǎn)程管理。
Debian/Ubuntu
在你啟動守護(hù)程序之前,Debian/Ubuntu 相對其它的 Debian 衍生版可能多需要一步到多步。編輯 /etc/quagga/daemons ,除了 zebra=yes 和 ospfd=yes 外,使其它所有的行的值為 no。
然后,在 Debian 上運行 ospfd 去啟動 Quagga:
# systemctl start quagga
在大多數(shù)的其它 Linux 上,包括 Fedora 和 openSUSE,用如下命令啟動 ospfd:
# systemctl start ospfd
現(xiàn)在,Host 1 和 Host 2 將可以互相 ping 通對方和路由器。
這里用了許多篇幅去描述非常簡單的設(shè)置。在現(xiàn)實中,路由器將連接兩個交換機(jī),然后為連接到這個交換機(jī)上的所有電腦提供一個網(wǎng)關(guān)。你也可以在你的路由器上添加更多的網(wǎng)絡(luò)接口,這樣你的路由器就可以為更多的網(wǎng)絡(luò)提供路由服務(wù),或者也可以直接連接到其它路由器上,或者連接到連接其它路由器的骨干網(wǎng)絡(luò)上。
你或許不愿意如此麻煩地手工配置網(wǎng)絡(luò)接口。最簡單的方法是使用你的 DHCP 服務(wù)器去宣告你的路由器。如果你使用了 Dnsmasq,那么你就有了一個 DHCP 和 DNS 的一體化解決方案。
還有更多的配置選項,比如,加密的密碼保護(hù)。更多內(nèi)容請查看 Quagga 路由套件 的官方文檔。
網(wǎng)頁標(biāo)題:使用Quagga實現(xiàn)Linux動態(tài)路由
鏈接地址:http://m.fisionsoft.com.cn/article/dpdpsps.html


咨詢
建站咨詢
