在一個較複雜的區域網環境裡一定會用到動態和靜態結合的方式分配IP位址,如何管理好這些IP位址資源成為了網絡管理員的重要責任,因為在管理IP位址時,有些需要對應到使用人,有些需要綁定MAC地址,有些需要暫時保留,隨著區域網規模日益擴大,有線網絡用戶數和無線網絡用戶數成倍地增長,除了科學地分配IP位址,還需要動態交互查詢和實時監控IP位址資源池的運行狀態,複雜的需求為網絡管理工作帶來挑戰,傳統的手工記錄電子表格處理方法無法應對這樣的龐大需求,且具有一定的安全隱患,急需要有一個管理系統科學地處理這些需求。
在處理這些需求時,首先考慮使用通用性最佳的B/S架構,這樣可以充分利用其使用方便、維護簡單的特性,不僅管理員可在其之上進行管理工作,普通用戶也可在其上進行IP位址申請操作。除此以外,考慮到現有的身份認證平臺,該系統還應能結合AD或LDAP,讓管理員可使用現有的帳號密碼登錄系統。
構建IPAM管理系統的目的
IPAM(IP Address Management)或稱IP位址管理,是將網絡管理科學應用到網際網路協議地址空間及相關聯的網絡服務,是以聚合方式管理IP位址空間的各項技術和日常IP位址管理功能的管理模式,IPAM在網絡環境裡的重要性堪比一個城市的規劃系統,合理有序地利用有限的IP位址資源,儘量減少及杜絕因為IP位址錯誤部署、管理而造成的網絡或應用中斷。如果只有一片區域,IT管理人員也只有一名,那幾張Excel表就可以解決問題,但實際在高校信息化領域中,IP位址資源非常龐大,往往會有數百個VLAN,數千個公網IP,數萬個內網IP,以及數不勝數的IPv6地址,且多個業務系統管理員會同時訪問IP位址資源池,例如網絡管理員需要構建新的VLAN、獲得新的公網IP;伺服器管理員需要給新的伺服器和存儲系統配置IP位址等,這些需求匯總到一起,就需要有一個專門的管理系統去處理。IPAM的預算優先級比不上重要信息系統的建設和核心網絡設備的購置,筆者本著降低成本的原則,以開源軟體為基礎搭建IP位址管理系統,並進一步實現網絡管理員和業務系統管理員的邏輯分級管理、動態資料庫查詢和實時監控跟蹤IP位址分配出去後的狀態,進而從根本上提升網絡管理工作的效率。
在實際應用中,高校網際網路用戶數量隨著近幾年移動終端設備的普及,也得到了井噴式的增長,給IP位址的管理工作提出了嚴峻的考驗,雖然高校一般都會擁有幾千個真實IP位址,但由於用戶數量、ISP(網際網路服務提供商)不同等因素,在不少情況下還是會給用戶分配內部IP使用,一旦使用了內部IP位址,在管理數量上至少就是數萬或數十萬級別,對網絡管理員來說,又加大了管理難度。幾乎所有稍具規模的高校及其二級管理部門,在進行網絡管理時都有各種系統輔助運維管理,有些是購買純商業軟體,有些根據需求自行開發,還有些則是基於開源軟體構建而成。從節約人力成本上來說,購買使用純商業軟體是最省力的,有些還和一些網管平臺集成在一起,比較方便;對具備一定研發能力的組織或機構而言,定製化自行開發是較好的選擇,因為可以根據實際使用情況度身定做、及時修改;對於最後一種,是本文討論的範疇,開源軟體除了能夠降低總體擁有成本、快速部署外,還能在使用過程中對其進行自由修改。除滿足日常使用外,也提高了各個網絡管理員的工作效率,減少交叉重複使用IP位址等問題發生。
開源平臺的設計與選型
開源軟體的優越性與IPAM系統的開源環境
開源軟體(Open Source Software),也稱開放原始碼軟體,是一種原始碼可以任意獲取的計算機軟體,這種軟體的版權持有人在軟體協議的規定之下保留一部分權利並允許用戶學習、修改、增進提高這款軟體的質量。開源協議通常符合開放原始碼定義的要求。一些開源軟體被發布到公有領域。開源軟體常被公開和合作地開發且越發完善。
自Linux系統為代表的開源軟體誕生以來,經過多年地快速發展,不僅在伺服器系統軟體應用領域形成一股重要力量,近些年甚至還佔據了移動終端的大量市場份額,使人們仿佛看到了開源軟體將成為未來軟體產業的主流。楊彬對此問題做了一些研究,認為開源軟體產品向傳統商業軟體發起了有力挑戰。開源軟體的飛速發展正在整個軟體行業掀起風潮,新興開源軟體企業不斷湧現,很多傳統商業軟體公司,如Intel、IBM、AMD等,不僅紛紛資助開源軟體,更是為開源軟體世界貢獻了無數高質量的代碼。我國的開源軟體產業也在國際潮流的引領下藉助國家的支持漸成規模,應當特別注意的是,開源軟體為我國軟體業打破技術壟斷和封鎖,實現質的飛躍提供了良好契機,具有非同尋常的戰略意義。
很多開源軟體因為其自身穩定可靠、性能優秀、免費提供等優點已經得到了非常廣泛的應用,例如,音視頻編碼中的XviD和ogg,全球使用最廣泛的Web服務端Apache,以及在動態網頁編程領域佔據第一份額位置的PHP,更甚者還有在移動終端領域佔據超過半壁江山的安卓系統等等,都充分證明了開源軟體的優勢和受歡迎程度。伺服器軟體領域LAMP(Linux+Apache+MySQL+PHP)或LNMP(Linux+Nginx+MySQL+PHP)架構的流行組合更是全部都為開源軟體。
開源軟體不僅僅代表著免費使用,也是自由的體現,但是這一切都是在一個大框架下,這個框架就是開源軟體許可協議,比較常見的有GNU GPL系列、BSD、MIT、Apache等,相對來說GPL系列協議是被最廣泛使用的,因為它能夠授予程序接受人以下權利:1.可以任何目的自由運行此程序;2.再發行複製件的自由;3.改進此程序,並公開發布的自由。因此,在程序被改進再發布的時候,需要繼承GPL協議,這也使得受該協議保護的相關代碼、程序越來越多。相對來說,BSD、MIT寬鬆度則非常高,可以隨意使用、修改,甚至商業化。
高校信息化建設中,非主流的信息化業務,例如網絡運維、管理系統等,一般無法和教學、科研系統相提並論,也不容易得到足夠的資金支持,所以在設計和構建IPAM系統時,也只能往開源軟體這條路走,高校作為知識創新重鎮,也有義務為開源軟體推廣、發展出力。
IPAM是一個基於Web的應用程式,所以它不僅需要作業系統,也需要資料庫和Web Server等組件的支持,前文提到過LAMP的組合架構環境,即Linux系統,支撐整個平臺的基礎平臺,Linux系統其實是一個比較籠統的說法,主要是指使用了Linux kernel的發行版系統,一般包含幾大派系,分別是debian派系,比較有代表性的是debian、ubuntu,red hat派系,比較有代表性的是redhat、centos等,slackware派系,比較有代表性的是suse,雖然不同發行版本使用的許可證不同,但大多都使用GPL協議;Apache Web伺服器,提供用戶網頁訪問服務,其擁有獨立的開源協議:Apache協議;MySQL資料庫,用來存儲所有IPAM應用相關數據信息,最流行的開源關係型資料庫,幾經轉手,現為商業資料庫公司Oracle所有,使用GPL或Commercial License協議;PHP環境,執行CGI腳本,Web伺服器通過運行PHP代碼來產生用戶瀏覽的網頁,可以在多數伺服器和作業系統上都可以運行,它使用獨立的PHP許可證。
IP位址管理平臺在應用層面設計要素
基於B/S架構的系統,頁面處理就需要有較好的特性,應當採用比較流行的AJAX、HTML5、CSS3等元素,這樣能夠實現動態顯示和交互,與伺服器端只需進行數據交換,不用刷新整個頁面,減少伺服器負擔的同時也縮短了用戶等待時間。
系統離不開資料庫的使用,所以資料庫中對於IP位址的信息表,不僅需要分類詳細,也需要處理好與VLAN、統計展示之間相互的邏輯管理,最重要的是能夠很好地保留、顯示每次IP管理操作記錄。
在功能模塊上應當具備以下幾大塊:IP位址管理,其中包含IP位址申請、審批,IP位址添加/修改,VLAN管理;用戶與權限管理,其中包含用戶添加/刪除,用戶只讀、讀寫權限分配、與LDAP或AD域對接;展示功能管理,其中包含IP位址數量、百分比使用排序展示,管理員登錄、操作記錄展示,錯誤、告警記錄展示;系統管理,其中包含數據導入、導出,全局IP區塊管理,郵件設定,日誌管理。
兩種搭建IPAM開源軟體的對比
本文構建實現的IPAM,也為純LAMP架構,因為整套系統自身資源消耗非常低,所以十分節省投資,非常適合用來部署高校網絡運維管理平臺的內部子平臺。
IPAM系統主要是以數據記錄、動態展示為主,使用比較靈活的B/S結構,這樣可以提高便捷性和滿足跨平臺使用的要求。作為網絡管理員,希望對IP位址管理的同時能夠監控到業務系統管理員的操作記錄,並支持IPv6、有直觀的圖表展示、代碼持續更新等主要功能,基於這些特點,筆者從著名的sourceforge.net網站上進行了一些篩選,挑出了兩個評分較高的IPAM開源軟體項目進行對比分析,分別是phpipam和GestioIPIPAM,這兩款開源軟體除基本功能外,有共性也有各自的特點,表1列出了兩種開源軟體的共性,圖1是它們的特點對比。
綜上對兩種開源軟體的比較研究,phpipam側重使用效果,GestioIPIPAM側重設備管理,本次應用結合上海外國語大學的網絡管理需求選擇了phpipam,看中它能夠較好地從管理員角度為出發點考慮如何更好地進行IP位址管理。
基於phpipam進行管理平臺搭建
phpipam的開發者是斯洛維尼亞的MihaPetkovsek,sourceforge.net上記錄最早於2013年提供了開原始碼,是一個基於PHP的優秀Web應用,有著良好的兼容性與通用性,可以搭建各種在發行版的Linux系統甚至是FreeBSD,筆者使用了以穩定著稱的Debian平臺。選用LAMP經典組合,將Apache、MySQL和PHP等必要組件安裝完成後僅佔用1.5GB左右的磁碟空間,非常精簡,只需要在虛擬機管理端分配0.5~1GB內存、1~2個CPU便可流暢的運行起來了,如果分配20G的磁碟空間,能滿足未來多年的需求。Web服務端可使用apache,或輕量級的Lighttpd、nginx,但必須同時都把PHP安裝上。圖2為IPAM平臺搭建示意,本次應用選擇的是最流行、用戶最多的Apache,因為它對phpipam中啟用Prettify links(偽靜態)URL時所要用到的mod_rewrite配置比較方便。phpipam功能全面,支持IPv4和IPv6,有內建的IPv4和IPv6子網計算器;支持無類域間路由(CIDR)標記;支持MySQL資料庫或xls文件導入/導出;子網嵌套;用戶/組權限設定;可視化報表工具;支持設備、VRF和VLAN;電子郵件通知;支持基於LDAP或AD結合的認證。
phpIPam安裝完畢後用瀏覽器訪問:http://ip/phpipam/,通過組件缺失性校驗和資料庫配置後,就可以登錄使用了,至此IPAM平臺基本搭建完畢,若想讓url看上去更直觀,可以在IPAM設定中啟用prettyfylinks。
該系統支持多用戶、多線程的結構化資料庫MySQL,根據腳本文件SCHEAM.sql建立若干個表,有ipaddresses,logs,requests,sections,settings,settings Domain,settingsMail,subnets,devices,userGroups,users,lang,vlans,deviceTypes等20個表,資料庫腳本文件可以根據不同的使用需求進行自定義,這也是開源軟體比商業軟體靈活之處,會隨著開發者和使用者的發展越來越完善。
登錄URL便能看到非常清爽的界面見圖3,圖4為子網管理界面。
IPAM總體分為以下幾大功能板塊:1.最近變更記錄;2.子網使用TOP10數量和百分比;3.管理員登錄記錄及phpipam自身的告警、錯誤記錄;4.子網、IP位址數量等統計信息。默認的首頁管理界面可按管理員實際情況自行調整,例如添加/刪除小部件,調整各個部件位置,設定常用的子網等。
phpipam對IP位址歸納了四種狀態,分別是活動、保留、下線、DHCP自動獲取,同時,每個IP位址屬性中又可以記錄主機名、注釋、設備歸屬、MAC地址和擁有者,幾乎充分考慮到了日常運維管理中的各種情況,並結合php IPam的LDAP支持組件和上海外國語大學現有的身份認證系統做集成,實現了IPAM的安全身份認證,並可進一步實現IP位址的用戶分級管理。
信息化服務的根基就是網絡基礎設施,而IP位址資源的管理又成為了網絡基礎設施規模不斷擴大的管理瓶頸,它不僅重要,而且繁瑣,管理員必須謹慎對待,以免發生IP位址衝突、主機找不到對應的業務系統管理員等情況。通過利用開源作業系統和開源應用軟體,搭建一個對IP位址實現橫寬縱深的全面管理平臺,讓分級管理員之間可以及時掌握、動態查詢以及合理規劃IP位址,解決了實際問題,大大提高了工作效率和靈活度。通過對此問題較為深入地探討,希望對IT運維管理員們有所幫助,在實際工作中,更多地去體會開源軟體帶來的便利性和靈活性。
(作者單位為上海外國語大學信息技術中心)