08-自动配置
本章节下载: 08-自动配置 (281.20 KB)
自动配置功能是指设备在启动时自动获取并执行配置文件。网络管理员只需将配置文件保存在指定的存储介质上,启动设备,即可实现自动配置,从而简化了网络配置,大大降低了网络管理员的工作量,便于实现对设备的集中管理。
自动配置的实现方式如表1-1所示:
配置方式 |
配置文件保存位置 |
应用场景 |
服务器自动配置 |
文件服务器 |
网络规模较大,设备位置相对分散 |
设备空配置启动时,首先自动检查存储介质的根目录下是否存在autocfg.py、autocfg.tcl 或autocfg.cfg配置文件。如果存在,则直接执行此文件;如果不存在,则通过自动从文件服务器上获取并执行配置脚本文件或配置文件,实现自动配置功能。autocfg.py、autocfg.tcl和autocfg.cfg配置文件同时只能在设备上存在一个。
服务器自动配置的典型组网环境如图1-1所示。设备需要在DHCP服务器、文件服务器(TFTP服务器或HTTP服务器)和DNS服务器的配合下,实现服务器自动配置功能。
(1) 配置文件服务器
(2) 准备配置文件或配置脚本
¡ 准备配置文件
¡ 准备配置脚本
(3) 配置DHCP服务器
(4) (可选)配置DNS服务器
(5) (可选)配置网关
(6) 准备获取配置文件的接口
(7) 完成自动配置
设备可以通过HTTP或TFTP获取配置文件,管理员需要根据选用的方式在文件服务器上配置相应的HTTP服务或TFTP服务。
配置文件包括特定配置文件、部分或全部公用配置文件以及缺省配置文件(device.cfg)三种类型,如表1-2所示。
配置文件类型 |
适用的设备 |
文件名要求 |
支持的文件服务器 |
特定配置文件 |
具有特定配置需求的设备 |
配置文件名.cfg 为了方便辨识文件名,尽量不要使用包含空格的配置文件名。 |
· HTTP服务器 · TFTP服务器 |
部分或全部共用配置文件 |
配置需求全部或者部分相同的设备 |
配置文件名.cfg “配置文件名”可以是任意文件名。 |
· HTTP服务器 · TFTP服务器 |
缺省配置文件 |
其它设备 包含一般设备启动的公用配置信息 |
device.cfg |
TFTP服务器 |
管理员可以根据网络中不同设备的需求和文件服务器类型选择配置:
(1) 在文件服务器上为每个具有特定配置需求的设备准备特定配置文件。
(2) 在文件服务器上以.cfg为后缀名为部分或全部具有相同配置的设备保存一个配置文件。
(3) 在TFTP服务器上保存名为device.cfg的缺省配置文件为既没有特定配置文件也没有部分或全部共用配置文件的设备提供缺省配置。
如果DHCP服务器未下发配置文件名,管理员还可以在TFTP服务器上创建主机名文件提供主机名和设备IP地址的对应关系,以保证执行自动配置的设备获取到配置文件。
按照如下方式配置:
(1) 创建主机名文件,文件名必须设置为“network.cfg”。
(2) 按照以下格式手工在文件中添加主机IP地址与主机名的映射关系,保证一行一条映射。
ip host host-name ip-address
例如,主机名文件中可以包括以下内容:
ip host host1 101.101.101.101
ip host host2 101.101.101.102
ip host client1 101.101.101.103
ip host client2 101.101.101.104
主机名必须与主机的配置文件名保持一致。
配置脚本可以实现自动更新版本、下发配置等功能。
目前设备支持的配置脚本包括Python脚本和Tcl脚本。Python脚本使用的文件后缀固定为py,Tcl脚本使用的文件后缀固定为tcl。关于Python脚本的详细介绍,请参见“基础配置指导”中的“Python”。关于Tcl脚本的详细介绍,请参见“基础配置指导”中的“Tcl”。
使用Tcl脚本配置文件对设备进行自动配置时,若配置文件中的命令行错误(例如:命令行拼写错误、视图错误、设备不支持所配置的命令等),那么设备在执行到错误命令行时将直接中断自动配置操作。
使用配置脚本与使用配置文件有如下区别:
· 在文件服务器上只支持配置特定配置脚本和部分或全部共用配置脚本两种形式,不支持缺省配置脚本。
· 在文件服务器上不支持使用主机名文件提供主机名和IP地址的对应关系。
有关“特定配置”、“部分或全部共用配置”、“缺省配置”以及“主机名和IP地址的对应关系”请参见“1.2.4 准备配置文件”。
管理员可以根据网络中不同设备的需求和文件服务器类型选择配置:
(1) 在文件服务器上为每个具有特定配置需求的设备准备特定配置脚本。
(2) 在文件服务器上以.tcl或.py为后缀名为部分或全部具有相同配置的设备保存一个配置文件。
DHCP服务器为执行服务器自动配置的设备分配IP地址,并向设备通告获取自动配置文件或配置脚本的途径。
DHCP服务器可以根据管理员需要的配置文件类型,进行相应的配置(下发配置脚本和下发配置文件实现一致,下面以下发配置文件为例):
· 如果管理员为每台设备分配特定配置文件,则需要在DHCP服务器上配置静态绑定关系,为每台设备分配特定的IP地址和配置文件名。由于一个地址池下只能配置一条配置文件名的命令,所以DHCP服务器上每一个地址池视图只能配置一个静态绑定关系。
· 如果管理员为局域网内的部分设备分配相同的配置文件,可以在DHCP服务器上为使用部分共用配置文件的设备配置静态绑定关系,并指定文件服务器和部分共用配置文件名。这时,这部分静态绑定关系需要在同一个DHCP地址池中配置。也可以使用动态分配IP地址的方式,管理员需要划分合适的动态地址段,为这部分设备分配IP地址,并指定文件服务器和部分共用配置文件名。
· 如果管理员为局域网内的所有设备分配相同的配置文件,则需要在DHCP服务器上配置动态分配IP地址的方式。为设备动态分配IP地址的同时,分配全部共用配置文件名。如果采用这种方式,全部共用配置文件中只能包含这些设备共有的配置,每个设备特有的配置还需要其他方式完成(如管理员使用Telnet登录到设备上手工配置)。
以上三种分配方式可以同时在一台DHCP服务器上配置。
(1) 进入系统视图。
system-view
(2) 开启DHCP服务。
dhcp enable
缺省情况下,DHCP服务处于关闭状态。
(3) 创建DHCP地址池,并进入DHCP地址池视图。
dhcp server ip-pool pool-name
(4) 为客户端分配IP地址。请至少选择其中一项进行配置。
¡ 配置DHCP地址池动态分配的主网段。
network network-address [ mask-length | mask mask ]
缺省情况下,未配置动态分配的主网段。
¡ 配置静态地址绑定。
static-bind ip-address ip-address [ mask-length | mask mask ] { client-identifier client-identifier | hardware-address hardware-address [ ethernet | token-ring ] }
缺省情况下,未配置静态地址绑定。
多次执行本命令,可以配置多个静态地址绑定。同一地址只能绑定给一个客户端。若需修改绑定必须先解除绑定。
(5) 配置DHCP客户端使用的远程启动配置文件的HTTP形式URL。
bootfile-name url
缺省情况下,未配置DHCP客户端使用的远程启动配置文件的HTTP形式URL。
(1) 进入系统视图。
system-view
(2) 开启DHCP服务。
dhcp enable
缺省情况下,DHCP服务处于关闭状态。
(3) 创建DHCP地址池,并进入DHCP地址池视图。
dhcp server ip-pool pool-name
(4) 为客户端分配IP地址。请至少选择其中一项进行配置。
¡ 配置DHCP地址池动态分配的主网段。
network network-address [ mask-length | mask mask ]
缺省情况下,未配置动态分配的主网段。
¡ 配置静态地址绑定。
static-bind ip-address ip-address [ mask-length | mask mask ] { client-identifier client-identifier | hardware-address hardware-address [ ethernet | token-ring ] }
缺省情况下,未配置静态地址绑定。
多次执行本命令,可以配置多个静态地址绑定。同一地址只能绑定给一个客户端。若需修改绑定必须先解除绑定。
(5) 指定TFTP服务器。请选择其中一项进行配置。
¡ 配置DHCP客户端使用的TFTP服务器地址。
tftp-server ip-address ip-address
缺省情况下,未配置DHCP客户端使用的TFTP服务器地址。
¡ 配置DHCP客户端使用的TFTP服务器名。
tftp-server domain-name domain-name
缺省情况下,未配置DHCP客户端使用的TFTP服务器名。
使用此方式指定TFTP服务器需要在网络中架设DNS服务器。
(6) 配置DHCP客户端使用的启动配置文件名。
bootfile-name bootfile-name
缺省情况下,未配置DHCP客户端使用的启动配置文件名。
在使用服务器自动配置功能时,在如下两种情况时,管理员需要配置DNS服务器:
· 当TFTP服务器上不存在主机名文件时,执行服务器自动配置的设备可以通过DNS服务器将自己的IP地址解析为主机名,以便从TFTP服务器获取到配置文件;
· 如果设备从DHCP应答报文中获取到TFTP服务器的域名,设备还可以通过DNS服务器将TFTP服务器的域名解析为TFTP服务器的IP地址。
如果DHCP服务器、文件服务器和DNS服务器与执行服务器自动配置的设备不在同一网段,则需要部署网关设备,使得各个服务器和设备之间路由可达,并在网关上配置DHCP中继功能。
如果DHCP应答报文中不包括TFTP服务器IP地址和域名信息,或TFTP服务器IP地址和域名信息不合法,设备将以广播方式向TFTP服务器发送请求消息。由于广播报文只能在本网段内传播,如果设备与TFTP服务器不在同一个网段,则需要在网关设备上配置UDP Helper功能,将广播报文转换成单播报文,转发给指定的TFTP服务器。有关UDP Helper功能的详细介绍,请参见“三层技术-IP业务配置指导”中的“UDP-helper”。
设备在进行自动配置时,系统按照如下规则选取符合条件的接口:
(1) 若有处于链路状态UP的管理以太网接口,则优先选取管理以太网接口。
(2) 若没有处于链路状态UP的管理以太网接口,有处于链路状态UP的二层以太网接口,则选取默认VLAN对应的VLAN接口。
(3) 若没有处于链路状态UP的二层以太网接口,则按照接口类型字典序、接口编号从小到大的顺序依次选择处于链路状态UP的三层以太网接口。
(4) 若没有处于链路状态UP的三层以太网接口,则在30秒后开始下次服务器自动配置接口选择过程。
建议管理员将设备的管理以太网接口连入网络中,这样可以加快服务器自动配置的速度。
(1) 上电启动需要进行自动配置的设备。
设备进入服务器自动配置时:
¡ 如果获取并执行配置文件成功,则整个服务器自动配置过程结束。
¡ 如果获取不到自动配置文件,则本次自动配置尝试失败,设备将继续尝试自动配置。用户可以等待尝试次数达到上限,设备自动结束自动配置,或根据提示信息,使用<Ctrl+C>或<Ctrl+D>快捷键手工终止自动配置。自动配置失败并结束后,设备将以空配置启动。
(2) 在完成自动配置的设备上保存配置。
save
设备在文件服务器获取到的配置文件执行完成后,该文件将被删除。建议在配置文件执行完成后保存配置。本命令的详细介绍请参见“基础配置命令参考”中的“配置文件管理”。
如图1-2所示,Router B启动后自动从TFTP服务器获取配置文件,并执行该文件,以实现:
· 网络管理员能够通过Telnet方式登录、控制设备。
· 登录设备时需要进行认证,以提供一定的安全保证。
(1) 配置DHCP服务器
# 开启DHCP服务,创建名称为1的DHCP地址池,配置地址池动态分配IP地址的网段为192.168.1.0/24。
<RouterA> system-view
[RouterA] dhcp enable
[RouterA] dhcp server ip-pool 1
[RouterA-dhcp-pool-1] network 192.168.1.0 24
[RouterA-dhcp-pool-1] tftp-server ip-address 192.168.1.40
[RouterA-dhcp-pool-1] bootfile-name device.cfg
(2) 配置TFTP服务器,保证Router B可以从TFTP服务器成功下载配置文件device.cfg。
# 在TFTP服务器创建配置文件device.cfg,文件内容如下:
#
telnet server enable
#
local-user user
password simple abcabc
service-type telnet
quit
#
user-interface vty 0 63
authentication-mode scheme
user-role network-admin
quit
#
interface hundredgige 1/0/1
port link-mode route
ip address dhcp-alloc
return
# 启动TFTP管理软件,开启TFTP服务(配置过程略)。
(1) Router B在没有配置文件的情况下启动。启动成功后,在Router A上查看地址池中的地址绑定信息。
<RouterA> display dhcp server ip-in-use
IP address Client identifier/ Lease expiration Type
Hardware address
192.168.1.2 0030-3030-632e-3239- Dec 12 17:41:15 2013 Auto(C)
3035-2e36-3736-622d-
4574-6830-2f30-2f32
(2) 在Router A上执行如下命令:
<RouterA> telnet 192.168.1.2
(3) 输入用户名user、密码abcabc后,用户可以登录Router B。
如图1-3所示,Router B启动后自动从HTTP服务器获取Tcl脚本启动配置文件,并执行该文件,以实现:
· 网络管理员能够通过Telnet方式登录、控制设备。
· 登录设备时需要进行认证,以提供一定的安全保证。
(1) 配置DHCP服务器
# 开启DHCP服务,创建名称为1的DHCP地址池,配置地址池动态分配IP地址的网段为192.168.1.0/24。
<RouterA> system-view
[RouterA] dhcp enable
[RouterA] dhcp server ip-pool 1
[RouterA-dhcp-pool-1] network 192.168.1.0 24
# 配置DHCP客户端远程启动配置文件为HTTP形式的URL。
[RouterA-dhcp-pool-1] bootfile-name http://192.168.1.40/device.tcl
(2) 配置HTTP服务器,保证Router B可以从HTTP服务器成功下载配置文件device.tcl。
# 在HTTP服务器创建配置文件device.tcl,文件内容如下:
system-view
telnet server enable
local-user user
password simple abcabc
service-type telnet
quit
user-interface vty 0 63
authentication-mode scheme
user-role network-admin
quit
interface hundredgige 1/0/1
port link-mode route
ip address dhcp-alloc
return
# 启动HTTP管理软件,开启HTTP服务(配置过程略)。
(1) Router B在没有配置文件的情况下启动。启动成功后,在Router A上查看地址池中的地址绑定信息。
<RouterA> display dhcp server ip-in-use
IP address Client identifier/ Lease expiration Type
Hardware address
192.168.1.2 0030-3030-632e-3239- Dec 12 17:41:15 2013 Auto(C)
3035-2e36-3736-622d-
4574-6830-2f30-2f32
(2) 在Router A上执行如下命令:
<RouterA> telnet 192.168.1.2
(3) 输入用户名user、密码abcabc后,用户可以登录Router B。
如图1-4所示,Router B启动后自动从HTTP服务器获取Python脚本启动配置文件,并执行该文件,以实现:
· 网络管理员能够通过Telnet方式登录、控制设备。
· 登录设备时需要进行认证,以提供一定的安全保证。
图1-4 服务器自动配置组网图(HTTP Python方式)
(1) 配置DHCP服务器
# 开启DHCP服务,创建名称为1的DHCP地址池,配置地址池动态分配IP地址的网段为192.168.1.0/24。
<RouterA> system-view
[RouterA] dhcp enable
[RouterA] dhcp server ip-pool 1
[RouterA-dhcp-pool-1] network 192.168.1.0 24
# 配置DHCP客户端远程启动配置文件为HTTP形式的URL。
[RouterA-dhcp-pool-1] bootfile-name http://192.168.1.40/device.py
(2) 配置HTTP服务器,保证Router B可以从HTTP服务器成功下载配置文件device.py。
# 在HTTP服务器创建配置文件device.py,文件内容如下:
#!usr/bin/python
import comware
comware.CLI(‘system-view ;telnet server enable ;local-user user ;password simple abcabc ;service-type telnet ;quit ;user-interface vty 0 63 ;authentication-mode scheme ;user-role network-admin ;quit ;interface hundredgige 1/0/1 ;port link-mode route ;ip address dhcp-alloc ;return’)
# 启动HTTP管理软件,开启HTTP服务(配置过程略)。
(1) Router B在没有配置文件的情况下启动。启动成功后,在Router A上查看地址池中的地址绑定信息。
<RouterA> display dhcp server ip-in-use
IP address Client identifier/ Lease expiration Type
Hardware address
192.168.1.2 0030-3030-632e-3239- Dec 12 17:41:15 2013 Auto(C)
3035-2e36-3736-622d-
4574-6830-2f30-2f32
(2) 在Router A上执行如下命令:
<RouterA> telnet 192.168.1.2
(3) 输入用户名user、密码abcabc后,用户可以登录Router B。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!