2020/12/14 rancid+git
rancid
rancidとはルータのコンフィグを監視し、CVSやGitにて管理するシステム。
実行の流れとしては、
ルータにログイン
コマンドを実行し、情報を取得(show runなど)
リビジョン管理を行う。
様々なメーカーに対応しており、
CiscoやJuniperなどで実行できる。
Unix上で動くため、手軽に利用できる。
インストール
今回はCentOS8にて利用する。
まずは必要になるパッケージをインストール
# dnf install gcc git wget perl tcl expect
rancidを実行するユーザを作成する。
# useradd rancid
# passwd rancid
次にrancidをダウンロードする。
今回は最新版である、3.13をダウンロード。
ダウンロードが完了したら、次にインストールを行う。
# tar zxvf rancid-3.13.tar.gz
# cd rancid-3.13
# ./configure --prefix=/usr/local/rancid --with-git
# make install
次にデフォルトのサンプル設定をコピーし、パーミッションを設定する。
# cp cloginrc.sample /home/rancid/.cloginrc
# chown -R rancid.rancid /usr/local/rancid
# chmod -0600 /home/rancid/.cloginrc
コンフィグを書き換える。
事前にバックアップを忘れずに。
# vim /usr/local/rancid/etc/rancid.conf
code:rancid.conf
# vim /home/rancid/.cloginrc
code:.cloginrc
+ add user cisco891fj izumin
+ add method cisco891fj ssh
+ add password cisco891fj <password>
+ add autoenable cisco891fj 1
次に、ファイルを作成し、準備を行う。
このためにはrancidユーザに切り替える必要がある。
# su rancid
# /usr/local/rancid/bin/rancid-cvs
次に実行するための設定
code:/usr/local/rancid/var/cisco/router.db
cisco891fj;cisco;up
構文は
<hostname>;<type>;up
table:type
cisco cisco
F5 f5
juniper juniper
ここまで行ったらログインができるかテストする。
# /usr/local/rancid/bin/clogin cisco891fj
成功すれば、通常通りciscoのコンフィグに入れる。
実際に実行する。
# /usr/local/rancid/bin/rancid-run
実行した後、
/usr/local/rancid/var/ciscoにコンフィグが保存される。
また、Gitも自動でコミットされている。
remote originを追加しておけばプッシュもしてくれる。
プッシュ時にパスワードがいらないように、
ssh-keygenで作成し、GitLab側に追加が必要。
定期的に実行すれば、差分もしっかりと表示される。
https://gyazo.com/bc18f70be135d5d5243eaa18cab74bba