Contents
Overview
BIG-IP を Active/Standby 構成で冗長化します。
TMOS Shell の起動
TMOS Shell を起動します。
[root@localhost:Active:Standalone] config # tmsh
root@(localhost)(cfg-sync Standalone)(Active)(/Common)(tmos)#
デバイス名の変更
デバイス名を変更します。これはホスト名とは別の設定で、初期値は bigip1 になっています。show コマンドで CentMgmt の設定値を確認します。
root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# mv cm device bigip1 bigip-1.si1230.com root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device ------------------------------------------------------ CentMgmt::Device: bigip-1.si1230.com ------------------------------------------------------ Hostname bigip-1.si1230.com Mgmt IP 10.0.33.112 Alternate Mgmt IP None Configsync IP :: Mirroring IP :: Mirroring Secondary IP :: Failover Multicast IP :: Failover Unicast IP(s) - Time Delta to Current Device (sec) - Device Status
bigip-2 も同じように変更します。
root@(bigip-2)(cfg-sync Standalone)(Active)(/Common)(tmos)# mv cm device bigip1 bigip-2.si1230.com root@(bigip-2)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device ------------------------------------------------------ CentMgmt::Device: bigip-2.si1230.com ------------------------------------------------------ Hostname bigip-2.si1230.com Mgmt IP 10.0.33.113 Alternate Mgmt IP None Configsync IP :: Mirroring IP :: Mirroring Secondary IP :: Failover Multicast IP :: Failover Unicast IP(s) - Time Delta to Current Device (sec) - Device Status
ConfigSync
ConfigSync の IP アドレスを設定します。本稿では HA の IP アドレスを設定しています。ConfigSync は名前の通り、冗長化された BIG-IP 間で設定を同期します。
root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify cm device bigip-1.si1230.com configsync-ip 10.0.36.112 root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device ------------------------------------------------------ CentMgmt::Device: bigip-1.si1230.com ------------------------------------------------------ Hostname bigip-1.si1230.com Mgmt IP 10.0.33.112 Alternate Mgmt IP None Configsync IP 10.0.36.112 Mirroring IP :: Mirroring Secondary IP :: Failover Multicast IP :: Failover Unicast IP(s) - Time Delta to Current Device (sec) - Device Status
bigip-2 も同じように変更します。
root@(bigip-2)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify cm device bigip-2.si1230.com configsync-ip 10.0.36.113 root@(bigip-2)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device ------------------------------------------------------ CentMgmt::Device: bigip-2.si1230.com ------------------------------------------------------ Hostname bigip-2.si1230.com Mgmt IP 10.0.33.113 Alternate Mgmt IP None Configsync IP 10.0.36.113 Mirroring IP :: Mirroring Secondary IP :: Failover Multicast IP :: Failover Unicast IP(s) - Time Delta to Current Device (sec) - Device Status
Failover Network
Failover Network の IP アドレスを設定します。本稿では HA の IP アドレスを設定しています。Failover Network はデフォルトで UDP:1026 を使用します。
root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify cm device bigip-1.si1230.com unicast-address {{ ip 10.0.36.112 }} root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device ------------------------------------------------------ CentMgmt::Device: bigip-1.si1230.com ------------------------------------------------------ Hostname bigip-1.si1230.com Mgmt IP 10.0.33.112 Alternate Mgmt IP None Configsync IP 10.0.36.112 Mirroring IP :: Mirroring Secondary IP :: Failover Multicast IP :: Failover Unicast IP(s) 10.0.36.112 Time Delta to Current Device (sec) - Device Status
bigip-2 も同じように変更します。
root@(bigip-2)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify cm device bigip-2.si1230.com unicast-address {{ ip 10.0.36.113 }} root@(bigip-2)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device ------------------------------------------------------ CentMgmt::Device: bigip-2.si1230.com ------------------------------------------------------ Hostname bigip-2.si1230.com Mgmt IP 10.0.33.113 Alternate Mgmt IP None Configsync IP 10.0.36.113 Mirroring IP :: Mirroring Secondary IP :: Failover Multicast IP :: Failover Unicast IP(s) 10.0.36.113 Time Delta to Current Device (sec) - Device Status
Mirroring
Mirroring の IP アドレスを設定します。本稿では HA の IP アドレスを設定しています。Mirroring は冗長化された BIG-IP 間でセッションを同期します。
root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify cm device bigip-1.si1230.com mirror-ip 10.0.36.112 root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device ------------------------------------------------------ CentMgmt::Device: bigip-1.si1230.com ------------------------------------------------------ Hostname bigip-1.si1230.com Mgmt IP 10.0.33.112 Alternate Mgmt IP None Configsync IP 10.0.36.112 Mirroring IP 10.0.36.112 Mirroring Secondary IP :: Failover Multicast IP :: Failover Unicast IP(s) 10.0.36.112 Time Delta to Current Device (sec) - Device Status
bigip-2 も同じように変更します。
root@(bigip-2)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify cm device bigip-2.si1230.com mirror-ip 10.0.36.113 root@(bigip-2)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device ------------------------------------------------------ CentMgmt::Device: bigip-2.si1230.com ------------------------------------------------------ Hostname bigip-2.si1230.com Mgmt IP 10.0.33.113 Alternate Mgmt IP None Configsync IP 10.0.36.113 Mirroring IP 10.0.36.113 Mirroring Secondary IP :: Failover Multicast IP :: Failover Unicast IP(s) 10.0.36.113 Time Delta to Current Device (sec) - Device Status
Device Trust
Device Trust を設定します。
HA 専用ユーザーの追加
Device Trust は認証情報が必要となります。デフォルトの admin でも良いのですが、大抵の場合、admin は GUI での管理アクセスで使用します。仮に定期的なパスワード変更を求められる運用である場合、Device Trust の設定も変更が必要になりそうなので(試していませんが一度 Device Trust を設定した後はパスワード変更は関係しないかもしれません。ですが、実際にログインして操作するユーザーとシステムとしてアクセスするユーザーは分けたほうがきれいだと思います)、本稿では HA 専用ユーザーを別に作成して、Device Trust の設定に使用します。対象の全ての BIG-IP に下記を設定します。
root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# create auth user ha password ${password} partition-access add { all-partitions { role admin } } root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# list auth user ha auth user ha { description ha encrypted-password $6$q494WDoN$UeIUvYh4dxmggXRXZJBXaL8AO2Zbg/8pubjj4zLBB5q8Q1p5obQIB6QOV1J.JX/gtILwTfK/BO2usrD/WuLXU0 partition Common partition-access { all-partitions { role admin } } session-limit -1 shell none }
ユーザー追加後、GUI でアクセスすると初回のパスワード変更が求められます。これはデフォルトのパスワードポリシーによるもので、無効化することもできますが、本稿ではそのまま使用しています。初回パスワード変更をしないと後述の Device Trust 設定が失敗します。
Device Trust の設定
Device Trust を設定します。これは片方の BIG-IP のみ設定します。問題なければ対向の BIG-IP の情報が表示されます。
root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify cm trust-domain Root add-device { ca-device true device-ip 10.0.36.113 device-name bigip-2.si1230.com username ha password ${password} } root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device ------------------------------------------------------ CentMgmt::Device: bigip-1.si1230.com ------------------------------------------------------ Hostname bigip-1.si1230.com Mgmt IP 10.0.33.112 Alternate Mgmt IP None Configsync IP 10.0.36.112 Mirroring IP 10.0.36.112 Mirroring Secondary IP :: Failover Multicast IP :: Failover Unicast IP(s) 10.0.36.112 Time Delta to Current Device (sec) - Device Status - ------------------------------------------------------ CentMgmt::Device: bigip-2.si1230.com ------------------------------------------------------ Hostname bigip-2.si1230.com Mgmt IP 10.0.33.113 Alternate Mgmt IP None Configsync IP 10.0.36.113 Mirroring IP 10.0.36.113 Mirroring Secondary IP :: Failover Multicast IP :: Failover Unicast IP(s) 10.0.36.113 Time Delta to Current Device (sec) - Device Status connected
同じように bigip-2 でも確認します。
root@(bigip-2)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device
------------------------------------------------------
CentMgmt::Device: bigip-1.si1230.com
------------------------------------------------------
Hostname bigip-1.si1230.com
Mgmt IP 10.0.33.112
Alternate Mgmt IP None
Configsync IP 10.0.36.112
Mirroring IP 10.0.36.112
Mirroring Secondary IP ::
Failover Multicast IP ::
Failover Unicast IP(s) 10.0.36.112
Time Delta to Current Device (sec) -
Device Status connected
------------------------------------------------------
CentMgmt::Device: bigip-2.si1230.com
------------------------------------------------------
Hostname bigip-2.si1230.com
Mgmt IP 10.0.33.113
Alternate Mgmt IP None
Configsync IP 10.0.36.113
Mirroring IP 10.0.36.113
Mirroring Secondary IP ::
Failover Multicast IP ::
Failover Unicast IP(s) 10.0.36.113
Time Delta to Current Device (sec) -
Device Status
Device Group
Device Group を設定します。これも片方の BIG-IP のみ設定します。問題なければ対向の BIG-IP の情報が表示されます。
root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# create cm device-group device-group-1 devices add { bigip-1.si1230.com bigip-2.si1230.com } type sync-failover network-failover enabled root@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device-group --------------------------------------------------- CM::Device-Group --------------------------------------------------- Group Name device-group-1 Member Name bigip-1.si1230.com Time Since Last Sync (HH:MM:SS) - Last Sync Type none CID Originator - CID Time (UTC) - LSS Originator - LSS Time (UTC) - --------------------------------------------------- CM::Device-Group --------------------------------------------------- Group Name device-group-1 Member Name bigip-2.si1230.com Time Since Last Sync (HH:MM:SS) - Last Sync Type none CID Originator - CID Time (UTC) - LSS Originator - LSS Time (UTC) - ----------------------------------------------------------- CM::Device-Group ----------------------------------------------------------- Group Name device_trust_group Member Name bigip-1.si1230.com Time Since Last Sync (HH:MM:SS) - Last Sync Type none CID Originator /Common/bigip-1.si1230.com CID Time (UTC) 2023-Jan-20 03:37:48 LSS Originator /Common/bigip-1.si1230.com LSS Time (UTC) 2023-Jan-20 03:37:48 ----------------------------------------------------------- CM::Device-Group ----------------------------------------------------------- Group Name device_trust_group Member Name bigip-2.si1230.com Time Since Last Sync (HH:MM:SS) 00:04:38 Last Sync Type full-load-auto-sync CID Originator /Common/bigip-1.si1230.com CID Time (UTC) 2023-Jan-20 03:37:48 LSS Originator /Common/bigip-1.si1230.com LSS Time (UTC) 2023-Jan-20 03:37:48 ----------------------------------------------------- CM::Device-Group ----------------------------------------------------- Group Name gtm Member Name bigip-1.si1230.com Time Since Last Sync (HH:MM:SS) - Last Sync Type none CID Originator /Common/bigip1 CID Time (UTC) 2023-Jan-19 15:31:58 LSS Originator /Common/bigip1 LSS Time (UTC) 2023-Jan-19 15:31:58
初回同期
この時点で bigip-2 が Active に切り替わった為、bigip-2 で操作します。基本的には Active 側で操作します。実行後、プロンプトが In Sync になれば正常に同期が完了しています。
root@(bigip-2)(cfg-sync Awaiting Initial Sync)(Active)(/Common)(tmos)# run cm config-sync to-group device-group-1
root@(bigip-2)(cfg-sync In Sync)(Active)(/Common)(tmos)#
Floating IP
Floating IP (FIP) は、Cisco の HSRP に相当するものです。つまり BIG-IP に向けてルーティングを設定するホストの Gateway となる IP アドレスを冗長化します。Floating IP は Config Sync の対象となりますので、片方で設定して同期します。
root@(bigip-2)(cfg-sync In Sync)(Active)(/Common)(tmos)# create net self external-ipv4-fip address 10.0.34.114/24 vlan external traffic-group traffic-group-1 root@(bigip-2)(cfg-sync In Sync)(Active)(/Common)(tmos)# create net self internal-ipv4-fip address 10.0.35.114/24 vlan internal traffic-group traffic-group-1 root@(bigip-2)(cfg-sync In Sync)(Active)(/Common)(tmos)# create net self external-ipv6-fip address fd00:0000:0000:0000:0000:0000:0a00:2272/120 vlan external traffic-group traffic-group-1 root@(bigip-2)(cfg-sync In Sync)(Active)(/Common)(tmos)# create net self internal-ipv6-fip address fd00:0000:0000:0000:0000:0000:0a00:2372/120 vlan internal traffic-group traffic-group-1 root@(bigip-2)(cfg-sync Changes Pending)(Active)(/Common)(tmos)# run cm config-sync to-group device-group-1
設定の保存
設定を保存します。未確認ですが Config Sync すると既に保存されているかもしれません。
root@(localhost)(cfg-sync Standalone)(NO LICENSE)(/Common)(tmos)# save sys config
TMOS Shell の終了
TMOS Shell を終了します。
root@(localhost)(cfg-sync Standalone)(NO LICENSE)(/Common)(tmos)# quit
[root@localhost:NO LICENSE:Standalone] config #