最近有個項目需要基於IS-IS路由協議做開發。所有找到了quagga這個開源的路由軟體,好像目前只有它是支援IS-IS協議並且開源的路由軟體了。但是quagga本身有很多的bug,並且對IS-IS的支援不是太好,bug更多(沒辦法,好像IS-IS大家用的挺少的)。
這裡推薦一個項目——OSR(open source routing)。這裡簡單介紹一下OSR,OSR是一個基於quagga的開源項目,我認為實質上對是quagga的維護,為quagga社區貢獻代碼。它修改了quagga的很多bug,並添加了一些新的feature。詳細資料大家可以參考他們的網站:http://opensourcerouting.org/(官網)和http://jira.isc.org:8090/display/osr/Home(開發)。
我使用的liunx系統是Ubuntu12.4,quagga的依賴的很多工具包都是比較舊的版本,所以需要手動下載這些版本的工具進行安裝,而不是使用apt-get。
首先從OSR提供的git連結上下載quagga的源碼:https://github.com/opensourcerouting/quagga.git,下載到/opt目錄下。
源碼下載完成後,最好看一下它的安裝文檔,INSTALL.quagga.txt。
開啟源碼目錄後會發現沒有configure檔案和makefile檔案,因為這幾個檔案是使用bootstrap.sh來產生。開啟終端,進入到源碼目錄,鍵入如下命令:
./bootstrap.sh
這時會報錯,是因為安裝檔案中提到的那些工具沒有安裝,或者安裝版本不對。
解決辦法:
安裝上述工具之後,可能仍然不能正確安裝quagga,如果出現類似與規則錯誤,則需要案子POSIX-compliant shell。按照quagga安裝文檔的描述:“Quagga expects a POSIX.2 compliant system”。這裡我了一個ubuntu下POSIX-comliant的shell,地址:https://apps.ubuntu.com/cat/applications/precise/dash/。點擊中間的安裝按鈕,ubuntu會自動使用軟體中心開啟。在終端中使用sh命令啟動。
OK,現在應該可以使用