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
できた?