公司现有江苏、浙江、上海的所有网络设备配置备份的需求。我是kali linux环境,ubuntu ,CentOS, Oracle Linux, Red Hat Linux理论上支持。
apt update
apt upgrade –y
apt-get install ruby ruby-dev libsqlite3-dev libssl-dev pkg-config cmake libssh2-1-dev
gem install oxidized
gem install oxidized-script oxidized-web
root权限安装完成后,oxidized -v 显示是0.29.1 ,进行配置:
useradd -m -d /home/oxidized sche01
cp /var/lib/gems/3.1.0/gems/oxidized-0.29.1/extra/oxidized.service /lib/systemd/system
systemctl enable oxidized.service
mkdir -p /home/oxidized/.config/oxidized
mkdir /home/oxidized/.config/oxidized/logs/
mkdir /home/oxidized/.config/oxidized/configs
chown sche01:sche01 /home/oxidized/.config/oxidized
cd /home/oxidized/.config/oxidized/configs
vim config粘贴并保存文件:
username: username
password: password
model: junos
interval: 3600
log: /home/oxidized/.config/oxidized/logs/oxidized.log
debug: false
threads: 30
timeout: 20
retries: 3
prompt: !ruby/regexp /^([\w.@-]+[#>]\s?)$/
rest: 127.0.0.1:8888
next_adds_job: false
vars: {}
groups: {}
models: {}
pid: "/home/oxidized/.config/oxidized/pid"
input:
default: ssh, telnet
debug: false
ssh:
secure: false
output:
default: file
file:
directory: "/home/oxidized/.config/oxidized/configs"
source:
default: csv
csv:
file: "/home/oxidized/.config/oxidized/router.db"
delimiter: !ruby/regexp /:/
map:
name: 0
model: 1
username: 2
password: 3
gpg: false
model_map:
cisco: ios
juniper: junos
cd /home/oxidized/.config/oxidized/
vim router.db 并保存(我这儿h3c,其他品牌的OS信息不一样。用表格补齐所有字段,粘贴过来,格式是 IP地址:OS:账号:密码)
172.16.100.1:comware:admin:4z9LmjQL!12
172.16.100.2:comware:admin:ADM62352744aa??aa1
172.16.100.3:comware:admin:adm1122in@12312
172.16.100.6:comware:admin:ji212t@12312
172.16.100.5:comware:admin:ad2m12in@1231122
chown -R sche01:sche01 /home/oxidized/.config/oxidized
systemctl restart oxidized.service
systemctl status oxidized.service
apt install nginx 通过网页查看备份效果
vim /etc/nginx/conf.d/oxidized.conf
server {
listen 8001;
listen [::]:8001;
server_name 192.168.112.128;
location / {
proxy_pass http://127.0.0.1:8888/;
}
access_log /var/log/nginx/access_oxidized.log;
error_log /var/log/nginx/error_oxidized.log;
}
cd /var/lib/gems/3.1.0/gems/oxidized-0.29.1/extra/
查看vim oxidized.nginx
配置文件修改自动发邮件提醒IT部:
apt install postfix 选择 no configure
systemctl restart postfix.service
apt install mailutils
cd /var/lib/gems/3.1.0/gems/oxidized-0.29.1/extra/
cp –r /var/lib/gems/3.1.0/gems/oxidized-0.29.1/extra/ /home/oxidized/.config/oxidized/
hooks:
email_output:
type: exec
events: [post_store, node_fail]
cmd: ' /home/oxidized/.config/oxidized/extra/oxidized-report-git-commits | mail -s "Oxidized updates for ${OX_NODE_NAME}" it@sild.net'
async: true
timeout: 120
感谢opscaff.com曹老师的分享,很容易就熟悉了这个工具。