Network/BIG-IP

tmshコマンド

コマンド  [モジュール]  [コンポーネント]  [パラメータ]
  • モジュール、コンポーネントだけ実行すると、その場所へ移動し、そのコンポーネント上でコマンドを実行
    net vlan で対象モジュール/コンポーネントに移動後に、show コマンド(show net vlanコマンドと全く同じ動作)
  • TAB補完と、? でコマンドの簡易説明表示
  • list や show コマンド は | grep で表示を絞り込むことが可能

コマンド説明コマンド説明コマンド説明
list設定内容を確認するshow統計情報やステータスの表示saveコンフィグのセーブ
create設定の追加delete設定の削除modify設定の変更
モジュールコンポーネント
authcert      device-group    sniff-updates    trust-domain        watch-trafficgroup-device
config-sync   failover-status   sync-status     watch-devicegroup-device
device     key         traffic-group    watch-sys-device
cliadmin-partitions  global-settings  history  preference  script  transaction
cmcert      device-group    sniff-updates   trust-domain        watch-trafficgroup-device
config-sync   failover-status   sync-status    watch-devicegroup-device
device     key         traffic-group   watch-sys-device
ltmdefault-node-monitor  nat    pool   snat        snatpool     virtual
ifile         node    rule   snat-translation  traffic-class  virtual-address
netarp       ipsec-stat       packet-filter-trusted  rst-cause        trunk
bwc-policy    lldp-globals      port-mirror       self          vlan
cmetrics     lldp-neighbors     route          self-allow       vlan-allowed
fdb       ndp           route-domain      stp           vlan-group
interface    packet-filter      router-advertisement  stp-globals       wccp
sysclassification-signature  dns         hypervisor-info   management-route   sshd
clock           failover       icmp-stat      mcp-state      state-mirroring
cluster          feature-module    ip-address      memory        sync-sys-files
config           folder        ip-stat       ntp         syslog
config-diff        geoip        iprep-status     proc-info      tmm-info
connection         global-settings   license       provision      tmm-traffic
console          ha-group       log         pva-traffic     traffic
cpu            ha-status      log-rotate      scriptd       ucs
daemon-ha         hardware       mac-address     service       version
datastor          host-info      management-dhcp   smtp-server
db             httpd        management-ip    snm
utilbash       domain-tool    get-dossier    ping       ssldump      tracepath6  zebos
ccmode      fips-card-sync  imish       ping6       tcpdump      traceroute
dig        fips-util     lsndb       qkview      test-monitor   traceroute6
dnat       get-ccn-dossier  netstat      racoonctl     tracepath     vconsole


初期設定

初期パスワード

CLI:root / default
GUI:admin / admin
※ SSHのログインは、認証方式を「keybord Interactive」にしないとログインできない

IPアドレス設定

  • tmsh モードに移行
    tmsh
  • DHCP無効
    modify / sys global-settings mgmt-dhcp disabled
  • IPアドレスの確認(DHCP環境だと勝手に付与されてる)
    list / sys management-ip
  • IPアドレス削除
    delete / sys management-ip <IPアドレス>/<サブネット>
  • 管理IP作成
    create / sys management-ip <IPアドレス>/サブネットマスク
    create / sys management-route default gateway <IPアドレス>
  • コンフィグ保存
    save / sys config

ライセンス認証

  • 管理サーバ(https://<管理IP>/)にログインする
  • Setup Utility の [Next] - [Actuvate]
  • Base Registration Key に 取得したライセンスを入力
    • Activation Method ネット環境に繋がるなら「Automatic」を選択し [Next] で直ぐに完了
    • ローカルで認証する場合は「Manual」を選択し [Next]
      Step1:Dossier に書かれてる文字列をコピーする
      Step2:URL(ライセンスサーバー)へ移動し、Dossierを貼り付けて [Next] Licenseファイルが出てくるので全ての文字をコピーする
      Step3:Step2でコピーした内容を貼り付けて [Next]
  • Resource Provisioningの設定
    Local Traffic(LTM)のプルダウンから [Nominal] を選択し [Next]
  • Platformの設定
    Host Name と、Passwordを入力し [Next]
  • Networkの設定
    今は特に設定しないので、[Finish] を押下
  • 再ログインし [Finished] でセットアップ完了
  • 以下にライセンスファイルは作成されている
    /config/bigip.license

     

VLAN

VLAN作成

-- 指定したIFを VLAN名に 紐付ける
create / net vlan <VLAN名> interfaces add { <IF番号> [ {tagged} ] }
※ IEEE802.1Qを使用して1つのIFに複数のVLANを紐付ける場合は、IF番号の後に { tagged } を付与する
-- eth1を 外部向けVLAN、eth2を 内部向けVLANとして作成
create / net vlan VLAN-EXTERNAL interfaces add { 1.1 }
create / net vlan VLAN-INTERNAL interfaces add { 1.2 }
-- eth3 に VLAN10 と VLAN20 を作成
create / net vlan VLAN10 interfaces add { 1.3 { tagged } }
create / net vlan VLAN20 interfaces add { 1.3 { tagged } }

VLANに Self IPを割り当てる

create / net self <名前> address <IPアドレス>/<サブネット> [ allow-service add { 許可するサービス } ] vlan <VLAN名>
-- VLANにIPアドレスを付与する
create / net self ext-ip address 10.1.1.254/24 vlan VLAN-EXTERNAL 
create / net self int-ip address 192.168.100.254/24 vlan VLAN-INTERNAL

割り当てた Self IPを確認する

list / net self


 

Node

負荷分散対象となる物理サーバのこと

ノード登録/監視

create / ltm node <ノード名> { address <IPアドレス> monitor <モニター方法> }


 

Pool

プールの作成

create / ltm pool <プール名>

プールメンバーの作成

modify / ltm pool <プール名> members add { <ノード名>:<Port> }

プールのモニタ

modify / ltm pool <プール名> monitor <モニター方法>

負荷分散方式を変更(デフォルトはRound-Robin)

modify / ltm pool <プール名> load-balancing-mode <負荷分散方式>


 

Virtual Server

バーチャルサーバ作成

create / ltm virtual <バーチャルサーバ名>

バーチャルサーバのIPアドレス(LISTENするアドレス:ポート)

modify / ltm virtual <バーチャルサーバ名> destination <IPアドレス>:<Port> mask 255.255.255.255

IPプロトコルと、プロファイルの指定

modify / ltm virtual <バーチャルサーバ名> ip-protocol <プロトコル>
modify / ltm virtual <バーチャルサーバ名> profiles replace-all-with { <プロファイル> }

プロファイルはプロトコルや、アプリケーション毎のオプションの集まりで、デフォルトで多く用意されている。自分で新しく作成することも可能
プロファイルの内容により、複数のプロファイルを適用することが可能(HTTPとTCPなど)
単純なHTTP負荷分散をするなら、fastL4(Performance(Layer4)Type) でスイッチングすると効率が良い

Profile説明既存一例
Servicesアプリケーションレベル(L7)の処理を行う場合に使用。※ L7のProfileを使用する場合は、L4のProfile適用も必須HTTP、FTP、DNS
Persisteceパーシステンス(セッション維持機能)を行う場合に使用なし
Protocolプロトコルレベル(L4)の処理を行う場合に使用FastL4、TCP、UDP
SSLSSLアクセラレーションを行う場合に使用Client、Server
AuthenticationLDAP、RADIUSなど認証に基づく処理を行う場合に使用Profiles
Other上記に分類されない特殊なProfileNTML、Stream

バーチャルサーバとプールを紐付ける

modify / ltm virtual <バーチャルサーバ名> pool <プール名>

アドレス変換

バーチャルサーバと、メンバーサーバのIPアドレスが別ネットワークの場合は、アドレス変換を行わないと通信ができない
10.1.1.1/24 のパケットを受信し 192.168.100.1/24 へ送信する時は、10.1.1.1/24 を 192.168.100.1/24 のネットワークと同じIPアドレスに変換する必要がある

アドレス変換を有効化

modify / ltm virtual <バーチャルサーバ名> translate-address enabled 

クライアントのソースIPを変更

modify / ltm virtual <バーチャルサーバ名> source-address-translation { type <タイプ> }
タイプ説明
automapバーチャルサーバにリクエストしたIPアドレスと同じネットワークにある BIG-IP のIPアドレスに変換する
snatsnatpoolで指定したIPアドレスの何れかのIPアドレスに変換する


NAT / SNAT

NAT

create / ltm nat <名称> { originating-address <変換元のIP> translation-address <変換後のIP> }

送信元のIPを、特定のIPに変換する。 1:1 のIPアドレスで紐付ける

create / ltm nat MAT { originating-address 192.168.1.1 translation-address 1.1.1.1 }
[送信元IP/192.168.1.1 宛先IP/1.1.1.100] ⇒ 【 NAT 】 ⇒ [送信元IP/1.1.1.1 宛先IP/1.1.1.100]

SNAT

create ltm snat <名称> {TYPE} origins add { <変換対象ネットワーク>/<プレフィックス> }

指定したネットワーク範囲のIPアドレスを特定のIPアドレスに紐付ける(N:1の変換)
デフォルトでTCP/UDPのみ変換する。ICMPも変換したい場合は、[System] - [Configuration] - [Local Traffic] - [General] の 「SNAT Packet Forwarding」を「All Traffic」に変更する

TYPE説明設定例
automapBIG-IPのIPアドレスに変換するcreate ltm snap SNAT automap origins add { 0.0.0.0/0 }
translation 変換後のIP指定したIPアドレスに変換するcreate ltm snat SNAT translation 192.168.11.77 origins add { 0.0.0.0/0 }
snatpool プールリスト指定したプールリスト内のIPアドレスに変換する
(プールリストを予め作成しておく必要がある
create / ltm snatpool POOLLIST members add { 192.168.11.11 192.168.11.12 }
create / ltm snat SNAT snatpool POOLLIST origins add { 0.0.0.0/0 }


Persistece

create ltm persistence コンポーネント パーシステンス名前 { オプション }
コンポーネント説明
cookieクッキーを利用
source-addr送信元(クライアント)のIPアドレス
オプション説明
timeoutパーシステンスが有効な時間(秒)

作成したパーシステンスをVirtual Server へ紐付ける

modify / ltm virtual バーチャルサーバー名 persist replace-all-with { パーシステンス名 { default yes } } 


冗長化

VLAN設定(Active/Standby両方で実施)

LAN作成

create / net vlan <VLAN名> interfaces add { <IF番号> }

作成したVLANにIPアドレスを設定

create / net self <名前> address <IPアドレス>/<プレフィックス> allow-service default vlan <VLAN名>

冗長構成の設定

GUI管理ツールから [Device Management] - [Devices] からデバイス選択し [Device Connectivity] から以下の設定を行う

  • 「ConfigSync」 で 作成したVLANを指定する
  • 「Failover」 で 「Add」し作成したVLANを指定する
  • 「Mirroring」 で Primary に 作成したVLANを指定する(Secondaryは任意)

信頼関係設定(Activcでのみ実施)

  • [Device Management] - [Device Trust] - [Peer List]
    項目設定内容
    Device IP AddressStandby機のIPアドレス(HA用に設定したVLANのIP)を指定
    Administrator UsernameGUIコンソールにログインする時のユーザー
    Administrator Password上記ユーザーのパスワード
    ※信頼関係を結ぶと、Device List に Standbyも表示される
    Peerした瞬間、StandaloneからDisconnectになってしまう。通常は、In Syncになる。原因不明・・・

デバイスグループ設定

信頼関係を結んだ機器間で、どの機器で冗長化するか設定する

  • [Device Management] - [Device Group]
    項目設定内容
    Name任意の名前
    Group TypeSync-Failover を選択する
    Members信頼関係を結んだデバイス一覧がでるので、冗長構成したいデバイスを選択する
    Network FailoverチェックをONにする

トラフィックグループ設定

デバイスグループ内で移動するオブジェクトの集合
オブジェクト集合体毎に冗長構成を組める(VirtualServer1/2はトラフィックグループ1、VirtualServer3/4はトラフィックグループ2といった設定が可能)
※[Device Management] - [Traffic Groups] に デフォルトで「traffic-group-1」が作成されているので、以降の手順はこのグループを使用して、FloatingIP と Virtual Server を作成する

  • [Network] - [Self IPs]
    項目設定内容
    Name任意の名前
    IP Address冗長構成用のIPアドレス(紐付けるVLANと同じネットワークにある任意のIPアドレスを指定する)
    VLAN / Tunnel上記IPアドレスと同じネットワークのVLANを指定
    Port LockdownこのIP上で許可するサービスを指定
    Traffic Grouptraffic-group-1(floating)を選択する
    -- コマンドでの設定例
    create / net self int-flo-ip address 192.168.100.100/24 allow-service default traffic-group traffic-group-1 vlan VLAN-INT
    create / net self ext-flo-ip address 10.1.1.100/24 allow-service none traffic-group traffic-group-1 vlan VLAN-EXT
  • [Local Traffic] - [Virtual Servers] - [Vitrual Address List] このリストのPropertiesにある Traffic Group に「traffic-grpu-1(floating)」が選択されていることを確認する
  • [Device Management] - [Traffic Groups] の Traffic-group-1 をクリックし「FailoverObjects」からオブジェクトが増えてることを確認

設定の同期

  • [Device Management] - [Overview] Activc機を選択し「Sync」を押下することで、Active⇒Standbyへ設定が同期される
     

Webの負荷分散設定例

BIG-IP_sample.png

VLAN作成
 -- eth1を 外部向けVLAN、eth2を 内部向けVLANとして作成
 create / net vlan VLAN-EXT interfaces add { 1.1 }
 create / net vlan VLAN-INT interfaces add { 1.2 }
 -- VLANにIPアドレスを付与する
 create / net self ext-ip address 10.1.1.254/24 vlan VLAN-EXT
 create / net self int-ip address 192.168.100.254/24 vlan VLAN-INT

Node登録
 create / ltm node node1 { address 192.168.100.1 monitor icmp }
 create / ltm node node2 { address 192.168.100.2 monitor icmp }

Pool設定
 create / ltm pool POOL_http
 modify / ltm pool POOL_http members add { node1:http }
 modify / ltm pool POOL_http members add { node2:http }
 modify / ltm pool POOL_http monitor http

persistence設定
 -- 70秒以内に同じ送信元IPからのアクセスであれば同じリアルサーバーへ振り分けられる
 modify / ltm persistence source-addr SourceIP { timeout 70 }

Virtual設定
 create / ltm virtual VIRTUAL_http
 modify / ltm virtual VIRTUAL_http destination 10.1.1.1:http mask 255.255.255.255
 modify / ltm virtual VIRTUAL_http ip-protocol tcp
 modify / ltm virtual VIRTUAL_http profiles replace-all-with { fastL4 }
 modify / ltm virtual VIRTUAL_http persist replace-all-with { SourceIP { default yes }
 modify / ltm virtual VIRTUAL_http pool POOL_http
 -- NAT変換を有効にする(VirualサーバのIP から Poolに紐付いてるメンバーのIPアドレスへ変換できるようにする)
 modify / ltm virtual VIRTUAL_http translate-address enabled

 

トラブルシューティング

システム情報

コマンド説明
show sys log モジュール指定したモジュール(ltm、messages、kernelなど)のログ確認。lines 行数 で表示する行数指定。/var/log/配下のログを直接確認しても良い
show sys clock現在時刻表示
show sys versionバージョン確認
show sys hardwareハードウェアステータス(S/Nの確認)
cat /config/bigip.conf
cat /config/bigip_base.conf
cat /config/bigip_user.conf
設定内容確認

ネットワーク

コマンド説明
show net interfaceインターフェースの状態表示
show net vlan allVLAN状態の確認
show net self作成されたInfterface(VLAN)毎のパケット統計情報
show net routeルーティングテーブル表示
show net arpARPテーブル表示
show net fdbMACアドレス表示
show sys connectionコネクションの確認(netstatのような情報)
show cm failover-statusログイン機器のActive/Standbyの確認
show cm traffic-groupトラフィックグループ毎のActive/Standbyの確認
show sys ha-status all-properties全てのHA Status Featureステータス情報
show ltm persistence persist-records [ all-properties ]保持しているパーシステンステーブルを表示
show ltm virtual [ 仮想サーバ名 ]Virtualサーバのステータス及びトラフィック統計の確認
show ltm pool [ POOL名 [members]]Pool毎のセッション数(Current Connections)やトラフィック統計の確認
show ltm node [ NODE名 ]Nodeのステータス及びトラフィック統計の確認
  • 特定のPOOLメンバーに紐付くメンバーのカレントコネクションとカレントセッションを表示
    (tmos)# show / ltm pool <POOL名> members | grep -e "Ltm::Pool Member" -e "Current .*-$" -e "Current S.*-"
     | Ltm::Pool Member: node1:80             
     |   Current Connections                             0        -
     |   Current Sessions                                -        0
     | Ltm::Pool Member: node2:80             
     |   Current Connections                             0        -
     |   Current Sessions                                -        0
  • show sys connection
    192.168.100.254:1659  192.168.100.1:8  192.168.100.254:1659  192.168.100.1:8  icmp  1  (tmm: 1)  none
    192.168.100.254:1657  192.168.100.1:8  192.168.100.254:1657  192.168.100.1:8  icmp  6   (tmm: 1)  none
    192.168.100.254:1655  192.168.100.1:8  192.168.100.254:1655  192.168.100.1:8  icmp  10  (tmm: 1)  none
    Total records returned: 3
  • show ltm persistence persist-records all-properties
    Sys::Persistent Connections
    source-address - 10.1.1.100:80 - 192.168.100.2:80
    -------------------------------------------------
      TMM           0
      Mode          source-address
      Value         10.1.1.1
      Age (sec.)    11              ★経過時間
      Virtual Name  /Common/VIRTUAL_http
      Virtual Addr  10.1.1.100:80
      Node Addr     192.168.100.2:80       ★リアルサーバーのIP
      Pool Name     /Common/POOL_http
      Client Addr   10.1.1.1           ★送信元のIPアドレス
      Local entry

リアルタイムでの状態確認

  • BIG-IP のトラフィックを制御している tmmプロセス観点でのリソース状態確認
    # tmstat
  • コネクションの状態を確認
    # bigtop -n -delay <秒数>
    # bigtop -once
                           |  bits  since       |  bits  in prior    |  current
                           |  Jun 24 02:05:22   |  0 seconds         |  time
    BIG-IP      ACTIVE     |---In----Out---Conn-|---In----Out---Conn-|  03:37:29
    big-ip.com              6.845M 63.35M   4094      0      0      0
    
    VIRTUAL ip:port        |---In----Out---Conn-|---In----Out---Conn-|-Nodes Up--
    /Common/10.1.1.100:http 179400 1.000M     18      0      0      0      2
    
    NODE ip:port           |---In----Out---Conn-|---In----Out---Conn-|--State----
    /Common/node1:http      105168 856328      7      0      0      7 UP
    /Common/node2:http       74232 144392     11      0      0     11 UP

ログ取得

  • 一括取得(負荷が掛かる為、nice でCPU優先度を最低にしている)
    # nice -n 19 qkview
    Gathering System Diagnostics: Please wait ...
    Diagnostic information has been saved in:
    /var/tmp/big-ip.com.tgz
    Please send this file to F5 support.
  • WEB管理画面から取得する場合
    [System] - [Support] で QKView にチェックを入れて[Start]
  • 個別のログ
    # ls -ltr /var/log
    -rw-r--r-- 1 root   root   11498 Sep 20 08:30 boot.log
    -rw-r--r-- 1 root   root     556 Sep 20 08:30 mysql.out
    -rw-r--r-- 1 root   root     132 Sep 20 08:30 snmpd.log
    -rw-r--r-- 1 root   root       0 Sep 20 08:30 devmgmtd.out
    -rw-rw-r-- 1 root   tomcat   103 Sep 20 08:30 webui.log
    -rw-r--r-- 1 root   root   11552 Sep 20 08:30 daemon.log
    -rw-r--r-- 1 root   root     806 Sep 20 08:30 sflow_agent.log
    -rw-r--r-- 1 root   root    1277 Sep 20 08:30 messages  ★Application Messages
    -rw-r--r-- 1 root   root     715 Sep 20 08:30 tmm.start
    -rw-r--r-- 1 root   root    4157 Sep 20 08:30 tmipsecd
    -rw-r--r-- 1 root   root   11586 Sep 20 08:31 tmm    ★Traffic Manager Microkernel Logs
    -rw-r--r-- 1 root   root    1988 Sep 20 08:31 gtm
    -rw-r--r-- 1 root   root     540 Sep 20 08:31 apm
    -rw-rw-r-- 1 root   utmp   24576 Sep 20 08:36 wtmp
    -rw-r--r-- 1 root   root    2951 Sep 20 08:36 secure
    -rw-r--r-- 1 root   root     292 Sep 20 08:36 lastlog
    -rw-r--r-- 1 root   root   46283 Sep 20 08:43 ltm    ★Local Traffic Manager Log(bigipServiceDownとか)
    -rw-r--r-- 1 root   root   11954 Sep 20 08:43 kern.log  ★Linux Kernel Messages(DISK OFFLINEとか)
    -rw-r--r-- 1 root   root   10760 Sep 20 08:43 bigdlog
    -rw-r--r-- 1 root   root     812 Sep 20 08:44 user.log
    -rw-r--r-- 1 root   root   11563 Sep 20 08:44 audit
    -rw-r--r-- 1 root   root     233 Sep 20  2016 maillog
    -rw-r--r-- 1 root   root     492 Sep 20  2016 confpp.log
    -rw-r--r-- 1 root   root   45039 Sep 20  2016 dmesg

トップ   編集 凍結解除 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-06-27 (火) 21:58:55 (113d)