IBM Cloud VRA config-syncを利用したPasswordの同期方法


この記事の目的

IBMCloudにてネットワークアプライアンスとして、よく利用されるVRA機器についての記事となります。
冗長構成で利用しているVRA2台へのログインを同一のパスワードで入れるようにしたいという目的の下で、Password同期の検証をしたので手順をこちらに記載させていただきます。

環境構成

  • IBMCloud AT&T vRouter 5600 1801q *2台

手順

  • Config-Sync用のユーザID 'syncuser' を作成
  • 1号機 & 2号機で'syncuser'を作成
  • groupをsecrets, levelをadminに指定 #これを忘れるとCommit時にFailでハマるので注意
vyatta@vra01# set system login user syncuser authentication plaintext-password zaq12wsx
vyatta@vra01# set system login user syncuser group 'secrets'
vyatta@vra01# set system login user syncuser level 'admin'
vyatta@vra01# commit
vyatta@vra02# set system login user syncuser authentication plaintext-password zaq12wsx
vyatta@vra02# set system login user syncuser group 'secrets'
vyatta@vra02# set system login user syncuser level 'admin'
vyatta@vra02# commit

'syncuser'が作成されていることを確認

vyatta@vra01:~$ show configuration commands | grep syncuser
set system login user syncuser authentication encrypted-password '$1$zFIc.9J4$BbRnklrykBipE8Z5CTUK0/'
vyatta@vra01:~$
vyatta@vra02:~$ show configuration commands | grep syncuser
set system login user syncuser authentication encrypted-password '$1$j.AmdvoZ$4M9HaSLw6JlS8fG8thJ9E/'
vyatta@vra02:~$
  • config-sync設定 (10.193.xx.aa: VRA#1, 10.193.xx.bb: VRA#2 それぞれの管理アドレスを指定)

VRA#1,VRA#2両方に、下記設定を入れてください。

set system config-sync remote-router 10.193.xx.aa password 'zaq12wsx'
set system config-sync remote-router 10.193.xx.aa sync-map 'SYNC'
set system config-sync remote-router 10.193.xx.aa username 'syncuser'
set system config-sync remote-router 10.193.xx.bb password 'zaq12wsx'
set system config-sync remote-router 10.193.xx.bb sync-map 'SYNC'
set system config-sync remote-router 10.193.xx.bb username 'syncuser'

次に、sync-mapにて設定を同期する対象となるコマンド文字列を指定します。
下記で指定するルールが同期対象となります。
すでにNAT/Firewall/VPN設定がrule1-3の同期対象として設定してあったため、rule4として
新規にvyattaユーザのパスワード同期するルールを追加します。

set system config-sync sync-map SYNC rule 1 action 'include'
set system config-sync sync-map SYNC rule 1 location 'service nat'
set system config-sync sync-map SYNC rule 2 action 'include'
set system config-sync sync-map SYNC rule 2 location 'security firewall'
set system config-sync sync-map SYNC rule 3 action 'include'
set system config-sync sync-map SYNC rule 3 location 'security vpn'

VRA#1,VRA#2両方に、rule4を追加する

set system config-sync sync-map SYNC rule 4 action 'include'
set system config-sync sync-map SYNC rule 4 location 'system login user vyatta’

以上でvyattaユーザのパスワード同期の準備が整いました。

確認

試しに、VRA#1にてパスワード変更をしてみます。

vyatta@vra01# set system login user vyatta authentication plaintext-password xsw23edc
[edit]
vyatta@vra01# commit
syncing configuration to remote-router 10.193.xx.bb ...
>>>>>>>>>>>>>>>>>>>>
waiting for response from remote-router 10.193.xx.bb ...
10.193.xx.bb: Success
syncing configuration to remote-router 10.193.xx.aa ...

There are no configuration changes to sync to the remote-router 10.193.xx.aa ...
10.193.xx.aa: Success

[edit]
vyatta@vra01#

下記、VRA#1で設定した内容がVRA#2に反映されていることが確認できます。

最後に

今回、Sync用のユーザとして’syncuser'を'vyatta'ユーザと別に用意しましたが、変更対象ユーザである'vyatta'ユーザをSync用ユーザとして指定できないか、別途検証を行いました。
結果としては、同期はうまくいきませんでした。sync時にvyattaユーザにパスワードの不整合が起きてしまうため、Commitが失敗します。そのため、パスワード変更同期の対象ユーザとSync用のユーザは分ける必要があるようです。

また、ConfigSyncの設定についての詳細は下記にありますので、合わせてご参照ください。