インフラエンジニアの方や社内SEの方でネットワーク機器のコンフィグ管理をどうするか悩まれる方は多いと思います。
今回はそんな悩みを解消してくれるネットワーク機器監視・コンフィグ管理ツールの「RANCID(ランシド)」をご紹介したいと思います。
RANCID自動でネットワーク機器へログインし、現在の状況・コンフィグ・設定履歴を取得することができます。
今回は仮想マシンのCentos7.2にインストールしていきたいと思います。
インストール環境
VirtualBox上の仮想マシンへインストール
OS:Centos7.2
RANCID:Version 3.7 ※2017/11/24 時点最新
事前準備
Centos7.2のfirewalldの停止
Centos7ではデフォルトのセキュリティ機能である「firewalld」が動作している状態になっています。
検証作業や構築作業では邪魔になることが多いので、予め止めておきます。
# systemctl status firewalld ← firewalld ←プロセスの停止 # systemctl disable firewalld ← firewalld ←プロセスの自動起動停止
Centos7.2のSElinux停止
SElinuxもデフォルトで動作しているセキュリティ機能になります。
SElinuxについても邪魔になることが多いので事前に停止しておきます。
# vi /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled ←disabledに変更
SElinuxについてはOS再起動が必要なので、rebootコマンド等で再起動を実施します。
必要なパッケージのインストール
RANCIDを稼働させるために必要なパッケージをインストールします。
今回はこちらを参考にしました。
※「nao」はyumがコケたので「vim」に変更しています。
yum -y install vim wget ftp telnet mariadb-server mariadb yum -y install perl tcl expect gcc cvs rcs httpd autoconf php-common yum -y install php-gd php-pear php-pecl-memcache php-mysql php-xml mod_ssl MySQL-python ※長いので3回に分けています。
RANCIDユーザ・グループの作成
RANCIDユーザと所属するグループを作成します。
まずはグループの作成
# groupadd netadmin
つぎにユーザ作成
# useradd -g netadmin -d /home/rancid rancid
以上で事前準備は完了です。いよいよRANCIDをインストールしていきましょう。
RANCIDのインストール
ここからはRANCIDのインストール作業になります。
まずはインストールディレクトリへ移動します。
# cd /home/rancid/
インストールファイルのダウンロード
RANCIDのインストールファイルをwgetコマンドでダウンロードします。
最新版はここから確認できます。
# wget ftp://ftp.shrubbery.net/pub/rancid/rancid-3.7.tar.gz
ダウンロードしたファイルを解凍します。
# tar -zxvf rancid-3.7.tar.gz
解凍後のディレクトリへ移動します。
cd rancid-3.7
コンフィグファイルを作成します。
./configure --prefix=/usr/local/rancid
インストールします。
# make install
バックアップ取得、権限変更、オーナー変更を実施します。
# cp cloginrc.sample /home/rancid/.cloginrc # chmod 600 /home/rancid/.cloginrc # chown -R rancid:netadmin /home/rancid/.cloginrc # chown -R rancid:netadmin /usr/local/rancid/ # chmod 755 /usr/local/rancid/
管理するグループを設定します。今回は”Switch”グループを作成します。
# vi /usr/local/rancid/etc/rancid.conf LIST_OF_GROUPS="Switch"
rancidユーザへスイッチします。
# su rancid
CVSを設定します。
/usr/local/rancid/bin/rancid-cvs
.cloginrcファイルに接続するホストを記載します。
記述例(telnet接続:Cisco機器の場合)は下記となります。
バックアップを取得しているのであれば.cloginrcファイルの中身をすべて削除し、下記だけ記載でも問題ありません。
※/home/rancid/.cloginrc ファイルになります。隠しファイルになっているので注意!!
例) add password 10.10.10.10 pass enablepass
バックアップを取得する機器リストの設定を下記ファイルにて実施します。
今回は”Switch”グループを作成したので対象ファイルに追記します。
/usr/local/rancid/var/Switch/router.db
実際に記載したホストへ接続確認をします。
※rancidユーザで実行します。
# /usr/local/rancid/bin/clogin 10.10.10.10
いつもログインするようにパスワードが求められれば接続OKです。
バックアップを取得するコマンドを実行します。
※rancidユーザで実行します。
# /usr/local/rancid/bin/rancid-run 10.10.10.10
バックアップ取得に成功すると下記ディレクトリにコンフィグファイルが保存されます。