基於開源軟體的IPAM構建與實現

2021-01-12 中國教育和科研計算機網

  在一個較複雜的區域網環境裡一定會用到動態和靜態結合的方式分配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運維管理員們有所幫助,在實際工作中,更多地去體會開源軟體帶來的便利性和靈活性。

  (作者單位為上海外國語大學信息技術中心)

相關焦點

  • [博文精選]:基於開源軟體構建高性能集群NAS系統
    導讀:近日,CSDN博客作者劉愛貴撰寫了標題為「基於開源軟體構建高性能集群NAS系統」的文章。文章主要介紹了如何基於Glusterfs, NFS, Samba, CTDB, LVS等開源軟體構建集群NAS系統。
  • 如何快速構建基於MES的開源雲平臺?
    2018年4月,為應對日趨雲化的MES平臺應用及開發需求,摩爾雲基於自主研發的MC核心製造平臺, 利用新的商業模式打造工業軟體的開源雲生態。通過開放平臺的開發能力,讓更多算法科學家、民間高手等參與進來,在平臺上實現工業知識沉澱、迭代和復用,形成工業連接、工業管理、工業控制、工業工程等應用,從而實現價值的轉換。
  • 算法實現太難了?機器學習也需要開源軟體
    ,這使其能構建大規模的自然場景下的系統。但是,由於沒有公開共享現有的實現方式,去真正的利用這些方法,從而導致軟體的可用性和互操性較弱。本文作者認為,可以通過提高研究人員在原始碼模型下發布軟體的動機來明顯改善這種情況。此外,本文概述了作者在嘗試發布機器學習算法的實現時所面臨的問題。作者認為,經過同行評審的軟體資源以及簡短的文檔對機器學習和整個科學界非常有價值。
  • 基於Qt實現的開源記事本項目notes介紹
    今天為大家介紹一款基於Qt實現的跨平臺開源記事本軟體。,我的路徑是G:\Qt code\notes-dev4、重新構建即可,構建時可能出現以下問題::QSimpleUpdater用來檢查程序並自動更新qautostart用來實現跨平臺的程序開機自啟動qmarkdowntextedit用來實現MarkDown文本編輯功能所以認真研究這個項目,還是能學到很多我們平時項目開發中實用的技能的。
  • Rancher開源Harvester:基於K8S的HCI軟體
    2020年12月17日,業界應用最為廣泛的Kubernetes管理平臺創建者Rancher Labs(以下簡稱Rancher)宣布推出全新開源軟體Harvester,一個通過Kubernetes構建的超融合基礎架構(HCI)軟體。
  • 開源兇猛:塑造網際網路的開源軟體-開源兇猛:塑造網際網路的開源軟體...
    互動百科給出這樣定義開源軟體:「開源軟體,全稱為開放原始碼軟體,就是原始碼開放的軟體,對普通用戶來說,開源軟體大多都是免費下載的;對於商業用戶來說,開源軟體可以減少開發周期,因為原始碼開放了,只需要稍做修改就可以嵌入到產品中去,可以降低成本。
  • Odoo介紹:一款基於Python的開源軟體
    首先引用一段比較流行的介紹:Odoo是一系列開源商業應用程式套裝,此套裝可滿足中小型企業的一切應用需求,例如,企業基本的進銷存、採購、銷售、MRP生產製造、品保質量保障、企業招聘、員工合同、休假、午餐管理、內部論壇、車隊管理、內部聊天IM溝通、客訴追溯管理、CRM客戶關係管理、VOIP、E-Shop電子商務、網店、企業官方網站,財務會計、銀行對帳、資產管理、HR工資管理、預算管理、WMS
  • 開源公司黃頁之 Google 開源軟體推薦
    在企業使用開源和貢獻開源方面,Google一直是行業的典範。一直以來,Google都在極力推廣和倡導開源,並發布了一系列開源項目。如果沒有開源軟體,Google也難以達到今日的成功。
  • 開源中國 2018 新增開源軟體最受歡迎 TOP 50
    今天公布的這份榜單 —— 開源中國 2018 新增開源軟體最受歡迎 TOP 50,所挑選的軟體來自於 2018 年開源中國新收錄的非國產開源軟體。根據軟體的關注度、活躍度以及影響力,再剔除掉一些不符合要求的開源軟體,最終生成了這份榜單。
  • 評論|鴻蒙將是中國開源軟體走向世界的起點
    安卓是基於Linux內核(全球最重要的開源kernel)的開源系統。華為高管強調,將安卓應用程式遷移到鴻蒙OS只需1-2天即可實現。由是觀之,鴻蒙開源自是華為開放戰略的題中應有之義,並且只有從「構建萬物互聯的智能世界」的開源開放生態體系中,才能充分認識華為鴻蒙開源的深意。軟體能夠充分發揮作用,除了軟體自身的技術性能外,瓶頸在於軟硬體結合的核心技術。不少發展中國家在技術引進的時候,往往受制於軟硬體結合的關鍵核心技術。
  • 基於代碼、社區,兩步成為開源贏家!
    就像之前討論的那樣,開發人員傾向於選用基於API的服務來節省時間。但是他們最喜歡哪種類型的軟體?當然是開源的那種。全球有數以千萬計的開發者使用的是開源平臺,因為他們可以訪問它的代碼,修改應用程式,為項目貢獻代碼並成為社區的一份子。因此,建立在開源基礎上的軟體公司擁有成為有數十億美元級別企業的潛能。
  • 基於代碼、社區,兩步成為開源贏家
    就像之前討論的那樣,開發人員傾向於選用基於API的服務來節省時間。但是他們最喜歡哪種類型的軟體?當然是開源的那種。全球有數以千萬計的開發者使用的是開源平臺,因為他們可以訪問它的代碼,修改應用程式,為項目貢獻代碼並成為社區的一份子。因此,建立在開源基礎上的軟體公司擁有成為有數十億美元級別企業的潛能。但是,開源軟體的本質在於免費,如何高效變現就成為一個巨大的挑戰。
  • 基於Packer+Ansible實現雲平臺黃金鏡像統一構建和發布
    備選方案:AWS EC2 Image Builder EC2 Image Builder是AWS上的鏡像構建服務,它的原理是基於AWS已有託管的一個Source Base鏡像啟動一個EC2虛擬機實例,然後SSH到虛擬機執行一系列腳本安裝軟體和配置,最後創建快照製作成AMI鏡像。
  • Python開源軟體大全
    寫個web服務,可以用python;寫個伺服器腳本,可以用python;寫個桌面客戶端,可以用python;做機器學習數據挖掘,也可以用python……用處這麼多,你是不是也想看看Python開源軟體大全都有哪些內容?
  • 開源軟體如何盈利
    眾所周知,如今開源軟體已經在全球範圍內迅猛發展,開源產品已經完全可以替代現有商業軟體。如:Linux、FireFox、開源ERP/CRM、Apache、MySQL、PHP/Python以及各種應用工具。然而,到底開源軟體企業是如何正向經營的呢?開源的free並不代表「免費」,而是自由之意(自由分發、使用以及持續優化),開源和商業是可以很好的進行融合的,前者實現知識共享最大化,後者實現「學以致用」最大化。
  • 面向物聯網的21個開源軟體項目
    開源在這方面表現不俗也就不足為奇了——客戶猶豫不決,不敢將物聯網的未來寄托在一種可能銷聲匿跡或變得難以定製、互聯的專有平臺上。 我在本文中介紹了主要的開源軟體項目,專注於面向家庭和工業自動化的開源技術。
  • InfoWorld 公布 2020 年最佳開源軟體
    InfoWorld 是致力於引領 IT 決策者走在科技前沿的國際科技媒體品牌,每年 InfoWorld 都會根據軟體對開源界的貢獻,以及在業界的影響力評選出當年的「最佳開源軟體」 (InfoWorld's Best of Open Source Software Awards, Bossies),該獎項評選已經延續了十多年。
  • 開源中國社區:2014 年國產開源軟體 TOP 100
    近日中國最大的開源社區「開源中國(OSCHINA)」根據軟體的訪問、收藏、下載等多個角度,評選出100 名最受歡迎的國產開源軟體。開源中國社區成立六年多來見證了國內開源環境蓬勃發展,國人從使用到貢獻到推出自己開發的開源軟體,很多國產開源軟體還受到國外的認可。
  • Project CoprHD:EMC推出首個基於其商業軟體的開源項目
    Project Horizon以Pivotal CF為基礎,是基於CF的領先的企業級PaaS,為數字型企業實現了所有數字內容傳送。Project Horizon以移動優先、雲優先為指導思想,採用獨特方法實現了下一代、多租戶內容平臺。
  • 2018 年度新增開源軟體排行榜之國產 TOP 50
    Vim 啟發開發的專門為 Markdown 而優化、設計的開源免費筆記軟體,VNote 更是一個更了解程式設計師和 Markdown 的筆記軟體,它專注於 Markdown 的編輯與閱讀,以提供舒適的編輯體驗為設計目標。