F5のロードバランサー。普通にド忘れするのでメモ。
ちなみにCUI初期ログインはroot:default,
GUIはadmin:defaultで入れる。
確認Versionは13.1.1.5
※versionのEOLは以下で確認できる。
https://my.f5.com/manage/s/article/K5903
■機器ステータス確認
###バージョン/ハードウェア
tmsh show sys version
tmsh show sys hardware
tmsh show sys failover ###Act/Stb表示
tmsh show cm traffic-group
###負荷/CPU/メモリ
tmstat
show sys performance system
tmsh show sys cpu
tmsh show sys memory
###ネットワーク
tmsh show net fdb all ###MACアドレステーブル
tmsh show net arp all ###ARPテーブル
tmsh show net interface
tmsh show net vlan all ###VLAN
tmsh list net route
tmsh show net route all
tmsh show sys connection ###システム全体のconnection。protocol tcpをつけるとTCPプロトコルに絞って表示
tmsh list ltm pool
tmsh show ltm node ###ノード単位のコネクション表示
tmsh show ltm persistence persist-records ###LBが保持しているパーシステンステーブルを表示
tmsh list ltm pool
tmsh show ltm pool ###ノードとプールの情報を表示
###ログ
tmsh show sys log all
tmsh show sys log ltm lines 100
tail -f /var/log/ltm
###その他
list ltm monitor ###ヘルスチェックの設定確認
/config/snmp/snmpd.conf ###SNMP。Linuxと同じようにviで設定
■ライセンス適用
get_dossier -b ライセンス
出てきた文字列をファイルにしてF5のサイトへアップロード→ライセンスファイルができる
ライセンスファイルを配置し、
reloadlic
を実行。
cat /config/bigip.license
tmsh show sys license
で確認
tmsh revoke sys license
でライセンス解除
■設定方法
confファイル↓
/config/bigip.conf
/config/bigip_base.conf
viで直接いじることができるが、変更後は以下コマンドで反映が必要。
(tmsh)# load sys config
(tmsh)# save sys config
※tmshコマンドで設定を入れた場合はsaveのみでOK.
※GUI上は即時反映のためその後のアクションは不要。
・bigip.confとbigip_base.confの違い
⇒ /config/bigip.conf
active/standbyで同期される共通の設定が入っている。
VirtualServer、route、selfipのfloatingアドレス(gateway)など。
⇒ /config/bigip_base.conf
機器固有の設定が入っている。
ホスト名、VLAN、Interface、selfipのnon-floatingアドレス(機器物理アドレス)など。
・管理用アドレス設定(CLI)
(tmsh)# modify sys global-settings mgmt-dhcp disabled
(tmsh)# create /sys management-ip 10.1.1.1/24
(tmsh)# create /sys management-route default gateway 10.1.1.254
(tmsh)# save / sys config partitions all
・IF追加
tmsh show net interface all-properties
で確認できる。
"UNINIT"状態はIFとしては認識しているが、初期化されていない。
VLANに紐づけるとUPに変わる。
物理IFが認識された時点でconf上で反映されていることもあるが、見えていない場合は以下追加すればよい。
GUIならNetworkタブの"Interfaces"から確認。
Configファイルに追記する形でもOK。enable/disableも可能。1.Xを入れる。
}
net interface 1.1 {
disabled
lldp-tlvmap 114552
media-fixed 10000T-FD
}
}
net interface 1.X {
media-fixed 10000T-FD
}
net stp /Common/cist {
interfaces {
1.1 {
external-path-cost 200000
internal-path-cost 200000
}
1.X {
external-path-cost 200000
internal-path-cost 200000
}
IFをdisableにしたい場合のコマンド↓
tmsh modify net interface 1.X disabled
tmsh save sys config
・VLAN設定
GUIならNetworkタブ→"VLANs"。
Configは
}
net vlan /Common/VLAN_NAME {
interfaces {
1.X { }
}
sflow {
poll-interval-global no
sampling-rate-global no
}
tag VLAN_NUM
}
net fdb vlan /Common/VLAN_NAME { }
net stp /Common/cist {
vlans {
/Common/VLAN_NAME1
/Common/VLAN_NAME2
}
net route-domain /Common/0 {
id 0
vlans {
/Common/VLAN_NAME1
/Common/VLAN_NAME2
CLIは
create net vlan VLAN_NAME { interfaces add { 1.X { } } sflow { poll-interval-global no sampling-rate-global no } tag VLAN_NUM }
###確認
tmsh show net vlan all
・Selfip設定
自分に付けるアドレス(non-floating)とvip(floating)を設定できる。上記で設定したVLANに紐づけ。
floatingはbigip_base.confだが、Syncで同期される。
GUI上設定はNetworkタブ→SelfIPs
}
net self /Common/SELFIP_NAME1 {
address 192.168.10.101/24
traffic-group /Common/traffic-group-local-only
vlan /Common/VLAN_NAME1
}
net self /Common/SELFIP_NAME2 {
address 192.168.100.200/24
traffic-group /Common/traffic-group-1
vlan /Common/VLAN_NAME2
}
上記例だと上段がnon-floating,下段がfloatingになる。
CLIは以下。
create net self SELFIP_NAME { address XXX.XXX.XXX.XXX/255.255.255.0 vlan VLAN_NAME allow-service default traffic-group traffic-group-local-only}
###確認
tmsh list net self
・node(realserver)/pool設定
Syncで同期。GUIはLocalTrafficタブ→Node
}
ltm node /Common/NODENAME {
address X.X.X.X
monitor /Common/icmp
}
ltm pool /Common/POOLNAME {
members {
/Common/NODENAME:80 {
address X.X.X.X
monitor /Common/tcp-80
}
create ltm node /Common/NODENAME { address X.X.X.X monitor /Common/icmp }
create ltm pool /Common/POOLNAME { members add { /Common/NODENAME:80 address X.X.X.X } monitor /Common/tcp-80 }
###確認
show ltm node
show ltm pool
・VirtualServer設定
Syncで同期。GUIはLocalTrafficタブ→Virtual Servers
}
ltm virtual /Common/VS_NAME {
destination /Common/XXX.XXX.XXX.XXX:PORT
ip-protocol tcp
mask 255.255.XXX.XXX
profiles {
/Common/Profile_NAME { }
/Common/tcp { }
}
source 0.0.0.0/0
source-address-translation {
pool /Common/Pool_NAME ###Pool指定する場合
type snat
}
translate-address enabled
translate-port enabled
}
ltm virtual-address /Common/XXX.XXX.XXX.XXX {
address XXX.XXX.XXX.XXX
arp enabled
mask 255.255.XXX.XXX
traffic-group /Common/traffic-group-1
}
アドレスは同じものになる。※VS設定のDestinationAddress.
VIPなのでtraffic-groupはfloating.
CLIなら以下。
create ltm virtual VS_NAME { destination XXX.XXX.XXX.XXX:webcache ip-protocol tcp mask 255.255.255.255 profiles add { Profile_NAME { } tcp {} } source 0.0.0.0/0 source-address-translation { pool Pool_NAME type snat } translate-address enabled translate-port enabled }
###確認
tmsh show ltm virtual
tmsh list ltm virtual
show ltm pool
show ltm node
・Staticroute追加
Syncで同期される。GUIならNetworkタブ→Routes
}
net route /Common/ROUTENAME {
gw 192.168.10.254
network 172.21.30.0/24
}
VLAN間ルーティング許可設定
create ltm virtual Forwarding ip-forward
CLIは以下
tmsh create net route VLAN_NAME network XXX.XX.XXX.0/24 gw XXX.XX.XXX.254
###確認
tmsh list net route
tmsh show net route all
・DNS設定
Syncで同期される。GUIならNetworkタブ→DNS Resolvers
}
net dns-resolver /Common/f5-aws-dns {
forward-zones {
amazonaws.com {
nameservers {
8.8.8.8:53 { }
}
CLIは以下
###確認
tmsh list net dns-resolver
tmsh show net route all
・Sync
bigip.confをStandby機と同期する。※デバイスグループ等の設定が完了していることが前提。
たとえばActive機で設定を追加し、Standby機に設定を反映させたい場合、
Active機上のGUIでDevice Management⇒OverviewよりSyncを押下するか、以下コマンド実行。
tmsh run cm config-sync to-group device-group-name
###確認
tmsh show sys failover
tmsh show cm traffic-group
to-groupは自分設定を反映させる。fromだとstandby機の設定を持ってくる。