vyatta-config-sync

vyatta4peopleで公開されているvyatta-config-syncをVyatta Core 6.6で動作確認。 基本的な手順はここの通り。 2台のVyattaを最低限の状態でセットアップ。

  • ハードウェア構成は同一に
  • アドレスはDHCPでも固定でもいいけど管理しやすいのは固定だと思う。ここでは以下の2つのアドレスでセットアップする。
    • hostname master, 192.168.11.132/24
    • hostname slave, 192.168.11.133/24
  • デフォルトルートとDNS設定(あるいはHTTP Proxy設定)、要はaptが使えればいい

Vyatta4People RepoとDebian Squeeze Repoをインストール

configure
set system package repository vyatta4people url http://packages.vyatta4people.org/debian
set system package repository vyatta4people distribution experimental
set system package repository vyatta4people components main
set system package repository squeeze components 'main contrib non-free'
set system package repository squeeze distribution 'squeeze'
set system package repository squeeze url 'http://ftp.jaist.ac.jp/pub/Linux/debian'
set system package repository squeeze-backports components 'main contrib non-free'
set system package repository squeeze-backports distribution 'squeeze-backports'
set system package repository squeeze-backports url 'http://ftp.jaist.ac.jp/pub/Linux/debian-backports'
commit
save
exit

Vyattaオリジナルから更新してはいけないパッケージのホールドとパッケージ情報の更新。この2つはholdしておかないとaptitude safe-upgradeがsafeじゃなくなる。

sudo aptitude hold lighttpd
sudo aptitude hold live-initramfs
sudo aptitude update

vyatta-config-syncのインストール

sudo aptitude install vyatta-config-sync
sudo aptitude install vyatta-config-validator

マスター側のルータでssh鍵を作成

master$ /usr/bin/ssh-keygen -t rsa

作った公開鍵を両機に投入

configure
set system login user vyatta authentication public-keys sync type ssh-rsa
set system login user vyatta authentication public-keys sync key 公開鍵の文字列

マスター側のルータで以下のファイルを編集

#/etc/vyatta-config-sync/options.env:
enable_master_mode=1
----
#/etc/vyatta-config-sync/sync_hosts.conf:
192.168.11.132 master
192.168.11.133 slave
----

スレーブ側のルータで以下のファイルを編集

#/etc/vyatta-config-sync/local_transformations.sed
# マスターとスレーブでパラメータが異なる部分の変換sed
# IPアドレス以外にも適用できるとおもうけど、あまり無茶しないほうがいいとおもう
s/192.168.11.132/24/192.168.11.133/24/g

設定は以上。vcsコマンドをマスターで叩くと設定が同期される。初回はsshのホスト確認が出るのでyes。何も差分がないのでSkipされる。 無害なvtiでも作って動作確認をする。

configure
set interface vti vti0
commit
save
exit
vcs

できた?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください