08-配置文件管理
本章节下载: 08-配置文件管理 (330.16 KB)
目 录
配置文件是用来保存配置的文件。设备重启后,这些配置继续生效。当网络中多台设备需要批量配置时,可以将相同的配置保存到配置文件,再上传/下载到所有设备,在所有设备上执行该配置文件来实现设备的批量配置。
软件版本中所有的软件功能都被赋予一个缺省值,这些缺省值的集合被称为“空配置”。缺省值无法通过命令行直接查看,可通过查看产品当前软件版本的命令手册,了解各软件功能的缺省值。
设备在出厂时,通常会带有一些基本的配置,称为出厂配置。它用来保证设备在没有配置文件或者配置文件损坏的情况下,能够正常启动、运行。
可以使用display default-configuration命令查看设备的出厂配置。
出厂配置可能与命令行的缺省情况不一致,不同型号的设备会根据需要定制各自的出厂配置。
设备启动时运行的配置即为启动配置。如果没有指定启动配置文件或者启动配置文件损坏,则系统会使用出厂配置作为启动配置。
可以通过以下方式查看启动配置:
· 设备启动后且还没有进行配置前,使用display current-configuration命令查看当前启动配置。
· 使用display startup命令查看本次启动使用的配置文件和下次启动使用的主用、备用配置文件,再使用more命令查看相应配置文件的内容。(more命令的详细介绍请参见“基础配置命令参考”中“文件系统管理”)
· 使用display saved-configuration命令查看下次启动配置文件的内容。
系统当前正在运行的配置称为当前配置。它包括启动配置和设备运行过程中用户进行的配置。当前配置存放在设备的临时缓存中,如果不保存,设备运行过程中用户进行的配置在设备重启后会丢失。
可以使用display current-configuration命令查看设备的当前配置。
执行save命令保存配置时,系统将自动生成一个文本类型的配置文件和一个二进制类型的配置文件,两个文件的内容完全相同。
· 文本类型配置文件:后缀名为“.cfg”,可以通过more命令查看,或使用文本编辑器修改该文件的内容。文本类型配置文件可以单独保存到存储介质中,无需对应的二进制类型的配置文件。
· 二进制类型配置文件:后缀为“.mdb”,仅能够使用软件解析该类配置文件,用户不能读取和编辑文件内容。二进制类型的配置文件不能单独保存到存储介质中,必须有对应的文本类型的配置文件。该类型配置文件的加载速度快,设备启动时优先使用该类型配置文件。
设备启动时,文本类型配置文件和二进制类型配置文件的选择规则如图1-1所示。
如无特殊说明,下文描述的配置文件均指文本类型的配置文件。
设备上可以同时存在多个配置文件。设备本次启动使用的配置文件称为当前启动配置文件;设备下次启动使用的配置文件称为下次启动配置文件。
设备支持配置两个下次启动配置文件,一个为主用配置文件,一个为备用配置文件。
设备启动时,配置文件的选择规则如下:
(2) 如果主用下次启动配置文件不存在或损坏,使用备用下次启动配置文件。
(3) 如果主用和备用下次启动配置文件都不存在或损坏,则使用出厂配置启动。
配置文件对内容和格式有严格定义,为保证配置文件的正确运行,建议使用设备自动生成的配置文件。如果需要手工修改配置文件,请遵循配置文件的内容和格式规则。
配置文件的内容和格式规则如下:
· 配置文件的内容为命令的完整形式。
· 配置文件以命令视图为基本框架,同一命令视图的命令组织在一起,形成一节,节与节之间用#隔开。
· 以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 Vlan-interface1
ip address 192.168.1.84 255.255.255.0
#
配置回滚是在不重启设备的情况下,将当前的配置回退到指定配置文件中的配置状态。
配置回滚主要应用于:
· 当前配置错误,且错误配置太多不方便定位或逐条回退,需要将当前配置回滚到某个正确的配置状态。
· 设备的应用环境变化,需要使用某个配置文件中的配置信息运行,在不重启设备的情况下将当前配置回滚到指定配置文件中的配置状态。
下次启动文件/缺省配置文件请勿存放在硬盘中。
配置文件加密功能就是设备在执行save命令将当前配置保存到配置文件的同时,将配置文件加密。
加密后的文件能被所有运行Comware V7平台软件的设备识别和解析。因此,为了防止非法用户对加密后配置文件的解析,需确保只有合法用户才能获取加密后的配置文件。运行其它平台软件的设备不能识别和解析。
开启配置文件加密功能后,执行save命令生成的配置文件是加密后的配置文件,将不能使用more命令查看加密配置文件(后缀名为“.cfg”的配置文件)的内容,且加密配置文件将不能参与配置差异的比较(如不能使用display current-configuration diff命令比较下次启动配置文件与运行配置之间的差异、不能将加密后的配置文件作为display diff命令的参数)。
(1) 进入系统视图。
system-view
(2) 开启配置文件加密功能。
configuration encrypt { private-key | public-key }
缺省情况下,配置文件加密功能处于关闭状态。
保存配置前,配置仅保存在内存中,设备重启后,设备将恢复为出厂配置。如果要使当前配置在设备重启后仍然生效,则需要将当前配置保存到下次启动配置文件中。
在保存当前运行配置时,请不要重启设备或者给设备断电,以免造成下次启动配置文件丢失。
如果成员设备退出IRF,该成员设备的配置不会丢失,仍然保存在内存中,但是会从当前运行配置中删除。成员设备再次加入IRF时,对应配置自动从内存中恢复到当前运行配置中。
如果成员设备退出后,将当前运行配置保存到了下次启动配置文件中,该成员设备的配置不会写入到配置文件中。如需将退出的成员设备的配置保存到下次启动配置文件中,请执行如下操作:
(1) 将成员设备重新加入IRF并重启该成员设备。
(2) 待成员设备正常工作后,执行display current-configuration命令,确认成员设备的配置已恢复到当前运行配置中。
(3) 保存当前运行配置到下次启动配置文件中。
如果在成员设备退出IRF后,执行了重启操作,该成员设备的配置将无法恢复。
执行save或save binary-only命令时,可能会导致当前已经存在的配置文件被覆盖,请根据设备提示谨慎操作。
可在任意视图下执行本命令,保存当前配置。
· 将当前配置保存到指定文件,但不会将该文件设置为下次启动配置文件。
save file-url [ all | slot slot-number ]
· 将当前配置保存到所有成员设备存储介质的根目录下,并将该文件设置为下次启动配置文件。
save [ safely ] [ backup | main ] [ force ] [ context-all | changed ]
为了安全起见,建议选用safely参数。执行该命令时,请不要重启设备或者给设备断电,以免造成下次启动配置文件丢失。
用户通过命令可以查看两份配置文件、指定配置文件与当前运行配置、指定配置文件与下次启动文件、当前运行配置与下次启动文件之间的差异。用户可根据差异来决定是否保存当前配置或者进行配置替换。
只有文本类型的配置文件,才支持查看差异。
可在任意视图下执行本命令,显示配置差异。请选择其中一项进行配置。
· 显示指定配置文件和指定配置文件、当前运行配置、下次启动配置文件之间的差异。
display diff configfile file-name-s { configfile file-name-d | current-configuration | startup-configuration }
· 显示当前运行配置和指定配置文件、下次启动配置文件之间的差异。
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
配置回滚配置任务如下:
(1) 配置备份参数
(2) 备份当前配置
¡ 自动备份当前配置
¡ 手动备份当前配置
(3) 执行配置回滚
备份当前配置前必须设置备份文件的保存路径和文件名前缀。
设备备份当前运行配置时,将当前的配置以前缀_序号.cfg格式(例如archive_1.cfg)保存到该命令指定路径下的配置文件中。序号自动从1开始编号,依次加1,累加至1000后重新从1开始编号。
修改备份文件的保存路径或文件名前缀后,备份序号从1开始重新自动编号,原来的备份文件不再作为备份文件而作为普通配置文件存在,此后执行display archive configuration命令不会显示原来的回滚配置信息。
备份文件数量达到上限后,再次保存备份文件时,系统将删除保存时间最早的备份文件,以保存新的备份文件。
执行undo archive configuration location命令后,用户将不能手工备份当前配置到本地,系统也不再自动备份当前配置到本地。同时,archive configuration max和archive configuration interval命令会恢复为缺省情况、display archive configuration的显示信息会被清除。
(1) 进入系统视图。
system-view
(2) 配置备份配置文件的本地保存路径和文件名前缀。
archive configuration location directory filename-prefix filename-prefix
缺省情况下,未配置备份配置文件的本地保存路径和文件名前缀。
directory必须是主设备上已存在的路径,且参数中不能包含成员编号。
(3) (可选)配置备份配置文件的最大数。
archive configuration max file-number
缺省情况下,备份配置文件的最大数为5。
请根据系统剩余存储空间配置备份配置文件的最大数。
设备支持自动备份和手动备份两种备份配置的方式。
· 自动备份当前配置:系统按照已配置的时间间隔自动备份当前配置。
· 手动备份当前配置:用户随时可以执行手动备份命令行备份当前配置。例如,需要对设备进行复杂配置过程中,不定期手动备份当前配置,以便配置错误时,使用配置回滚功能将当前配置回滚至正确情况。
如果设置备份文件保存在本地,该功能只将当前配置备份到主设备,不会保存到从设备。
在自动或手动备份配置文件时,不能清除display archive configuration命令显示的回滚配置信息。
(1) 进入系统视图。
system-view
(2) 开启自动备份当前配置功能,并设置自动备份的时间间隔。
archive configuration interval interval
缺省情况下,自动备份当前配置功能处于关闭状态。
请在用户视图下执行本命令,手动备份当前配置。
archive configuration
配置回滚时,系统将对比当前配置和回滚配置文件中配置的差异,并做如下处理:
· 不处理当前配置与回滚配置文件中相同的命令。
· 对于存在于当前配置但不存在于回滚配置文件的命令,回滚操作将取消当前配置中的命令,即执行相应的反向操作。
· 对于存在于回滚配置文件但不存在于当前配置的命令,回滚操作将执行这些命令。
· 对于当前配置和回滚配置文件中不同的命令,配置回滚将先取消这些配置,再执行回滚配置文件中的相应命令。
执行配置回滚操作时(执行configuration replace file命令)不能进行主从设备倒换操作,否则可能造成配置回滚终止。
配置回滚到指定配置文件时,如果有命令行回滚失败,系统将打印提示信息说明有命令行回滚失败,此时,请执行display diff current-configuration configfile命令将回滚后的运行配置与目标配置文件中的配置对比,差异部分即为回滚失败的命令行。
配置能否回滚成功由命令的具体处理决定,存在以下情况时,某条命令会回滚失败,系统会跳过回滚失败的命令,直接处理下一条命令:
· 命令不支持完整undo命令,即直接在配置命令前添加undo关键字构成的命令不存在,设备不识别。比如命令A [ B ] C,对应的undo命令为undo A C,但是配置A B C回滚的时候,系统会去自动执行undo A B C,此时系统会认为不支持undo A B C而造成配置A B C回滚失败。
· 配置不能取消(如硬件相关的命令)。
· 若不同视图下的各配置命令存在依赖关系,命令可能执行失败。
· 使用的配置文件不是由save命令、自动备份或手工备份生成的完整文件,或是不同类型设备的配置文件,配置回滚可能不能完全恢复至配置文件中的配置状态。因此,需要用户确保回滚配置文件中配置的正确性和与当前设备的兼容性。
(1) 进入系统视图。
system-view
(2) 执行配置回滚。
configuration replace file filename
filename只能是明文配置文件,不能是被加密的配置文件,且必须是本地保存的配置文件。
配置回滚是在不重启设备的情况下,将当前的配置回退到指定配置文件中的配置状态,回滚前的配置将会丢失。配置回滚过程中,可能会导致业务中断,请谨慎使用。
执行undo startup saved-configuration命令并重启IRF或IRF中的成员设备时,会导致IRF分裂,请谨慎使用。
主用下次启动配置文件和备用下次启动配置文件可以设置为同一文件,但为了更可靠,建议设置为不同的文件,或者将一份配置保存在两个不同名的文件中,一个设置为主用,一个设置为备用。
在执行undo startup saved-configuration命令之后,系统会将主用/备用下次启动配置文件均设置为NULL,但不会删除该文件。
执行save命令将当前配置保存到指定配置文件时,系统会自动把该文件设置为设备的主用下次启动配置文件。详细配置请参见“1.4 保存当前配置”。
所有成员设备的下次启动配置文件必须是相同的文件,因此,使用本命令前,请确保指定的配置文件已经保存在所有成员设备相同类型存储介质的根目录下,否则,操作失败。
(1) 配置下次启动时的配置文件。请选择其中一项进行配置。
¡ 请在用户视图下执行本命令,配置下次启动时的配置文件。
startup saved-configuration cfgfile [ backup | main ]
缺省情况下,未配置下次启动配置文件
¡ 可在任意视图下执行本命令,在保存当前配置到配置文件的同时设置该配置文件为下次启动配置文件。
save [ safely ] [ backup | main ] [ force ]
不指定main和backup参数时,缺省使用main。
(2) (可选)可在任意视图下执行以下命令,验证配置。
¡ 显示用于本次及下次启动的配置文件的名称。
display startup
¡ 查看下次启动配置文件的内容。
display saved-configuration
备份是指将设备的主用下次启动配置文件备份到指定的TFTP服务器。
恢复是指将TFTP服务器上保存的配置文件下载到设备并设置为主用下次启动配置文件。
在执行配置文件的备份操作前,请进行以下操作:
· 保证设备与服务器之间的路由可达,服务器端开启了TFTP服务,执行备份操作的客户端设备已获得了相应的读写权限。
· 在任意视图下使用display startup命令查看设备是否设置了下次启动配置文件。如果没有指定下次启动配置文件,或者配置文件不存在,备份操作将失败。
请在用户视图下执行本命令,将设备的主用下次启动配置文件备份到指定的TFTP服务器。
backup startup-configuration to { ipv4-server | ipv6 ipv6-server } [ dest-filename ] [ vpn-instance vpn-instance-name ]
(1) 请在用户视图下执行本命令,将TFTP服务器上保存的配置文件下载到设备并设置为主用下次启动配置文件。
restore startup-configuration from { ipv4-server | ipv6 ipv6-server } src-filename [ vpn-instance vpn-instance-name ]
(2) (可选)可在任意视图下执行以下命令,验证配置。
¡ 显示用于本次及下次启动的配置文件的名称。
display startup
¡ 查看下次启动配置文件的内容。
display saved-configuration
当用户不再使用当前系统指定的下次启动配置文件启动设备时,使用该功能可将下次启动配置文件从设备上删除。
主备用下次启动配置文件都删除后,设备重启将采用出厂配置启动。
用户可以只删除主用下次启动配置文件,或者只删除备用下次启动配置文件。
如果设备的主用下次启动配置文件和备用下次启动配置文件相同,仅执行一次删除操作(例如指定了backup参数),系统只将相应的下次启动配置文件设置为NULL,不删除该文件,需要再次执行删除操作(指定main参数),才能将该配置文件彻底删除。
本特性会将下次启动配置文件从所有成员设备上彻底删除,请谨慎使用。
请在用户视图下执行本命令,删除下次启动配置文件。
reset saved-configuration [ backup | main ]
· 本特性会将下次启动配置文件从所有成员设备上彻底删除,请谨慎使用。
不指定main和backup参数时,删除主用下次启动配置文件。
在完成上述配置后,在任意视图下执行display命令可以显示配置文件的使用情况。用户可以通过查看显示信息验证配置的效果。
操作 |
命令 |
显示配置回滚功能的相关信息 |
display archive configuration |
显示设备当前生效的配置 |
display current-configuration [ configuration [ module-name ] | interface [ interface-type [ interface-number ] ] | vpn-instance [ vpn-instance-name ] ] |
显示下次启动配置文件与运行配置之间的差异 |
display current-configuration diff |
显示出厂配置 |
display default-configuration |
查看两份配置之间的差异 |
display diff configfile file-name-s { configfile file-name-d | current-configuration | startup-configuration } display diff current-configuration { configfile file-name-d | startup-configuration } display diff startup-configuration { configfile file-name-d | current-configuration } |
显示下次启动配置文件的内容 |
display saved-configuration |
显示用于本次及下次启动的配置文件的名称 |
display startup |
显示当前视图下生效的配置 |
display this |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!