08-配置文件管理
本章节下载: 08-配置文件管理 (361.73 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、或单板再次插入设备时,对应配置自动从内存中恢复到当前运行配置中。
如果成员设备退出IRF、或单板被拔出后,将当前运行配置保存到了下次启动配置文件中,该成员设备/单板的配置不会写入到配置文件中。如需将退出的成员设备或被拔出的单板的配置保存到下次启动配置文件中,请执行如下操作:
(1) 将单板重新插入到设备上,或者将成员设备重新加入IRF并重启该成员设备。
(2) 待单板或成员设备正常工作后,执行display current-configuration命令,确认单板或成员设备的配置已恢复到当前运行配置中。
(3) 保存当前运行配置到下次启动配置文件中。
如果在成员设备退出IRF或者单板被拔出后,执行了重启操作,该成员设备/单板的配置将无法恢复。
可在任意视图下执行本命令,保存当前配置。
· 将当前配置保存到指定文件,但不会将该文件设置为下次启动配置文件。
save file-url [ all | chassis chassis-number slot slot-number ]
· 将当前配置保存到IRF中所有主控板存储介质的根目录下,并将该文件设置为下次启动配置文件。
save [ safely ] [ backup | main ] [ force ] [ context-all | changed ]
为了安全起见,建议选用safely参数。执行该命令时,请不要重启设备或者给设备断电,以免造成下次启动配置文件丢失。
执行save命令时,可能会导致当前已经存在的配置文件被覆盖,请根据设备提示谨慎操作。
用户通过命令可以查看两份配置文件、指定配置文件与当前运行配置、指定配置文件与下次启动文件、当前运行配置与下次启动文件之间的差异。用户可根据差异来决定是否保存当前配置或者进行配置替换。
只有文本类型的配置文件,才支持查看差异。
将下次启动配置文件和其他配置文件进行比较时:
· 优先使用主用下次启动配置文件。
· 如果主用下次启动配置文件不可用,则使用备用下次启动配置文件。
· 如果主用下次启动配置文件和备用下次启动配置文件都不可用,系统会给出相应的错误提示信息。
可在任意视图下执行本命令,显示配置差异。请选择其中一项进行配置。
· 显示指定配置文件和指定配置文件、当前运行配置、下次启动配置文件之间的差异。
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
可以设置将备份文件保存在本地,或者远程FTP、TFTP和SCP服务器上。备份当前配置前必须设置备份文件的保存路径和文件名前缀。
设备支持自动备份和手动备份两种备份配置的方式。
· 自动备份当前配置:系统按照已配置的时间间隔自动备份当前配置。
· 手动备份当前配置:用户随时可以执行手动备份命令行备份当前配置。例如,需要对设备进行复杂配置过程中,不定期手动备份当前配置,以便配置错误时,使用配置回滚功能将当前配置回滚至正确情况。
设备只支持将配置文件备份到一个目的地。所以,配置远程备份前需要先取消本地备份配置,配置本地备份配置前需要先取消远程备份配置。如果多次配置备份参数,最新的配置生效。
备份当前配置过程中,建议不要修改配置文件的备份参数。若修改了备份参数,则该参数不会立即生效,设备仍然会按照原参数设置将当前配置保存在旧的备份路径下,且执行display archive configuration命令不会显示该备份配置文件。采用远程备份方式时,必须保证本地配置文件参数与服务器侧参数保持一致,否则备份操作将会失败。
如果设置备份文件保存在本地,设备备份当前运行配置时,将在指定的本地路径下生成以“前缀_序号.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。
请根据系统剩余存储空间配置备份配置文件的最大数。
(4) 备份当前配置到本地。请选择其中一项进行配置。
¡ 自动备份当前配置到本地,并设置自动备份的时间间隔。
archive configuration interval interval
缺省情况下,自动备份当前配置功能处于关闭状态。
¡ 请依次执行以下命令在用户视图下手动备份当前配置。
quit
archive configuration
如果设置备份文件保存在远程服务器上,设备备份当前运行配置时,将在远程服务器指定的路径下生成以“前缀_YYYYMMDD_HHMMSS.cfg”命名的配置文件(例如archive_20170526_203430.cfg)。
执行undo archive configuration server命令后,用户将不能手工备份当前配置到远程服务器,系统也不再自动备份当前配置到远程服务器。同时,archive configuration server user和archive configuration server password命令会恢复为缺省情况,display archive configuration不显示远程服务器备份信息。
(1) 进入系统视图。
system-view
(2) 指定配置文件备份到远程服务器时使用的参数。
archive configuration server { ftp | tftp | scp } { ipv4-address | ipv6 ipv6-address } [ port port-number ] [ vpn-instance vpn-instance-name ] [ directory directory ] filename-prefix filename-prefix [ interval interval ]
缺省情况下,未指定配置文件备份到远程服务器时使用的参数。
如果指定了interval参数,将开启自动将配置文件备份到远程服务器功能。
(3) 如果指定将配置文件备份到远程FTP服务器或SCP服务器,且服务器端设置了登录用户的用户名和密码,请执行如下步骤配置向远程服务器备份配置时使用的用户名、密码。
a. 配置向远程FTP服务器或SCP服务器备份配置时使用的用户名。
archive configuration server user user-name
缺省情况下,未配置向远程FTP服务器或SCP服务器备份配置时使用的用户名。
b. 配置向远程FTP服务器或SCP服务器备份配置时使用的密码。
archive configuration server password { cipher | simple } string
缺省情况下,未配置向远程FTP服务器或SCP服务器备份配置时使用的密码。
请保证本地配置和服务器端配置一致。
(4) 请执行如下步骤,手动备份当前配置到远程服务器。
a. 退出系统视图。
quit
b. 手动备份当前配置。
archive configuration
可以使用本地配置文件或者远程服务器上的配置文件进行配置回滚。配置回滚后,当前运行配置将回滚到指定的配置文件中的配置状态。
配置回滚时,系统将对比当前配置和回滚配置文件中配置的差异,并做如下处理:
· 不处理当前配置与回滚配置文件中相同的命令。
· 对于存在于当前配置但不存在于回滚配置文件的命令,回滚操作将取消当前配置中的命令,即执行相应的反向操作。
· 对于存在于回滚配置文件但不存在于当前配置的命令,回滚操作将执行这些命令。
· 对于当前配置和回滚配置文件中不同的命令,配置回滚将先取消这些配置,再执行回滚配置文件中的相应命令。
执行配置回滚,可能导致业务中断,请谨慎使用。
执行配置回滚操作时(执行configuration replace file命令或configuration replace server 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命令、自动备份或手工备份生成的完整文件,或是不同类型设备的配置文件,配置回滚可能不能完全恢复至配置文件中的配置状态。因此,需要用户确保回滚配置文件中配置的正确性和与当前设备的兼容性。
在高可靠性组网环境中,配置回滚完成后,需要在主管理设备上执行configuration manual-sync命令将主管理设备上的配置信息手工批量备份到从管理设备,以保证主备设备的配置信息一致。有关高可靠性的详细介绍,请参见“高可靠性配置指导”中的“高可靠性”。
指定的配置文件只能是明文文件,不能是被加密的配置文件,且必须是本地保存的配置文件。
(1) 进入系统视图。
system-view
(2) 将当前配置回滚到本地配置文件中的状态。
configuration replace file filename
配置回滚是在不重启设备的情况下,将当前的配置回退到指定配置文件中的配置状态,回滚前的配置将会丢失。配置回滚过程中,可能会导致业务中断,请谨慎使用。
配置使用远程服务器上的配置文件进行配置回滚后,会从远程服务器下载指定的配置文件,在本地保存为临时文件,并进行配置回滚。配置回滚完成后,删除该临时文件。
使用远程服务器上的配置文件进行配置回滚前,需要先配置从远程服务器下载配置文件时使用的参数。
执行undo configuration replace server命令后,用户将不能从远程服务器下载配置文件并进行配置回滚。同时,configuration replace server user和configuration replace server password命令会恢复为缺省情况,display configuration replace server不显示服务器回滚信息。
进行远程配置回滚时:
· 如果没有指定filename,则使用configuration replace server命令指定的用于远程配置回滚功能的缺省配置文件。
· 如果没有指定开启远程配置回滚功能的时间,则立即开启远程配置回滚功能。如果开启定时远程配置回滚功能,在时间到达前,可以取消;如果开启立即远程配置回滚功能,则无法取消。
· 指定的时间不能早于当前系统时间。如果修改了系统时间,且晚于所配置的开启远程配置回滚功能的时间,则配置失效。
· 如果没有指定date参数:
¡ 配置的时间点在当前系统时间之后,则设备将在当天的该时间点从远程配置回滚服务器下载配置文件并进行配置回滚。
¡ 配置的时间点在当前系统时间之前,则设备将在第二天的该时间点从远程配置回滚服务器下载配置文件并进行配置回滚。
(1) 进入系统视图。
system-view
(2) 指定从远程服务器下载配置文件时使用的参数。
configuration replace server { ftp | tftp } { ipv4-address | ipv6 ipv6-address } [ port port-number ] [ vpn-instance vpn-instance-name ] [ directory directory ] file filename
缺省情况下,未指定从远程配置回滚服务器下载配置文件时使用的参数。
(3) 如果指定从远程FTP服务器下载配置文件并进行配置回滚,且FTP服务器端设置了登录用户的用户名和密码,请执行如下配置,配置从远程FTP服务器下载配置文件时使用的用户名、密码。
a. 配置从远程FTP服务器下载配置文件时使用的用户名。
configuration replace server user user-name
缺省情况下,未配置从远程FTP服务器下载配置文件时使用的用户名。
如果没有配置从远程FTP服务器下载配置文件时使用的用户名,则使用匿名用户名“anonymous”。
b. 配置从远程FTP服务器下载配置文件时使用的密码。
configuration replace server password { cipher | simple } string
缺省情况下,未配置从远程FTP服务器下载配置文件时使用的密码。
请保证本地配置和服务器端配置一致。
(4) 将当前配置回滚到远程服务器上的配置文件中的状态。
configuration replace server file [ filename ] [ at time [ date ] ]
该命令会使设备立即或者在将来的某个时间点从配置回滚服务器上下载配置文件并执行配置回滚,回滚前的配置会丢失,且配置回滚可能导致业务中断,请谨慎使用。
执行undo startup saved-configuration命令并重启IRF或IRF中的成员设备时,会导致IRF分裂,请谨慎使用。
主用下次启动配置文件和备用下次启动配置文件可以设置为同一文件,但为了更可靠,建议设置为不同的文件,或者将一份配置保存在两个不同名的文件中,一个设置为主用,一个设置为备用。
在执行undo startup saved-configuration命令之后,系统会将主用/备用下次启动配置文件均设置为NULL,但不会删除该文件。
执行save命令将当前配置保存到指定配置文件时,系统会自动把该文件设置为设备的主用下次启动配置文件。详细配置请参见“1.3 保存当前配置”。
所有成员设备上主控板的下次启动配置文件必须是相同的文件,因此,使用本命令前,请确保指定的配置文件已经保存在IRF中所有主控板相同类型存储介质的根目录下,否则,操作失败。
(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 configuration replace server |
显示设备当前生效的配置 |
display current-configuration [ configuration [ module-name ] | exclude-provision | 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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!