• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

11-网络管理和监控配置指导

目录

17-Chef配置

本章节下载 17-Chef配置  (325.90 KB)

17-Chef配置


1 Chef

1.1  Chef简介

Chef是开源的配置管理工具,用户使用Ruby语言将需要对设备进行的配置写成脚本,并保存到服务器中,再通过服务器把配置脚本下发到各网络设备,实现对网络设备的集中配置管理。

1.1.1  Chef网络架构

图1-1 Chef网络架构

 

图1-1所示,Chef采用“服务器端/客户端”网络架构,由Chef server、Chef client和Workstation构成,各组件功能及含义如下:

2. Chef server

Chef server用于对Chef client进行集中管理,其主要功能如下:

·     集中保存配置脚本(Cookbook),并根据用户要求将配置脚本下发到Chef client。

·     为Chef client和Workstation分别创建后缀为.pem的密钥文件。密钥文件分为用户密钥文件和组织密钥文件:

¡     用户密钥文件:该文件用来保存Chef client/Workstation的用户认证信息,Chef client/Workstation与Chef server进行通信前,用户需要将该文件分别下载到Chef client/Workstation上,Chef server使用该文件验证Chef client/Workstation的合法性。

¡     组织密钥文件:该文件用来保存用户所在组织的认证信息。用户需要将该文件分别下载到Chef client/Workstation中。为方便对不同的Chef client/Workstation设备进行区分管理,可以将具有同一类属性的Chef client/Workstation划分到同一个组织中。Chef client/Workstation与Chef server进行通信前,Chef server使用该文件验证用户所在组织的合法性。

3. Workstation

Workstation提供了用户与Chef server交互的接口。用户需要在Workstation上创建、编辑配置脚本,并将配置脚本上传到Chef server。

Workstation可以与Chef server安装在同一台服务器上。

4. Chef client

Chef client即为被Chef server管理的网络设备。Chef client从Chef server获取并运行配置脚本,配置脚本运行完成后,设备使用新下发的配置运行。

H3C设备中,Chef以Chef client方式运行,版本为12.3.0。

说明

关于Chef server和Workstation的详细安装和配置,请参见Chef官方网站:https://www.chef.io/

 

1.1.2  Chef资源

说明

关于Chef支持的所有资源类型,请参见附录。

 

Chef使用Ruby语言定义配置项,各配置项的集合即为一个配置脚本,在Chef中,配置项叫做资源。

Chef划分了多个不同类型的资源,每个类型的资源都由名称、属性和动作构成,每个属性对应功能的一个配置,属性值即为该配置应达到的状态。在对Chef资源进行配置时,通过为不同属性赋值,从而指定设备应该达到的最终状态,而不需要关心如何达到这些状态。例如:用户只需要指定创建哪一个VLAN,而不需要关心如何创建该VLAN。如下以创建VLAN 2,并为该VLAN配置描述信息为例介绍Chef资源的构成:

netdev_vlan 'vlan2' do

 vlan_id 2

 description 'chef-vlan2'

 action :create

end

在该例中,各字段含义如下:

·     netdev_vlan表示资源类型。

·     do与end为Ruby语言中函数的固定语法,所有Chef资源配置都需要符合该语法要求。

·     vlan2为资源名称,每个资源都有唯一的资源名称,用于标示该资源。

·     vlan_id和description表示资源属性。

¡     vlan_id 2表示创建VLAN ID为2的VLAN。

¡     description 'chef-vlan2'表示VLAN2的描述信息为“chef-vlan2”。

·     action表示资源动作,Chef仅支持create和delete两种动作。

¡     create表示如果该Chef资源不存在,则创建这个资源;如果该Chef资源已存在,则按照最新资源配置要求修改该资源。create为Chef资源的缺省动作,如果配置Chef资源时,不指定action,则表示action取值为create。

¡     delete表示需要删除该资源。

1.1.3  Chef配置文件

Chef配置文件由用户手工配置,该文件中包含了Chef client执行Chef时输出日志的属性、Chef server和Chef client本地保存密钥文件的路径,以及Chef client本地保存资源文件的路径等。

启动Chef后,Chef client使用Chef配置文件中指定的本地密钥文件信息向Chef server发起认证请求。Chef server使用本地密钥文件与Chef client发送的密钥信息对比,如果双方密钥信息完全一致,则表示Chef client通过认证。Chef client通过认证后将把资源文件下载到Chef配置文件指定的本地资源文件保存路径中,并执行资源文件中的配置,同时输出相应的日志。

表1-1 Chef配置文件配置项描述表

配置项

说明

(可选)log_level

:auto

:debug

:info

:warn

:error

:fatal

日志信息级别,缺省值为auto

日志严重等级由低到高依次为:debuginfowarnerrorfatal

auto级别与warn级别相同

log_location

STDOUT

STDERR

logfilepath

日志输出方式:

·     STDOUT表示Chef标准日志输出方式。配置该参数后,通过third-part-process start命令下载资源时,将Chef配置过程中,配置执行成功的日志信息输出到指定文件中,执行失败的日志信息输出到配置终端

·     STDERR表示Chef标准错误日志输出方式。配置该参数后,通过third-part-process start命令下载资源时,将Chef配置过程中,配置执行失败的日志信息输出到指定文件中,执行成功日志信息的输出到配置终端

·     filepath表示将执行Chef过程中,所有配置日志都输出到设备指定的路径中。例如:将日志文件输出到flash:/cheflog/a.log

如果不指定任何参数,Chef标准日志和Chef标准错误日志都输出到配置终端

node_name

client

Chef client名称

在Chef中,该名称仅用于区别不同的Chef client,与设备名称(通过sysname命令配置)无关

chef_server_url

https://localhost:port/organizations/ORG_NAME

Chef server的URL以及Chef server上创建的组织的名称

localhost:port表示Chef server的名称或IP地址、以及端口号

ORG_NAME表示组织的名称

validation_key

flash:/chef/validator.pem

组织认证的密钥文件名称,以及设备本地保存密钥文件的路径

client_key

flash:/chef/client.pem

用户认证的密钥文件名称,以及设备本地保存密钥文件的路径

cookbook_path

[ 'flash:/chef-repo/cookbooks' ]

设备本地保存资源文件的路径

 

1.2  配置Chef

1.2.1  配置准备

配置Chef功能前,用户必须先配置如下功能:

·     开启NETCONF over SSH功能:Chef server通过NETCONF over SSH方式向Chef client下发配置。关于NETCONF over SSH功能的详细配置请参见“网络管理和监控配置指导”中的“NETCONF”。

·     配置设备可以通过SSH登录:Chef server与Chef client使用SSH进行通信。关于SSH登录功能的详细配置请参见“基础配置指导”中的“登录设备”。

1.2.2  启动Chef

分别对Chef server、Chef client以及Workstation进行如下配置:

1. 配置Chef server

说明

·     关于Chef server的详细配置方法,具体请参见Chef server的安装和使用指导。

·     Chef server的Chef版本不能低于Chef client的Chef版本。

 

(1)     为Workstation和Chef client分别创建密钥文件。

(2)     创建并编辑Chef client的Chef配置文件。

2. 配置Workstation

说明

关于Workstation的详细配置方法,具体请参见Workstation的安装和使用指导。

 

(1)     创建Workstation的本地工作目录。

(2)     创建保存Workstation Chef配置文件的目录

(3)     创建Workstation的Chef配置文件。

(4)     将Workstation的密钥文件从Chef server上下载到Workstation配置文件中指定的目录。

(5)     创建并编辑Chef资源文件。

(6)     将资源文件上传到Chef server。

3. 配置Chef client

(1)     将Chef client的密钥文件从Chef server上下载到设备的本地目录。该目录在Chef配置文件中配置。

(2)     将Chef配置文件从Chef server上下载到Chef client的本地目录。该文件的保存目录必须与third-part-process start命令--config参数指定的目录相同。

(3)     在设备上通过third-part-process start命令启动Chef。

表1-2 启动Chef

操作

命令

说明

进入系统视图

system-view

-

启动Chef

third-part-process start name chef-client arg --config=filepath --runlist recipe[Directory]

缺省情况下,Chef处于关闭状态

--config=filepath表示设备中Chef配置文件的路径及名称

--runlist recipe[Directory]表示配置设备所使用的资源目录名称

关于third-part-process start命令的详细介绍,请参见“网络管理和监控”中的“进程监控和维护”

 

1.2.3  关闭Chef

表1-3 关闭Chef

操作

命令

说明

进入系统视图

system-view

-

关闭Chef

third-part-process stop pid pid-list

执行display process all命令查看所有进程信息,“THIRD”字段标识为“Y”的进程为第三方进程,“PID”字段即为进程pid

“COMMAND”字段为“chef-client /opt/ruby/b”的进程为Chef进程

关于third-part-process stop命令的详细介绍,请参见“网络管理和监控”中的“进程监控和维护”

 

1.3  Chef典型配置举例

1. 组网需求

Chef client与Chef server相连,设备的IP地址和掩码如图1-2所示。

通过Chef在设备上创建ID为3的VLAN。

2. 组网图

图1-2 Chef配置组网图

 

3. 配置步骤

(1)     配置Chef server

# 创建Workstation的用户密钥文件admin.pem,具体参数如下:

·     Workstation的用户名为Herbert George Wells。

·     Email为abc@xyz.com。

·     密码为123456。

$ chef-server-ctl user-create Herbert George Wells abc@xyz.com 123456 –filename=/etc/chef/admin.pem

# 创建Workstation的组织密钥文件admin_org.pem,具体参数如下:

·     组织的简称为ABC,组织全称为ABC Technologies Co., Limited。

·     该组织与用户Herbert相关联。

$ chef-server-ctl org-create ABC_org "ABC Technologies Co., Limited" –association_user Herbert –filename =/etc/chef/admin_org.pem

# 创建Chef client的用户密钥文件client.pem,具体参数如下:

·     Chef client用户名为Herbert George Wells。

·     Emal为abc@xyz.com。

·     密码为123456。

$ chef-server-ctl user-create Herbert George Wells abc@xyz.com 123456 –filename=/etc/chef/client.pem

# 创建Chef client的组织密钥文件validator.pem,具体参数如下:

·     组织的简称为ABC,组织全称为ABC Co., Limited。

·     该组织与用户Herbert相关联。

$ chef-server-ctl org-create ABC "ABC Technologies Co., Limited" –association_user Herbert –filename =/etc/chef/validator.pem

# 创建并编辑Chef client的Chef配置文件chefclient.rb。

log_level :info

log_location STDOUT

node_name 'Herbert'

chef_server_url 'https://1.1.1.2:443/organizations/h3c'

validation_key 'flash:/chef/validator.pem'

client_key 'flash:/chef/client.pem'

cookbook_path [ 'flash:/chef-repo/cookbooks' ]

(2)     配置Workstation

# 创建Workstation的本地工作目录chef-repo。

$ mkdir /chef-repo

# 创建保存Workstation Chef配置文件的目录.chef。

$ mkdir –p /chef-repo/.chef

# 在/chef-repo/.chef目录下创建Workstation的Chef配置文件knife.rb,内容如下:

log_level                :info

log_location             STDOUT

node_name                'admin'

client_key               '/root/chef-repo/.chef/admin.pem'

validation_key           '/root/chef-repo/.chef/admin_org.pem'

chef_server_url          'https://chef-server:443/organizations/h3c'

使用TFTP或FTP将Workstation的密钥文件从Chef server下载到Workstation配置文件中的/chef-repo/.chef目录。

# 执行如下命令,创建名为“netdev”的资源目录。

$ knife cookbook create netdev

该命令执行成功后,将在当前目录下创建netdev资源目录,并在netdev资源目录下生成多个与该资源目录相关的文件和目录,其中,recipes目录即为保存资源文件的目录。

编辑recipes目录下名称为default.rb的资源文件,内容如下:

netdev_vlan 'vlan3' do

 vlan_id 3

 action :create

end

# 执行如下命令,将资源文件上传到Chef server。

$ knife cookbook upload –all

(3)     配置Chef client

在Chef client上配置设备通过SSH登录,并开启NETCONF over SSH功能。

使用TFTP或FTP将Chef配置文件chefclient.rb从Chef server上下载到Chef client的Flash根目录(该文件的保存目录必须与third-part-process start命令--config参数指定的目录相同)。

使用TFTP或FTP将密钥文件validator.pem和client.pem从Chef server上下载到设备的指定目录。本例中,目录为flash:/chef/。

# 在设备上启动Chef,指定设备中Chef配置文件的路径为Flash的根目录,文件名称为chefclient.rb。资源名称为netdev。

<ChefClient> system-view

[ChefClient] third-part-process start name chef-client arg --config=flash:/chefclient.rb --runlist recipe[netdev]

该命令执行成功后,Chef client将获取Chef server中的资源到本地,并运行该资源,实现对设备各功能的配置。

 


2 附录 Chef资源列表

2.1  netdev_vlan

该资源用来创建、修改或删除VLAN,并配置VLAN的名称和描述信息。

1. 资源属性

表2-1 netdev_vlan资源属性描述表

列名

列描述

列类型

数据类型和限制

vlan_id

VLAN的编号

索引

数据类型为无符号整型,取值范围为1~4094

description

VLAN的描述信息

数据类型为字符串,取值为1~255个字符,区分大小写

vlan_name

VLAN名称

数据类型为字符串,取值为1~32个字符,区分大小写

action

下发该资源时所执行的动作

数据类型为符号,取值包括:

·     create:表示创建或修改VLAN

·     delete:表示删除VLAN

该属性的缺省值为create,如果配置Chef资源时,不指定action,则表示action取值为create

 

2. 脚本示例

创建VLAN2,并配置VLAN描述和VLAN名称为“vlan2”。

netdev_vlan 'vlan2' do

 vlan_id 2

 description 'vlan2'

 vlan_name ‘vlan2’

end

2.2  netdev_device

该资源用来配置设备的名称,并指定设备与Chef server建立连接时使用的SSH用户名和密码。

1. 资源属性

表2-2 netdev_device资源属性描述表

列名

列描述

列类型

数据类型和限制

hostname

设备名称

数据类型为字符串,取值为1~64个字符,不区分大小写

user

SSH用户名

数据类型为字符串,取值为1~55个字符,区分大小写

passwd

SSH用户密码

数据类型为字符串,区分大小写。非FIPS模式下,明文密码为1~63个字符;哈希密码为1~110个字符;密文密码为1~117个字符

action

下发该资源时所执行的动作

数据类型为符号,取值包括:

·     create:表示建立设备与Chef server的NETCONF连接

·     delete:表示建立设备与Chef server的NETCONF连接

该属性的缺省值为create,如果配置Chef资源时,不指定action,则表示action取值为create

 

2. 脚本示例

配置设备名称为ChefClient,并指定设备与Chef server建立连接时使用的SSH用户名为user,SSH用户密码为123456。

netdev_device 'device' do

 hostname "ChefClient"

 user "user"

 passwd "123456"

end

2.3  netdev_interface

该资源用来配置接口的属性。

1. 资源属性

表2-3 netdev_interfac资源属性描述表

列名

列描述

列类型

数据类型和限制

ifindex

接口索引

索引

数据类型为整型

description

接口的描述信息

数据类型为字符串,取值为1~255个字符,区分大小写

admin

接口的管理状态

数据类型为字符串,取值包括:

·     up:接口的管理状态为开启

·     down:接口的管理状态为关闭

speed

接口速率

数据类型为字符串,取值包括:

·     auto:表示接口速率处于自协商状态

·     10m:表示接口速率为10Mbps

·     100m:表示接口速率为100Mbps

·     1g:表示接口速率为1Gbps

·     10g:表示接口速率为10Gbps

·     40g:表示接口速率为40Gbps

·     100g:表示接口速率为100Gbps

duplex

以太网接口的双工模式

数据类型为字符串,取值包括:

·     full:全双工状态,接口在发送数据包的同时可以接收数据包

·     half:半双工状态,接口同一时刻只能发送数据包或接收数据包

·     auto:接口与对端接口的双工模式为自动协商

仅以太口接口支持该配置

linktype

接口的链路类型

数据类型为字符串,取值包括:

·     access:配置接口的链路类型为Access类型

·     trunk:配置接口的链路类型为Trunk类型

·     hybrid:配置接口的链路类型为Hybrid类型

仅二层以太网接口支持该配置

portlayer

以太网接口的工作模式

数据类型为字符串,取值包括:

·     bridge:配置以太网接口工作在二层模式

·     route:配置以太网接口工作在三层模式

mtu

三层以太网接口允许通过的MTU的大小

数据类型为整型,取值范围取决于接口的类型,单位为字节

仅三层以太网接口支持该配置

 

2. 脚本示例

配置索引为2的以太网接口的如下属性:

·     接口的描述信息为ifindex2。

·     管理状态为开启。

·     接口速率为自动协商。

·     接口与对端接口的双工模式为自动协商。

·     端口的链路类型为Hybrid类型。

·     以太网接口工作在三层模式。

·     配置三层以太网接口允许通过的MTU的大小为1500。

netdev_interface 'ifindex2' do

 ifindex 2

 description 'ifindex2'

 admin 'up'

 speed 'auto'

 duplex 'auto'

 linktype 'hybrid'

 portlayer 'route'

 mtu 1500

end

2.4  netdev_l2_interface

该资源用来配置二层以太网接口的VLAN属性。

1. 资源属性

表2-4 netdev_l2_interface资源属性描述表

列名

列描述

列类型

数据类型和限制

ifindex

接口索引

索引

数据类型为整型

pvid

端口的缺省VLAN

数据类型为整型取值范围为1~4094

permit_vlan_list

接口允许通过的VLAN列表

数据类型为字符串

VLAN取值范围为1~4094

一次可以配置多个VLAN,各VLAN间使用逗号分隔。两个逗号之间可以是一个单独的VLAN,也可以是一个VLAN范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个VLAN范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

untagged_vlan_list

端口在转发指定的VLAN报文时将去掉VLAN Tag

数据类型为字符串

VLAN取值范围为1~4094

一次可以配置多个VLAN,各VLAN间使用逗号分隔。两个逗号之间可以是一个单独的VLAN,也可以是一个VLAN范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个VLAN范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

同一个VLAN不能在untagged_vlan_list和tagged_vlan_list列中同时指定

tagged_vlan_list

转发指定的VLAN报文时将携带VLAN Tag

数据类型为字符串

VLAN取值范围为1~4094

一次可以配置多个VLAN,各VLAN间使用逗号分隔。两个逗号之间可以是一个单独的VLAN,也可以是一个VLAN范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个VLAN范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

同一个VLAN不能在untagged_vlan_list和tagged_vlan_list列中同时指定

 

2. 脚本示例

修改索引为5的接口的缺省VLAN为2,允许ID为2~6的VLAN通过,ID为2、4、5、6的VLAN需要保留tag,ID为3的VLAN不带tag。

netdev_l2_interface 'ifindex5' do

 ifindex 5

 pvid 2

 permit_vlan_list '2-6'

 tagged_vlan_list '2,4-6'

 untagged_vlan_list '3'

end

2.5  netdev_lagg

该资源用来创建、修改或删除聚合组。

1. 资源属性

表2-5 netdev_lagg资源属性描述表

列名

列描述

列类型

数据类型和限制

group_id

聚合组ID

索引

数据类型为整型

二层聚合组的组ID范围为1~1024

三层聚合组的组ID范围为16385~17408

linkmode

聚合模式

数据类型为字符串,取值包括:

·     static:表示静态聚合

·     dynamic:表示动态聚合

addports

加入聚合组的接口列表

数据类型为字符串

一次可以配置多个接口索引,各接口索引间使用逗号分隔。两个逗号之间可以是一个单独的接口索引,也可以是一个接口索引范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个接口索引范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

同一个接口不能在addports和deleteports列中同时指定

deleteports

从聚合组删除的接口列表

数据类型为字符串

一次可以配置多个接口索引,各接口索引间使用逗号分隔。两个逗号之间可以是一个单独的接口索引,也可以是一个接口索引范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个接口索引范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

同一个接口不能在addports和deleteports列中同时指定

action

下发该资源时所执行的动作

数据类型为符号,取值包括:

·     create:表示创建或修改聚合组

·     delete:表示删除聚合组

该属性的缺省值为create,配置Chef资源时,如果不指定action,则表示action取值为create

 

2. 脚本示例

创建ID为16386的聚合组,设置聚合组的模式为static,并将接口1、2、3加入聚合组,从聚合组中删除索引为8的接口。

netdev_lag 'lagg16386' do

 group_id 16386

 linkmode 'static'

 addports '1-3'

 deleteports '8'

end

2.6  netdev_l2vpn

该资源用来开启或关闭L2VPN功能。

1. 资源属性

表2-6 netdev_l2vpn资源属性描述表

列名

列描述

列类型

数据类型和限制

Enable

开启或关闭L2VPN功能

数据类型为符号,取值包括:

·     true:表示开启L2VPN功能

·     false表示关闭L2VPN功能

该属性的缺省值为false,配置Chef资源时,如果不指定该属性,则表示取值为false

 

2. 脚本示例

在设备上开启L2VPN功能。

netdev_l2vpn 'l2vpn' do

 enable true

end

2.7  netdev_vsi

该资源用来创建、修改或删除VSI。

1. 资源属性

表2-7 netdev_vsi资源属性描述表

列名

列描述

列类型

数据类型和限制

vsiname

VSI的名称

索引

数据类型为字符串,取值为1~31个字符,区分大小写

admin

开启或关闭VSI

数据类型为字符串,取值包括:

·     up:表示开启VSI

·     down:表示关闭VSI

该属性的缺省值为up,如果配置Chef资源时,不指定admin,则表示取值为up

action

下发该资源时所执行的动作

数据类型为符号,取值包括:

·     create:表示创建或修改VSI

·     delete:表示删除VSI

该属性的缺省值为create,配置Chef资源时,如果不指定action,则表示action取值为create

 

2. 脚本示例

在设备上创建名为vsia的VSI,并设置为开启状态。

netdev_vsi 'vsia' do

 vsiname 'vsia'

 admin 'up'

end

2.8  netdev_vte

该资源用来创建或删除隧道。

1. 资源属性

表2-8 netdev_vte资源属性描述表

列名

列描述

列类型

数据类型和限制

vte_id

隧道 ID

索引

数据类型为整型

mode

隧道模式

数据类型为整型,取值包括:

·     1:运行IPv4协议的GRE 隧道

·     2:运行IPv6协议的GRE 隧道

·     3:IPv4与IPv4之间的隧道

·     4:手动配置的IPv6到IPv4的隧道

·     5:IPv6到 IPv4的自动隧道

·     6:IPv6到IPv4 的6to4隧道

·     7:IPv6到IPv4的ISATAP隧道

·     8:用IPv6封装IPv6 或IPv4报文

·     9:基于UDP passenger协议和IPv4传输协议的DVPN隧道

·     10:基于GRE passenger协议和IPv4传输协议的DVPN隧道

·     11:基于UDP passenger协议和IPv6传输协议的DVPN隧道

·     12:基于GRE passenger协议和IPv6传输协议的DVPN隧道

·     13:CRLSP隧道

·     14:基于IPv4传输协议的组播GRE隧道

·     15:基于IPv6传输协议的组播GRE隧道

·     16:基于IPv4传输协议的IPsec隧道

·     17:基于IPv6传输协议的IPsec隧道

·     18:基于IPv4传输协议的EVI隧道

·     19:基于IPv6传输协议的EVI隧道

·     20:基于IPv4传输协议的EVI链路

·     21:基于IPv6传输协议的EVI链路

·     22:DS-Lite AFTR隧道

·     23:CRLSP自动隧道

·     24:基于UDP passenger协议和IPv4传输协议的VXLAN隧道

·     25:基于UDP passenger协议和IPv6传输协议的VXLAN隧道

创建隧道时必须指定隧道模式,且创建后不能再对该隧道模式进行修改

action

下发该资源时所执行的动作

数据类型为符号,取值包括:

·     create:表示创建隧道

·     delete:表示删除隧道

该属性的缺省值为create,配置Chef资源时,如果不指定action,则表示action取值为create

 

2. 脚本示例

创建ID为2、IPv6到 IPv4的自动隧道。

netdev_vte 'vte2' do

 vte_id 2

 mode 5

end

2.9  netdev_vxlan

该资源用来创建、修改或删除VXLAN。

1. 资源属性

表2-9 netdev_vxlan资源属性描述表

列名

列描述

列类型

数据类型和限制

vxlan_id

VXLAN ID

索引

数据类型为整型,取值范围为0~16777215

vsiname

VSI的名称

数据类型为字符串,取值为1~31个字符,区分大小写

创建VSI时必须指定该列,且该列在创建后不能修改

add_tunnels

VXLAN与隧道接口关联

数据类型为字符串

隧道接口的编号

一次可以配置多个隧道接口编号,各接口编号间使用逗号分隔。两个逗号之间可以是一个单独的接口编号,也可以是一个接口编号范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个接口编号范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

同一个隧道接口的编号不能在add_tunnelsdelete_tunnels中同时指定

delete_tunnels

取消VXLAN与隧道接口关联

数据类型为字符串

隧道接口的编号

一次可以配置多个隧道接口编号,各接口编号间使用逗号分隔。两个逗号之间可以是一个单独的接口编号,也可以是一个接口编号范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个接口编号范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

同一个隧道接口的编号不能在add_tunnelsdelete_tunnels中同时指定

action

下发该资源时所执行的动作

数据类型为符号,取值包括:

·     create:表示创建或修改VXLAN

·     delete:表示删除VXLAN

该属性的缺省值为create,配置Chef资源时,如果不指定action,则表示action取值为create

 

2. 脚本示例

创建ID为10的VXLAN,加入名为vsia的VSI,并将隧道接口2、4加入VXLAN,从VXLAN中删除1、3隧道接口。

netdev_vxlan 'vxlan10' do

 vxlan_id 10

 visname 'vsia'

 add_tunnels '2,4'

 delete_tunnels '1,3'

end

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们