Linux/Python学习论坛-京峰教育

 找回密码
 立即注册

一键登录:

搜索
热搜: 活动 交友 discuz
查看: 525|回复: 0

F5 iRule学习之2全局数组变量

[复制链接]

238

主题

288

帖子

1925

积分

超级版主

Rank: 8Rank: 8

积分
1925
QQ
发表于 2015-3-20 14:28:53 | 显示全部楼层 |阅读模式

变量的定义都很简单,set var "F5",全局变量的定义也是,set ::var "F5",那么全局数组变量呢?

如何定义?如何访问呢?

首先我们看下,全局数组我们可以理解为class,也就是Data Group,在这里有二种文件存放位置,和三种类型(字符串,地址,整型).

一种是内置的存放在bigip.conf文件中,另一种扩展文件是存放在文件系统中,如/var/class/文件夹中.

以下,是v10的一种格式转换,抄自devcentral


Address Classes

   [internal class]
   class addr_testclass {
      {
         host 192.168.1.1
         host 192.168.1.2 { "host 2" }
         network 192.168.2.0/24
         network 192.168.3.0/24 { "network 2" }
      }
   }

   [external class]
   class addr_testclass_ext {
      type ip
      filename "/var/class/addr_testclass.class"
      separator ":="
      }

   [/var/class/addr_testclass.class]
   host 192.168.1.1,
   host 192.168.1.2 := "host 2",
   network 192.168.2.0/24,
   network 192.168.3.0/24 := "network 2",

Note: You can also add network entries in the address type external file like shown immediately below, but when the class is updated, it will be converted to the CIDR format.

   network 192.168.4.0 mask 255.255.255.0 := “network 3”,
   network 192.168.5.0 prefixlen 24 := "network 4",

Integer Classes

   [internal class]
   class int_testclass {
      {
         1 { "test 1" }
         2 { "test 2" }
      }
   }

   [external class]
   class int_testclass_ext {
      type value
      filename "/var/class/int_testclass.class"
      separator ":="
      }

   [/var/class/int_testclass.class]
   1 := "test 1",
   2 := "test 2",

String Classes

With string classes, quotes are necessary on the types and values:

   [internal class]
   class str_testclass {
      {
         "str1" { "value 1" }
         "str2" { "value 2" }
      }
   }

   [external class]
   class str_testclass_ext {
      type string
      filename "/var/class/str_testclass.class"
      separator ":="
      }

   [/var/class/str_class.class]
   "str1" := "value 1",
   "str2" := "value 2",

内置的我们可以通过F5界面的Data group添加,扩展的我们需要前面的面板,外加vi功能.

这样,我们就定义了几组相关的数组数据。如何访问呢?

我们可以使用class命令,它是v10+高级功能的数组访问功能函数.

如[class element 0 class_name]返回class_name索引0的元素.


其他的可以好好看看class命令!


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|京峰教育,只为有梦想的人 ( 京ICP备15013173号 )

GMT+8, 2019-7-18 12:44 , Processed in 0.047090 second(s), 14 queries , Apc On.

快速回复 返回顶部 返回列表