一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Oxidized是一個使用Ruby編寫的開源網(wǎng)絡設備配置備份工具

網(wǎng)絡技術干貨圈 ? 來源:網(wǎng)絡技術干貨圈 ? 作者:圈圈 ? 2022-12-21 14:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Oxidized是一個使用 Ruby 編寫的開源網(wǎng)絡設備配置備份工具,是 RANCID(思科的一個工具) 的替代品,輕量級且可擴展的 Oxidized 支持 130 多種操作系統(tǒng)。

體驗一下它的功能以及各種實現(xiàn),看如何能與現(xiàn)有的系統(tǒng)進行整合,或者用 Python 造個簡單的輪子。

結(jié)論:

  1. 整體使用感受:作為一個專門的配置備份軟件,可以說把一個功能做到了比較高的水平!

  2. 亮點功能:可以支持監(jiān)聽設備上報的 syslog 日志中的配置改動來觸發(fā)配置文件備份,對我來說是一個新的思路。

目前支持 ios、junos、eos、nsos、aruba,后面有時間可以驗證一次。

  1. 很多實現(xiàn)細節(jié)沒有體驗,大致過了一遍文檔

安裝過程

拉取鏡像

dockerpulloxidized/oxidized

配置文件相關

創(chuàng)建目錄,用來存放配置文件、備份的配置、運行日志、主機清單文件等等

mkdir/etc/oxidized

運行一次容器,讓程序自動生成初始配置文件,--rm 參數(shù)為容器退出后自動刪除該容器:

dockerrun--rm-v/etc/oxidized:/root/.config/oxidized-p8888:8888/tcp-toxidized/oxidized:latestoxidized

回顯信息為:edit ~/.config/oxidized/config,說明已經(jīng)生成了默認的配置文件。

編輯配置文件,oxidized 的配置文件是 yaml 格式的,詳細的配置項Configuration,提供了多種靈活的數(shù)據(jù)繼承的方法,即可以為每臺、每組、每種設備等等進行不同的配置。

---
username:oxidized#值隨意,以數(shù)據(jù)庫為準
password:S3cr3tx#值隨意,以數(shù)據(jù)庫為準
model:junos#值隨意,以數(shù)據(jù)庫為準
interval:3600#配置備份的間隔時間
log:~/.config/oxidized/log#日志文件
debug:false
threads:30#線程
timeout:20#超時時間
retries:3#失敗重試次數(shù)
prompt:!ruby/regexp/^([w.@-]+[#>]s?)$/#登錄設備后的提示符判斷
crash:
directory:~/.config/oxidized/crashes
hostnames:false
rest:0.0.0.0:8888#前端界面
pid:~/.config/oxidized/oxidized.pid
input:#連接方式
default:ssh,telnet
debug:false
ssh:
secure:false
output:
default:git#以git方式存儲
git:
user:Oxidized
email:oxidized@example.com
repo:"~/.config/oxidized/oxidized.git"
source:
default:csv
csv:
file:~/.config/oxidized/router.db#CSV格式的主機數(shù)據(jù)庫
delimiter:!ruby/regexp/:/
map:
name:0#CSV里面的值映射關系
ip:1
model:2
username:3
password:4
group:6
vars_map:
enable:5
groups:#為每個組進行單獨的配置
mikrotik:
username:admin
password:blank
ubiquiti:
username:ubnt
password:ubnt
model_map:#為每種設備類型進行單獨的配置
cisco:ios
username:admin
password:password
juniper:junos
ironware:
username:admin
password:password
vars:
enable:enablepassword

router.db 主機數(shù)據(jù)庫,默認是 CSV 格式,也支持通過 SQL 、SQLite、HTTP 等方式來拉取,最終的數(shù)據(jù)結(jié)構(gòu)根據(jù)不同的來源進行處理,然后重點是主機清單里面的數(shù)據(jù),要通過 mapvar_map 建立對應的映射關系,這里是配置文件可以靈活制定的關鍵。

以 CSV 格式為例,應當是以下格式,默認是以 : 為分隔符,最終結(jié)果是個列表,然后映射值時根據(jù)下標:

r1comwareNetDevops@01group1
r2comwareNetDevops@01group2
r3comwareNetDevops@01group2

運行

運行容器,將本地數(shù)據(jù)卷映射到容器內(nèi)的指定目錄,容器內(nèi)部默認監(jiān)聽 8888 端口

dockerrun-td
--nameoxidized_1
--restart=always
-v/etc/oxidized:/root/.config/oxidized
-p8888:8888/tcp
oxidized/oxidized:latest
oxidized

程序輸出

配置輸出:

  1. 以文件的方式存儲

需要手動創(chuàng)建父目錄 configs,每個設備一個配置文件,只保留最新的配置,不會保存歷史配置。

默認為每個組建立一個文件夾。

每次會在原文件的基礎上更新文件,不會保存歷史。

  1. 以 git 的方式存儲,默認為每個組創(chuàng)建一個 git 倉庫,可以通過 single_repo: true 來配置使用同一個倉庫,此時每個組為一個文件夾。

oxidized 默認創(chuàng)建的的是bare repo,相當于一個私有的 git 倉庫,里面沒有 git 的工作目錄,只有版本文件,每次備份配置后會進行一次提交;本地的私有倉庫,可以通過克隆來查看具體的備份文件。

例如,我這里有一個 default.git 的目錄,是上面 router.db 里面幾臺主機的配置備份信息:

6b468f94-80dd-11ed-8abf-dac502259ad0.png

如果要查看具體的文件,可以克隆這個倉庫:

gitclone/etc/oxidized/default.gitmy_config
6b650910-80dd-11ed-8abf-dac502259ad0.png

如果要把文件提交到遠程倉庫,可以在配置文件中添加 hooks 來實現(xiàn),例如:

hooks:
push_to_remote:
type:githubrepo
events:[post_store]#發(fā)生改變時觸發(fā)操作
remote_repo:
routers:git@git.intranet:oxidized/routers.git
switches:git@git.intranet:oxidized/switches.git
firewalls:git@git.intranet:oxidized/firewalls.git
publickey:/root/.ssh/id_rsa.pub
privatekey:/root/.ssh/id_rsa

上面的配置會在備份的配置發(fā)生改變時,把三個本地倉庫分別推送到遠程倉庫,遠端倉庫使用密鑰認證。

注意事項

  1. 修改配置文件需要重啟 docker 的時候,不會自動刪除 pid 文件,會導致無法啟動,需要手動刪除解決。
    
rm-rf/etc/oxidized/pid&&dockerrestartoxidized_1

前端界面展示

首頁:

6b88d962-80dd-11ed-8abf-dac502259ad0.png

查看配置:

6bbe96ba-80dd-11ed-8abf-dac502259ad0.png

基于 git 方式時,查看版本:

6bea796a-80dd-11ed-8abf-dac502259ad0.png

查看版本差異:

6c01156c-80dd-11ed-8abf-dac502259ad0.png

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 操作系統(tǒng)

    關注

    37

    文章

    7138

    瀏覽量

    125476
  • 網(wǎng)絡設備

    關注

    0

    文章

    326

    瀏覽量

    30410
  • python
    +關注

    關注

    56

    文章

    4827

    瀏覽量

    86623

原文標題:這個網(wǎng)絡設備配置備份工具絕了,開源、輕量、擴展,支持130多種操作系統(tǒng)!

文章出處:【微信號:網(wǎng)絡技術干貨圈,微信公眾號:網(wǎng)絡技術干貨圈】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    工業(yè)網(wǎng)絡設備挑選不用愁,帶你快速選型

    網(wǎng)絡設備
    星創(chuàng)易聯(lián)
    發(fā)布于 :2025年06月06日 10:01:25

    盟通方案|CANopen數(shù)據(jù)鏈路配置工具

    十分繁瑣。因此,可以配置CANopen網(wǎng)絡中的通信鏈路參數(shù)的工具至關重要。CANopenDeviceExplorer軟件上文我們已經(jīng)提到
    的頭像 發(fā)表于 05-30 14:19 ?276次閱讀
    盟通方案|CANopen數(shù)據(jù)鏈路<b class='flag-5'>配置</b><b class='flag-5'>工具</b>

    基于RV1126開發(fā)板網(wǎng)絡配置方法

    RV1126開發(fā)板網(wǎng)絡硬件資源有:以太網(wǎng)、WiFi,采用的網(wǎng)絡配置方案是:Netplan。 ? ? ? ?Netplan是用于
    的頭像 發(fā)表于 04-15 14:57 ?341次閱讀
    基于RV1126開發(fā)板<b class='flag-5'>網(wǎng)絡</b><b class='flag-5'>配置</b>方法

    云服務器計算池的運維團隊需要掌握的網(wǎng)絡工具

    云服務器計算池的運維團隊需要掌握多種網(wǎng)絡工具,以實現(xiàn)高效的網(wǎng)絡監(jiān)控、故障排查、安全管理和資源優(yōu)化。以下是運維團隊常用的網(wǎng)絡工具分類及推薦: 1. 網(wǎng)絡監(jiān)控
    的頭像 發(fā)表于 02-17 15:50 ?305次閱讀

    如何配置 MPLS 網(wǎng)絡

    路由實例等。以下是基本的MPLS網(wǎng)絡配置指南: 、配置前的準備 確定
    的頭像 發(fā)表于 02-14 18:13 ?1071次閱讀

    MPLS網(wǎng)絡性能優(yōu)化技巧

    MPLS(多協(xié)議標簽交換)網(wǎng)絡性能優(yōu)化是復雜的過程,涉及多個方面的技術和策略。以下是些關鍵的MPLS網(wǎng)絡性能優(yōu)化技巧:
    的頭像 發(fā)表于 02-14 17:09 ?933次閱讀

    如何配置ptp網(wǎng)絡設備

    1. 理解PTP協(xié)議 PTP是網(wǎng)絡協(xié)議,用于在網(wǎng)絡設備之間同步時鐘。它基于IEEE 1588標準,能夠提供亞微秒級別的時間同步精度。PTP通常用于需要精確時間同步的應用,如電信、金融交易、工業(yè)
    的頭像 發(fā)表于 12-29 09:36 ?1269次閱讀

    介紹6款開源免費的網(wǎng)絡監(jiān)控工具

    網(wǎng)絡監(jiān)控是保障網(wǎng)絡系統(tǒng)和數(shù)據(jù)安全的重要手段,能夠幫助運維人員及時發(fā)現(xiàn)并應對各種問題,及時發(fā)現(xiàn)并解決,從而確保網(wǎng)絡的順暢運行。 文本將簡單介紹6款開源免費的
    的頭像 發(fā)表于 11-25 15:53 ?2320次閱讀
    介紹6款<b class='flag-5'>開源</b>免費的<b class='flag-5'>網(wǎng)絡</b>監(jiān)控<b class='flag-5'>工具</b>

    使用Python腳本備份華為交換機的配置信息

    在現(xiàn)代網(wǎng)絡管理中,備份交換機的配置信息是項至關重要的任務。備份可以確保在交換機發(fā)生故障或配置
    的頭像 發(fā)表于 08-12 17:50 ?1289次閱讀
    使用Python腳本<b class='flag-5'>備份</b>華為交換機的<b class='flag-5'>配置</b>信息

    使用Python批量連接華為網(wǎng)絡設備

    隨著網(wǎng)絡規(guī)模的擴大和設備數(shù)量的增加,手動配置和管理每臺網(wǎng)絡設備變得越來越不現(xiàn)實。因此,自動化工具和腳本變得尤為重要。Python語言以其簡潔
    的頭像 發(fā)表于 08-12 17:48 ?904次閱讀

    思科網(wǎng)絡設備常用show命令

    在思科網(wǎng)絡設備的日常運維中,有些命令被頻繁使用,它們可以幫助網(wǎng)絡管理員快速獲取重要信息并保存配置更改。在這篇文章中,我們將詳細介紹五出場
    的頭像 發(fā)表于 08-07 14:38 ?3569次閱讀

    使用Velero備份Kubernetes集群

    Velero 是 heptio 團隊(被 VMWare 收購)開源的 Kubernetes 集群備份、遷移工具。
    的頭像 發(fā)表于 08-05 15:43 ?630次閱讀
    使用Velero<b class='flag-5'>備份</b>Kubernetes集群

    有助于提高網(wǎng)絡設備性能的FRAM SF25C20(MB85RS2MT)

    有助于提高網(wǎng)絡設備性能的FRAM SF25C20(MB85RS2MT)
    的頭像 發(fā)表于 07-25 09:49 ?588次閱讀
    有助于提高<b class='flag-5'>網(wǎng)絡設備</b>性能的FRAM SF25C20(MB85RS2MT)

    IR615如何實現(xiàn)VPN鏈路備份?

    目的:IR615的鏈路備份(WAN為主鏈路、Wi-Fi做STA為從鏈路),當VPN建好后,WAN口主鏈路無線網(wǎng)絡為備用鏈路。設備固件版本:2.3.0.r5114。拓撲: 1. 配置I
    發(fā)表于 07-25 08:27

    如何編寫BP神經(jīng)網(wǎng)絡

    傳播過程,即誤差從輸出層反向傳播回輸入層,并據(jù)此調(diào)整網(wǎng)絡參數(shù)。本文將詳細闡述如何編寫BP神經(jīng)網(wǎng)絡,包括
    的頭像 發(fā)表于 07-11 16:44 ?1103次閱讀