12-自动配置
本章节下载: 12-自动配置 (241.45 KB)
自动配置功能是指设备在启动时自动获取并执行配置文件。网络管理员只需将配置文件保存在指定的存储介质上,设备启动时可以自动从存储介质上获取并执行配置文件,实现自动配置,从而简化了网络配置,大大降低了网络管理员的工作量,便于实现对设备的集中管理。
根据配置文件存储介质的不同,自动配置可以通过如下方式实现:管理员将配置文件保存在文件服务器上,设备在启动时可以自动从文件服务器上获取并执行配置文件,实现自动配置功能。当网络规模较大,设备位置相对分散时,网络管理员在每一台设备上进行配置的工作量很大,这时管理员可以考虑使用自动配置。
自动配置的典型组网环境如图1-1所示。设备需要在DHCP服务器、文件服务器(TFTP服务器或HTTP服务器)和DNS服务器的配合下,实现自动配置功能。
设备可以通过HTTP服务器或TFTP服务器获取配置文件,管理员需要根据选用的方式在文件服务器上配置相应的HTTP服务或TFTP服务。
设备从文件服务器上获取的文件类型可以是配置文件或者配置脚本两种形式。如果DHCP服务器未下发配置文件名,管理员还可以在TFTP服务器上创建主机名文件提供主机名和设备IP地址的对应关系,以保证执行自动配置的设备获取到配置文件。
主机名文件的文件名为“network.cfg”。主机名文件用来保存主机IP地址与主机名称的映射关系,需要上传到TFTP服务器。管理员需按照以下格式手工定义主机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
需要注意的是,主机名文件中保存的主机名称是管理员为了更好地管理自动配置而设定的,需要与主机的配置文件名保持一致。增加新的对应关系时必须换行填写。
配置文件可以实现下发配置的功能。
如果管理员选择在TFTP服务器上获取配置文件,根据配置文件的适用范围,TFTP服务器上应准备以下几种类型的配置文件:
· 特定配置文件:特定配置文件只对应局域网内的某一台设备,配置特定配置文件可解决网络中设备的配置文件各不相同的需求。特定配置文件的命名规范为“配置文件名.cfg”(为了方便辨识文件名,尽量不要使用包含空格的配置文件名)。为了使设备能够获取到特定配置文件,管理员可以直接配置DHCP服务器下发配置文件名,也可以通过架设DNS服务器或者在TFTP服务器上保存主机名文件的方式来为设备提供主机名和设备IP地址的对应关系。
· 部分或全部共用配置文件:部分或全部共用配置文件对应局域网内部分或全部可以共用配置文件的设备,部分或全部共用配置文件可解决网络中部分或全部设备获取相同配置的需求。部分或全部共用配置文件可以使用任意名称来命名,但是文件扩展名必须保证是cfg。
· 缺省配置文件(device.cfg):缺省配置文件对应局域网内未获取到以上几种配置文件的设备,TFTP服务器还能为未匹配以上几种配置文件的设备下发缺省配置文件,该文件包含一般设备启动的公用配置信息。
在自动配置过程中,设备将先检查TFTP服务器上是否存在匹配的配置文件,若不存在,则选择缺省配置文件。利用此特点,管理员可以将以上三种方式结合使用,使局域网中的设备都可以获取到合适的配置文件。
如果管理员选择在HTTP服务器上获取配置文件,HTTP服务器上只需要特定配置文件、部分或全部共用配置文件。HTTP服务器不支持使用主机名文件提供主机名和IP地址的对应关系,也不支持配置缺省配置文件(device.cfg)。
配置脚本可以实现自动更新版本、下发配置等功能。目前设备支持的配置脚本包括Python脚本和Tcl脚本。Python脚本使用的文件后缀固定为py,TCL脚本使用的文件后缀固定为tcl。
当管理员使用配置脚本下发配置时:
· 在文件服务器上只支持配置特定配置脚本和部分或全部共用配置脚本两种形式。
· 在文件服务器上不支持使用主机名文件提供主机名和IP地址的对应关系,也不支持缺省配置脚本。
关于Python脚本的详细介绍,请参见“基础配置指导”中的“Python”。关于Tcl脚本的详细介绍,请参见“基础配置指导”中的“Tcl”。
DHCP服务器为执行自动配置的设备分配IP地址,并向设备通告获取自动配置文件或配置脚本的途径。
DHCP服务器可以根据管理员需要的配置文件类型,进行相应的配置(下发配置脚本和下发配置文件实现一致,下面以下发配置文件为例):
· 如果管理员为每台设备分配特定配置文件,则需要在DHCP服务器上配置静态绑定关系,为每台设备分配特定的IP地址和配置文件名。由于一个地址池下只能配置一条配置文件名的命令,所以DHCP服务器上每一个地址池视图只能配置一个静态绑定关系。
· 如果管理员为局域网内的部分设备分配相同的配置文件,可以在DHCP服务器上为使用部分共用配置文件的设备配置静态绑定关系,并指定文件服务器和部分共用配置文件名。这时,这部分静态绑定关系需要在同一个DHCP地址池中配置。也可以使用动态分配IP地址的方式,管理员需要划分合适的动态地址段,为这部分设备分配IP地址,并指定文件服务器和部分共用配置文件名。
· 如果管理员为局域网内的所有设备分配相同的配置文件,则需要在DHCP服务器上配置动态分配IP地址的方式。为设备动态分配IP地址的同时,分配全部共用配置文件名。如果采用这种方式,全部共用配置文件中只能包含这些设备共有的配置,每个设备特有的配置还需要其他方式完成(如管理员使用Telnet登录到设备上手工配置)。
以上三种分配方式可以同时在一台DHCP服务器上配置。
DHCP服务器可以指导DHCP客户端从哪台文件服务器上获取配置文件或配置脚本。
如果管理员使用HTTP服务器下发配置文件或配置脚本,则DHCP服务器的地址池配置如下。
表1-1 使用HTTP服务器时的DHCP服务器的地址池配置
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启DHCP服务 |
dhcp enable |
缺省情况下,DHCP服务处于关闭状态 |
创建DHCP地址池,并进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
缺省情况下,设备上不存在任何DHCP地址池 |
配置DHCP地址池动态分配的主网段 |
network network-address [ mask-length | mask mask ] |
二者选其一 缺省情况下,未配置动态分配的主网段和静态地址绑定 多次执行static-bind ip-address命令,可以配置多个静态地址绑定 同一地址只能绑定给一个客户端。不允许通过重复执行static-bind ip-address命令的方式修改IP地址与客户端的绑定关系。只有删除了某个地址的绑定关系,才能将该地址与其他客户端绑定 |
配置静态地址绑定 |
static-bind ip-address ip-address [ mask-length | mask mask ] { client-identifier client-identifier | hardware-address hardware-address [ ethernet | token-ring ] } |
|
配置DHCP客户端使用的远程启动配置文件的HTTP形式URL |
bootfile-name url |
缺省情况下,未配置DHCP客户端使用的远程启动配置文件的HTTP形式URL |
如果管理员使用TFTP服务器下发配置文件和配置脚本,则DHCP服务器地址池配置如下。
表1-2 使用TFTP服务器时的DHCP服务器的地址池配置
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启DHCP服务 |
dhcp enable |
缺省情况下,DHCP服务处于关闭状态 |
创建DHCP地址池,并进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
缺省情况下,设备上不存在任何DHCP地址池 |
配置DHCP地址池动态分配的主网段 |
network network-address [ mask-length | mask mask ] |
二者选其一 缺省情况下,未配置动态分配的主网段和静态地址绑定 多次执行static-bind ip-address命令,可以配置多个静态地址绑定 同一地址只能绑定给一个客户端。不允许通过重复执行static-bind ip-address命令的方式修改IP地址与客户端的绑定关系。只有删除了某个地址的绑定关系,才能将该地址与其他客户端绑定 |
配置静态地址绑定 |
static-bind ip-address ip-address [ mask-length | mask mask ] { client-identifier client-identifier | hardware-address hardware-address [ ethernet | token-ring ] } |
|
配置DHCP客户端使用的TFTP服务器地址 |
tftp-server ip-address ip-address |
二者至少选其一 缺省情况下,未配置DHCP客户端使用的TFTP服务器地址和TFTP服务器名 在DHCP服务器上可以使用主机名或IP地址的形式来指定TFTP服务器。如果使用主机名的方式指定,则需要在网络中架设DNS服务器 |
配置DHCP客户端使用的TFTP服务器名 |
tftp-server domain-name domain-name |
|
配置DHCP客户端使用的启动配置文件名 |
bootfile-name bootfile-name |
缺省情况下,未配置DHCP客户端使用的启动配置文件名 |
在使用自动配置功能时,在如下两种情况时,管理员需要配置DNS服务器:
· 当TFTP服务器上不存在主机名文件时,执行自动配置的设备可以通过DNS服务器将自己的IP地址解析为主机名,以便从TFTP服务器获取到配置文件;
· 如果设备从DHCP应答报文中获取到TFTP服务器的域名,设备还可以通过DNS服务器将TFTP服务器的域名解析为TFTP服务器的IP地址。
如果DHCP服务器、文件服务器和DNS服务器与执行自动配置的设备不在同一网段,则需要部署网关设备,使得各个服务器和设备之间路由可达,并在网关上配置DHCP中继功能。
设备在进行自动配置时,系统按照如下规则选取符合条件的接口:
(1) 若有处于链路状态UP的管理以太网接口,则优先选取管理以太网接口;
(2) 若没有处于链路状态UP的管理以太网接口,有处于链路状态UP的二层以太网接口,则选取默认VLAN对应的VLAN虚接口;
(3) 若没有处于链路状态UP的二层以太网接口,则按照接口类型字典序、接口编号从小到大的顺序依次选择处于链路状态UP的三层以太网接口;
(4) 若没有处于链路状态UP的三层以太网接口,则在30秒后开始下次自动配置接口选择过程。
建议管理员将设备的管理以太网接口连入网络中,这样可以加快自动配置的速度。如果设备当前不存在配置文件,设备即可自动执行自动配置流程。
设备进入服务器自动配置时:
· 如果获取并执行配置文件成功,则整个自动配置过程结束。
· 如果获取不到自动配置文件,则本次自动配置尝试失败,设备将继续尝试自动配置。用户可以等待尝试次数达到上限,设备自动结束自动配置,或根据提示信息,使用<Ctrl+C>或<Ctrl+D>快捷键手工终止自动配置。自动配置失败并结束后,设备将以空配置启动。
需要注意的是:设备通过自动配置获取到的配置文件执行完成后,该文件将被删除,不会在设备上保存。建议在配置文件执行完成后,管理员在设备上执行save命令保存配置。否则,设备重启后还需重新执行自动配置过程。save命令的详细介绍请参见“基础配置命令参考”中的“配置文件管理”。
如图1-2所示,某公司下属两个部门:市场部门和研发部门,两个部门通过不同的网关设备连入网络。要求连接终端主机的设备AC 1、AC 2、 AC 3和 AC 4执行自动配置功能,启动后自动获取并执行配置文件,以实现:
· 网络管理员能够通过Telnet方式登录、控制设备。
· 登录设备时需要进行认证,且登录不同部门的设备使用的用户名和密码不能相同,以提供一定的安全保证。
具体组网情况如下:
· Switch A作为DHCP服务器,分别为市场部和研发部的主机分配IP地址和其他网络配置参数。
· 网关Switch B和Switch C作为DHCP中继设备。
· 一台运行TFTP管理软件的TFTP服务器上保存配置文件。
图1-2 TFTP方式自动配置组网图
(1) Switch A的配置
# 配置接口IP地址
<SwitchA> system-view
[SwitchA] vlan 2
[SwitchA-vlan2] port gigabitethernet 1/0/1
[SwitchA-vlan2] quit
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ip address 192.168.1.42 24
[SwitchA-Vlan-interface2] quit
# 开启DHCP服务。
[SwitchA] dhcp enable
# 配置VLAN接口2工作在DHCP服务器模式。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] dhcp select server
[SwitchA-Vlan-interface2] quit
# 配置DHCP地址池market,为市场部动态分配192.168.2.0/24网段的地址,并指定TFTP server地址、网关地址和配置文件名。
[SwitchA] dhcp server ip-pool market
[SwitchA-dhcp-pool-market] network 192.168.2.0 24
[SwitchA-dhcp-pool-market] tftp-server ip-address 192.168.1.40
[SwitchA-dhcp-pool-market] gateway-list 192.168.2.1
[SwitchA-dhcp-pool-market] bootfile-name market.cfg
[SwitchA-dhcp-pool-market] quit
# 配置DHCP地址池rd,为研发部动态分配192.168.3.0/24网段的地址,并指定TFTP server地址、网关地址和配置文件名。
[SwitchA] dhcp server ip-pool rd
[SwitchA-dhcp-pool-rd] network 192.168.3.0 24
[SwitchA-dhcp-pool-rd] tftp-server ip-address 192.168.1.40
[SwitchA-dhcp-pool-rd] gateway-list 192.168.3.1
[SwitchA-dhcp-pool-rd] bootfile-name rd.cfg
[SwitchA-dhcp-pool-rd] quit
# 配置到达DHCP中继的静态路由。
[SwitchA] ip route-static 192.168.2.0 24 192.168.1.41
[SwitchA] ip route-static 192.168.3.0 24 192.168.1.43
[SwitchA] quit
(2) Switch B的配置
# 配置接口的IP地址
<SwitchB> system-view
[SwitchB] vlan 2
[SwitchB-vlan2] port gigabitethernet 1/0/3
[SwitchB-vlan2] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ip address 192.168.1.41 24
[SwitchB-Vlan-interface2] quit
[SwitchB] vlan 3
[SwitchB-vlan3] port gigabitethernet 1/0/1
[SwitchB-vlan3] port gigabitethernet 1/0/2
[SwitchB-vlan3] quit
[SwitchB] interface vlan-interface 3
[SwitchB-Vlan-interface3] ip address 192.168.2.1 24
[SwitchB-Vlan-interface3] quit
# 开启DHCP服务。
[SwitchB] dhcp enable
# 配置VLAN接口3工作在DHCP中继模式。
[SwitchB] interface vlan-interface 3
[SwitchB-Vlan-interface3] dhcp select relay
# 配置DHCP服务器的地址。
[SwitchB-Vlan-interface3] dhcp relay server-address 192.168.1.42
(3) Switch C的配置
# 配置接口的IP地址
<SwitchC> system-view
[SwitchC] vlan 2
[SwitchC-vlan2] port gigabitethernet 1/0/3
[SwitchC-vlan2] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] ip address 192.168.1.43 24
[SwitchC-Vlan-interface2] quit
[SwitchC] vlan 3
[SwitchC-vlan3] port gigabitethernet 1/0/1
[SwitchC-vlan3] port gigabitethernet 1/0/2
[SwitchC-vlan3] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] ip address 192.168.3.1 24
[SwitchC-Vlan-interface3] quit
# 开启DHCP服务。
[SwitchC] dhcp enable
# 配置VLAN接口3工作在DHCP中继模式。
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] dhcp select relay
# 配置DHCP服务器的地址。
[SwitchC-Vlan-interface3] dhcp relay server-address 192.168.1.42
(4) TFTP服务器配置
在TFTP server创建配置文件market.cfg,文件内容如下:
#
sysname Market
#
telnet server enable
#
vlan 3
#
local-user market
password simple market
service-type telnet
quit
#
interface Vlan-interface3
ip address dhcp-alloc
quit
#
interface gigabitethernet1/0/1
port access vlan 3
quit
#
user-interface vty 0 4
authentication-mode scheme
user-role network-admin
#
return
在TFTP服务器创建配置文件rd.cfg,文件内容如下:
#
sysname RD
#
telnet server enable
#
vlan 3
#
local-user rd
password simple rd
service-type telnet
quit
#
interface Vlan-interface3
ip address dhcp-alloc
quit
#
interface gigabitethernet1/0/1
port access vlan 3
quit
#
user-interface vty 0 4
authentication-mode scheme
user-role network-admin
#
return
# 启动TFTP管理软件,并指定TFTP的工作路径为保存上述配置文件的路径。
# 以Windows XP系统的主机为例,需保证TFTP服务器与DHCP中继之间路由可达。
(1) AC 1、 AC 2、 AC 3和 AC 4在没有配置文件的情况下启动。启动成功后,在AC 1上查看地址池中的地址绑定信息。
<AC1> display dhcp server ip-in-use
IP address Client-identifier/ Lease expiration Type
Hardware address
192.168.2.2 3030-3066-2e65-3233- May 6 05:21:25 2013 Auto(C)
642e-3561-6633-2d56-
6c61-6e2d-696e-7465-
7266-6163-6533
192.168.2.3 3030-3066-2e65-3230- May 6 05:22:50 2013 Auto(C)
302e-3232-3033-2d56-
6c61-6e2d-696e-7465-
7266-6163-6533
192.168.3.2 3030-6530-2e66-6330- May 6 05:23:15 2013 Auto(C)
302e-3335-3131-2d56-
6c61-6e2d-696e-7465-
7266-6163-6531
192.168.3.3 3030-6530-2e66-6330- May 6 05:24:10 2013 Auto(C)
302e-3335-3135-2d56-
6c61-6e2d-696e-7465-
7266-6163-6532
(2) 在AC 1上执行如下命令:
<AC1> telnet 192.168.2.2
(3) 输入用户名market、密码market后,可以登录AC 1或 AC 2。
如图1-3所示,AC启动后自动从HTTP服务器获取Tcl脚本启动配置文件,并执行该文件,以实现:
· 网络管理员能够通过Telnet方式登录、控制设备。
· 登录设备时需要进行认证,以提供一定的安全保证。
图1-3 HTTP Tcl方式自动配置组网图
(1) 配置DHCP服务器
# 开启DHCP服务,创建名称为1的DHCP地址池,配置地址池动态分配IP地址的网段为192.168.1.0/24。
<DeviceA> system-view
[DeviceA] dhcp enable
[DeviceA] dhcp server ip-pool 1
[DeviceA-dhcp-pool-1] network 192.168.1.0 24
# 配置DHCP客户端远程启动配置文件为HTTP形式的URL。
[DeviceA-dhcp-pool-1] bootfile-name http://192.168.1.40/device.tcl
(2) 配置HTTP服务器,保证AC可以从HTTP服务器成功下载配置文件device.tcl。
# 在HTTP服务器创建配置文件device.tcl,文件内容如下:
return
system-view
telnet server enable
local-user user
password simple abcabc
service-type telnet
quit
user-interface vty 0 4
authentication-mode scheme
user-role network-admin
quit
interface gigabitethernet 1/0/1
port link-mode route
ip address dhcp-alloc
return
# 启动HTTP管理软件,开启HTTP服务(配置过程略)。
(1) AC在没有配置文件的情况下启动。启动成功后,在Device A上查看地址池中的地址绑定信息。
<DeviceA> 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) 在Device A上执行如下命令:
<DeviceA> telnet 192.168.1.2
(3) 输入用户名user、密码abcabc后,用户可以登录AC。
如图1-4所示,AC启动后自动从HTTP服务器获取Python脚本启动配置文件,并执行该文件,以实现:
· 网络管理员能够通过Telnet方式登录、控制设备。
· 登录设备时需要进行认证,以提供一定的安全保证。
图1-4 HTTP Python方式自动配置组网图
(1) 配置DHCP服务器
# 开启DHCP服务,创建名称为1的DHCP地址池,配置地址池动态分配IP地址的网段为192.168.1.0/24。
<DeviceA> system-view
[DeviceA] dhcp enable
[DeviceA] dhcp server ip-pool 1
[DeviceA-dhcp-pool-1] network 192.168.1.0 24
# 配置DHCP客户端远程启动配置文件为HTTP形式的URL。
[DeviceA-dhcp-pool-1] bootfile-name http://192.168.1.40/device.py
(2) 配置HTTP服务器,保证AC可以从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 4 ;authentication-mode scheme ;user-role network-admin ;quit ;interface gigabitethernet 1/0/1 ;port link-mode route ;ip address dhcp-alloc ;return’)
# 启动HTTP管理软件,开启HTTP服务(配置过程略)。
(1) AC在没有配置文件的情况下启动。启动成功后,在Device A上查看地址池中的地址绑定信息。
<DeviceA> 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) 在Device A上执行如下命令:
<DeviceA> telnet 192.168.1.2
(3) 输入用户名user、密码abcabc后,用户可以登录AC。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!