big-ip tmsh cli で設定

memo
v11.5.1 ve版


v11からshow running-config one-line が使えるようになったのでその出力を見れば、だいたいわかる。
ただし、例えばjuniper srx, screenos の場合はset address ... のように"set"も出力されるけど
bigipはcreate ltm node ... のように"create"がつかなかったから、show runの結果をそのまま流し込むことは不可能ぽい。

あと
show running-config で

ip-protocol tcp

こういうkey value のようなものはそのまま続けて指定すれば良い。(設定項目として1つしか選べないものがこのタイプ)

create ltm virtual vs_name ip-protocol tcp ....

profilesやmemberのように複数選べるようなもの

profiles {
  fastL4 { }
}

の場合はこんな感じ

create ltm virtual vs_name profiles add { fastL4 } ....

ltm

  • node追加

ltm node の後にNameを指定。
NameをIPアドレスで指定した場合はaddress が省略可能
必要であればdescription を書いておく

# create ltm node node1 address 192.168.0.1 description hogehoge
# create ltm node 192.168.0.2
  • pool追加

さっき作ったnode1と192.168.0.2 をmointor httpでpool にする
priority, limit など何も指定しない例
lb-methodはdefaultでround-robin。

create ltm pool example.com-http members add { node1:80 192.168.0.2:80 } monitor http

各node にlimitなどを設定する場合は name:port の後に{} で各値を設定する。

以下、見易さのために改行してるけるけど本当は一行で書く

create ltm pool example.com-http2 members add
  { cybermail_test:80 { connection-limit 100 }
    test1:80          { session user-disabled }
  } monitor http
  • virtual server

必須項目はvirtualserver-name, destination (vip:port)、pool
NATはsource-address-translation { type automap } などで。

create ltm virtual example.com-http
  { destination 10.0.0.10:80
    mask 255.255.255.255
    ip-protocol tcp
    pool example.com-http
  }
  
create ltm virtual example.com-http
  { destination 10.0.0.11:80
    mask 255.255.255.255
    ip-protocol tcp
    pool example.com-http
    profiles add { http }
    persist replace-all-with { cookie }
  }

afm (security)

  • address list

この例はjuniper風にaddressを作って、それをgroupにしているけど、
big-ip afmではaddress-list自体に複数のipを設定できるので、groupのようなものは作らなくても良い。

create security firewall address-list list1 addresses add { 192.168.0.10/32 }
create security firewall address-list list2 addresses add { 192.168.0.11/32 }
create security firewall address-list group1 address-lists add { list1 list2 }
create security firewall address-list list3 addresses add { 192.168.0.12/32 }
modify security firewall address-list group1 address-list add { list3 } 

  • policy

既存のpolicy1、rule1 のsource IPに192.168.0.1を足す例

modify

modify security firewall policy policy1 rules modify
  { rule1 { source { addresses add  { 192.168.0.1 } } } }