05-配置文件管理
本章节下载: 05-配置文件管理 (218.41 KB)
设备运行于FIPS模式时,本特性部分配置相对于非FIPS模式有所变化,具体差异请见本文相关描述。有关FIPS模式的详细介绍请参见“安全配置指导”中的“FIPS”。
配置文件是用来保存配置的文件。配置文件主要用于:
· 将当前配置保存到配置文件,以便设备重启后,这些配置能够继续生效。
· 使用配置文件,用户可以非常方便地查阅配置信息。
· 当网络中多台设备需要批量配置时,可以将相同的配置保存到配置文件,再上传/下载到所有设备,在所有设备上执行该配置文件来实现设备的批量配置。
设备在出厂时,通常会带有一些基本的配置,称为出厂配置。它用来保证设备在没有配置文件或者配置文件损坏的情况下,能够正常启动、运行。
可以使用display default-configuration命令查看设备的出厂配置。
设备启动时运行的配置即为启动配置。如果没有指定启动配置文件或者启动配置文件损坏,则系统会使用出厂配置作为启动配置。
可以通过以下方式查看启动配置:
· 设备启动后且还没有进行配置前,使用display current-configuration命令查看当前启动配置。
· 使用display startup命令查看本次启动使用的配置文件和下次启动使用的主用、备用配置文件,再使用more命令查看相应配置文件的内容。(more命令的详细介绍请参见“基础配置命令参考”中“文件系统管理”)
· 使用display saved-configuration命令查看下次启动配置文件的内容。
系统当前正在运行的配置称为当前配置。它包括启动配置和设备运行过程中用户进行的配置。当前配置存放在设备的临时缓存中,如果不保存,设备运行过程中用户进行的配置在设备重启后会丢失。
可以使用display current-configuration命令查看设备的当前配置。
配置文件是用来保存配置的文件,设备上可以同时存在多个配置文件。设备本次启动使用的配置文件称为启动配置文件;设备下次启动使用的配置文件称为下次启动配置文件。为了安全起见,用户可以配置两个下次启动配置文件,一个为主用,一个为备用。
系统启动时,配置文件的选择遵循以下规则:
(1) 优先使用主用下次启动配置文件。
(2) 如果主用下次启动配置文件不存在或损坏,再使用备用下次启动配置文件。
(3) 如果主用和备用下次启动配置文件都不存在或损坏,则使用出厂配置启动。
用户执行save命令保存配置时,系统会自动生成一个字符串类型的配置文件和一个二进制类型的配置文件。
· 字符串类型的配置文件是一个文本文件,文件名后缀为“.cfg”,可以通过more命令查看该文件的内容。
· 二进制类型的配置文件是字符串类型的配置文件的二进制格式,文件名后缀为“.mdb”。在设备启动和运行时,系统软件能够解析该类配置文件,而用户却不能读取和编辑文件内容。
两个文件保存的配置相同,但格式不同。设备启动的时候,会优先使用二进制类型的配置文件,以便提高加载配置的速度。如果没有找到合适的二进制类型的配置文件,才使用字符串类型的配置文件。
设备启动的时候,会先根据配置查找指定名称的字符串类型的配置文件是否存在,如果存在,再查找对应的二进制类型的配置文件是否存在,如果存在,再判断两个文件的内容是否一致,一致才使用二进制类型的配置文件启动设备,不一致,还是使用字符串类型的配置文件启动设备。因此,二进制类型的配置文件不能单独存在,必须有对应的字符串类型的配置文件才有意义。字符串类型的配置文件可以没有对应的二进制类型的配置文件而单独存在。
如无特殊说明,下文描述的配置文件均指字符串类型的配置文件。
配置文件对内容和格式有严格定义,为保证配置文件的正确运行,请尽量使用设备自动生成的配置文件。如果要手工修改配置文件,请遵循配置文件的内容与格式规则。
配置文件的内容与格式规则如下:
· 配置文件的内容为命令的完整形式。
· 配置文件以命令视图为基本框架,同一命令视图的命令组织在一起,形成一节,节与节之间用#隔开。
· 以return结束。
下面摘录了配置文件的部分内容。
#
local-user root class manage
password hash $h$6$Twd73mLrN8O2vvD5$Cz1vgdpR4KoTiRQNE9pg33gU14Br2p1VguczLSVyJLO2huV5Syx/LfDIf8ROLtVErJ/C31oq2rFtmNuyZf4STw==
service-type ssh telnet terminal
authorization-attribute user-role network-admin
authorization-attribute user-role network-operator
#
interface GigabitEthernet0/1
port link-mode route
ip address 1.1.1.1 255.255.255.0
#
用户通过命令可以查看两份配置文件、指定配置文件与当前运行配置、指定配置文件与下次启动文件、当前运行配置与下次启动文件之间的差异。用户可根据差异来决定是否保存当前配置或者进行配置替换。
表1-1 显示两份配置之间的差异
操作 |
命令 |
说明 |
显示指定配置文件和指定配置文件、当前运行配置、下次启动配置文件之间的差异 |
display diff configfile file-name-s { configfile file-name-d | current-configuration | startup-configuration } |
这些命令在任意视图下均可执行 display diff startup-configuration current-configuration和display current-configuration diff命令的功能相同,二者选其一即可 只有文本类型的配置文件,才支持查看差异 |
显示当前运行配置和指定配置文件、下次启动配置文件之间的差异 |
display diff current-configuration { configfile file-name-d | startup-configuration } |
|
显示下次启动配置文件和指定配置文件之间的差异 |
display diff startup-configuration configfile file-name-d |
|
显示下次启动配置文件与当前运行配置之间的差异 |
display diff startup-configuration current-configuration |
|
display current-configuration diff |
配置文件加密功能就是设备在执行save命令将当前配置保存到配置文件的同时,将配置文件加密。加密后的文件能被所有运行Comware V7平台软件的设备识别和解析。因此,为了防止非法用户对加密后配置文件的解析,需确保只有合法用户才能获取加密后的配置文件。运行其它平台软件的设备不能识别和解析。
开启配置文件加密功能后,将不能使用more命令查看配置文件(后缀名为“.cfg”的配置文件)的内容。
表1-2 开启配置文件加密功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启配置文件加密功能 |
configuration encrypt { private-key | public-key } |
缺省情况下,配置文件加密功能处于关闭状态 |
用户通过命令行可以修改设备的当前配置,而这些配置是暂时的,如果要使当前配置在系统下次启动时仍然有效,需要在重启设备前,将当前配置保存到下次启动配置文件中。
执行save [ backup | main ] [ force ]命令时,请不要重启设备或者给设备断电,以免造成下次启动配置文件丢失。
表1-3 保存当前配置
操作 |
命令 |
说明 |
将当前配置保存到指定文件,但不会将该文件设置为下次启动配置文件 |
save file-url |
二者选其一 为了安全起见,在需要将当前配置保存到下次启动配置文件的时候,建议选用safely参数 两命令均可在任意视图下执行 |
将当前配置保存到存储介质的根目录下,并将该文件设置为下次启动配置文件 |
save [ safely ] [ backup | main ] [ force ] [ changed ] |
配置回滚是在不重启设备的情况下,将当前的配置回退到指定配置文件中的配置状态。该配置文件必须是有效的.cfg文件,它可以使用手工/自动备份功能或者save命令生成,也可以是别的设备的可兼容配置文件,推荐使用手工/自动备份功能生成。(如何使用手工/自动备份功能生成配置文件请参见“1.4.2 备份当前配置”)
配置回滚主要应用于:
· 当前配置错误,且错误配置太多不方便定位或逐条回退,需要将当前配置回滚到某个正确的配置状态。
· 设备的应用环境变化,需要使用某个配置文件中的配置信息运行,在不重启设备的情况下将当前配置回滚到指定配置文件中的配置状态。
为了方便描述,定义如下:
· 手工/自动备份功能生成的配置文件称为备份配置文件。
· “将当前配置回滚到指定配置文件中的配置状态”中的“指定配置文件”称为回滚配置文件。
备份当前配置前必须设置备份文件的保存路径和文件名前缀。设置这些参数后,备份当前配置时,系统会将当前的配置以指定的文件名(格式为前缀_序号.cfg,比如archive_1.cfg)保存到指定的路径,方便管理员管理。备份序号由设备自动生成,从1开始编号,依次加1,累加至1000后又重新从1开始。修改备份文件的保存路径、文件名前缀,备份序号也会从1开始重新自动编号。
系统内能够保存的备份文件的数目有一定限制。当备份文件数目到达上限,又需要保存新的备份文件时,系统会删除保存时间最早的备份文件,以保存新的备份文件。
表1-4 设置备份参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
设置备份配置文件的保存路径和文件名前缀 |
archive configuration location directory filename-prefix filename-prefix |
缺省情况下,未配置备份配置文件的保存路径和文件名前缀 |
(可选)设置备份配置文件的最大数 |
archive configuration max file-number |
缺省情况下,备份配置文件的最大数为5 file-number的具体数值应根据系统的空余存储空间大小来决定。对于存储空间较小的设备,建议将该参数设为较小值 |
执行undo archive configuration location命令后,用户将不能手工备份当前配置,系统也不再自动备份当前配置,archive configuration interval和archive configuration max的配置也会恢复到缺省情况,display archive configuration的显示信息也会被清除。
系统提供了自动备份和手工备份两种灵活的备份方式。用户可以使用自动备份方式,让系统按照一定的时间间隔自动备份当前配置。如果备份时间没有到达,而用户需要立即备份当前配置,可以使用手工备份。备份的配置文件的名称和时间可以通过display archive configuration命令查看,以便用户可以将当前配置回退到某一历史时刻的配置状态。
当需要对设备进行步骤复杂的配置时,可以在修改配置前手工备份当前配置。以便配置过程中出现失败时,可以使用已备份的配置直接将当前配置回滚至配置改变前的状态。
表1-5 自动备份当前配置
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启自动备份当前配置功能,并设置自动备份的时间间隔 |
archive configuration interval interval |
缺省情况下,自动备份当前配置功能处于关闭状态 |
表1-6 手工备份当前配置
操作 |
命令 |
说明 |
手工备份当前配置 |
archive configuration |
该命令在用户视图下执行 |
执行配置回滚,设备会将当前配置回滚到指定配置文件中的配置状态。配置回滚时,系统会比较、处理当前配置和回滚配置文件中配置的差异:
· 对于当前配置与回滚配置文件中的相同命令,不做处理。
· 对于存在于当前配置但不存在于回滚配置文件的命令,回滚操作将取消当前配置中的命令,即执行相应的反向操作。
· 对于存在于回滚配置文件但不存在于当前配置的命令,回滚操作将执行这些命令。
· 对于当前配置和回滚配置文件中不同的命令,配置回滚将先取消这些配置,再执行回滚配置文件中的相应命令。
命令能否回滚成功由命令的具体处理决定,存在以下情况时,某条命令会回滚失败。系统会跳过回滚失败的命令,直接处理下一条命令。
· 命令不支持完整undo命令,即直接在配置命令前添加undo关键字构成的命令不存在,设备不识别。比如命令A [ B ] C,对应的undo命令为undo A C,但是配置A B C回滚的时候,系统会去自动执行undo A B C,此时系统会认为不支持undo A B C而造成配置A B C回滚失败。
· 配置不能取消(如硬件相关的命令)。
· 若不同视图下的各配置命令存在依赖关系,命令可能执行失败。
· 使用的配置文件不是由save命令、自动备份或手工备份生成的完整文件,或是不同类型设备的配置文件,配置回滚可能不能完全恢复至配置文件中的配置状态。因此,需要用户确保回滚配置文件中配置的正确性和与当前设备的兼容性。
· 配置回滚到指定配置文件时,如果有命令行回滚失败,系统将打印提示信息说明有命令行回滚失败,此时,请执行display diff current-configuration configfile命令将回滚后的运行配置与目标配置文件中的配置对比,差异部分即为回滚失败的命令行。
表1-7 执行配置回滚
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
执行配置回滚 |
configuration replace file filename |
filename只能是明文配置文件,不能是被加密的配置文件 |
执行以下操作前,请确保指定文件(cfgfile)为设备存储介质根目录下的合法配置文件,否则,操作失败。
使用该命令设置配置文件时:
· 不指定main和back参数时,缺省使用main。
· 主用下次启动配置文件和备用下次启动配置文件可以设置为同一文件,但为了更可靠,建议设置为不同的文件,或者将一份配置保存在两个不同名的文件中,一个设置为主用,一个设置为备用。
· 在执行undo startup saved-configuration命令之后,系统会将主用/备用下次启动配置文件均设置为NULL,但不会删除该文件。
操作 |
命令 |
说明 |
配置下次启动时的配置文件 |
startup saved-configuration cfgfile [ backup | main ] |
缺省情况下,未配置下次启动配置文件 该命令在用户视图下执行 该命令执行成功后,用户可以在任意视图下使用display startup命令以及display saved-configuration命令验证配置效果 |
执行save [ safely ] [ backup | main ] [ force ]命令将当前配置保存到指定配置文件时,系统会自动把该文件设置为设备的主用下次启动配置文件。详细配置请参见“1.3.2 保存当前配置”。
设备运行于FIPS模式时,不支持备份/恢复主用下次启动配置文件。
备份是指将设备的主用下次启动配置文件备份到指定的TFTP服务器;恢复是指将TFTP服务器上保存的配置文件下载到设备并设置为主用下次启动配置文件。
在执行配置文件的备份操作前,请进行以下操作:
· 保证设备与服务器之间的路由可达,服务器端开启了TFTP服务,执行备份操作的客户端设备已获得了相应的读写权限。
· 在任意视图下使用display startup命令查看一下设备是否已经设置了下次启动配置文件。如果没有下次启动配置文件,或者所设置的配置文件不存在,备份操作将会失败。
表1-9 备份/恢复主用下次启动配置文件
操作 |
命令 |
说明 |
将设备的主用下次启动配置文件备份到指定的TFTP服务器 |
backup startup-configuration to { ipv4-server | ipv6 ipv6-server } [ dest-filename ] [ vpn-instance vpn-instance-name ] |
该命令在用户视图下执行 |
将TFTP服务器上保存的配置文件下载到设备并设置为主用下次启动配置文件 |
restore startup-configuration from { ipv4-server | ipv6 ipv6-server } src-filename [ vpn-instance vpn-instance-name ] |
该命令在用户视图下执行 该命令执行成功后,用户可以在任意视图下使用display startup命令以及display saved-configuration命令验证配置效果 |
本特性会将下次启动配置文件从设备上彻底删除,请谨慎使用。
出现以下情况时,用户可能需要删除设备中的下次启动配置文件:
· 设备软件升级之后,系统软件和配置文件不匹配。
· 设备中的配置文件被破坏(常见原因是加载了错误的配置文件)。
用户可以只删除主用下次启动配置文件,或者只删除备用下次启动配置文件。如果当前设备的主用下次启动配置文件和备用下次启动配置文件相同,仅执行一次删除操作(假设指定了backup参数),系统只会将相应的下次启动配置文件设置为NULL,不会删除该文件,需要再执行一次删除操作(指定main参数),才能将这个配置文件彻底删除。
下次启动配置文件被删除后,设备重启时,系统将采用出厂配置进行初始化。
表1-10 删除设备中的下次启动配置文件
操作 |
命令 |
说明 |
删除设备中的下次启动配置文件 |
reset saved-configuration [ backup | main ] |
该命令在用户视图下执行 不指定banckup和main参数时,缺省使用main |
在完成上述配置后,在任意视图下执行display命令可以显示配置文件的使用情况。用户可以通过查看显示信息验证配置的效果。
操作 |
命令 |
显示配置回滚功能的相关信息 |
display archive configuration |
显示当前配置 |
display current-configuration [ configuration [ module-name ] | exclude-provision | interface [ interface-type [ interface-number ] ] | vpn-instance [ vpn-instance-name ] ] |
显示出厂配置 |
display default-configuration |
显示下次启动配置文件的内容 |
display saved-configuration |
显示用于本次及下次启动的配置文件的名称 |
display startup |
显示当前视图下生效的配置 |
display this |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!