网络管理员花了几天的心血将企业的网络组建完成之后,如果因为某些原因(如大规模的断电而企业没有采用UPS等设备),那么存放在闪存中的相关配置就会丢失。此时如果网络管理员恰恰没有将相关配置进行备份的话,可以想象,遇到这种情况网络管理员可能要后悔死了。所以说对网络配置文件的备份是很有必要的。笔者这里就以思科的路由器为例,对备份作业提一些建议。
一、相关配置必须保存后才能够永久存在
通常情况下,网络管理员对路由器配置进行的任何修改,一开始都是存储在Running-config配置文件中的。但是这个文件有个特点,其实保存在路由器的闪存中的。也就是说,当路由器重载或者断电之后,这修改的内容就会丢失。那么网络管理员以前所做的工作就都白费了。为此笔者建议,网络管理员应该对相关的配置信息,通过某种手段进行备份。如采用Copy Run Start命令等等。
不过这里笔者需要说明的一点是,笔者并不建议刚对配置进行了调整之后就对其进行备份。因为新的备份会覆盖原有的配置。笔者的观点是,对网络配置进行了修改后,要确认修改是正确的,然后再对修改进行保存。其实这跟修改文档类似。对文档进行了修改之后,如果没有保存,则发现错误时还可以使用返回功能来撤销刚做的更改。相反,如果保存之后则撤销功能就无法使用了。为此笔者非常强调,只有确认了相关配置之后,才对配置文件进行保存。
二、备份之前需要做的相关验证工作
在备份文件进行备份之前,笔者认为网络管理员需要对相关的内容进行再次验证。虽然这个步骤是可选的,但是笔者还是建议大家能够切实的做好这项工作。在备份的过程中,最新的配置会覆盖掉原先的配置。所以这个验证的工作主要就几种在两个文件。一个是当前系统中运行的配置文件(名字一般为running-config),另外一个文件是startup-config。如下图所示,可以使用show命令(其简写是sh)来查看并验证当前的配置。
这个命令可以显示很多有用的信息,包括路由器当前运行的版本、相关的配置(如IP地址、启用的接口等有用的信息)。同时网络管理员也可以通过使用命令sh startup-config命令来查询startuo-config配置文件中的相关信息。当对路由器的配置进行了更改(如更改了IP地址),网络管理员可以使用copy run start命令将相关的修改保存到startup-config文件中。下次路由器重新启动的时候,会使用startup-config配置文件中的参数来启动。如此的话,即使路由器死机或者突然断电,也不用担心相关的配置会丢失。
在实际工作中,有时候这么反复的验证可能比较麻烦。为了方便起见,网络管理员希望直接使用当前的配置文件覆盖启动配置文件。此时需要确认的就是两个文件是相同的。如果不能够确认的话,则下可以使用如下命令。
采用这种形式的话(在copy命令后面直接输入文件名字),可以确保这连个文件是相同的。这有助于验证两个文件相同的,而根本不需要手工验证。
三、将配置文件备份到路由器以外的地方
这里需要注意的是,无论是startup-config文件还是running-config文件,其都是存放在路由器中的。只是前者存放在NVRAM中(断电或者重启后信息不会丢失),而后者是存放在DRAM中(断电或这重载后数据会丢失)。此时如果路由器发生物理故障,无法重新启动时,则配置文件仍然会丢失。为此在备份配置文件的时候,还需要对其进行异地备份。
其实这跟数据库等服务器的配置类似。为了提高数据的安全性,需要将数据在其他位置进行远程备份。虽然这会浪费一点资源,但是相比数据的安全性来说,这点投资还是很值得的。在思科的网络环境中,比较常用的方式是在其他主机上建立一个TFTP服务器。然后通过命令将配置文件上传到TFTP服务器进行备份。这里主要用到的命令是copy running-config tftp 和copy startup-config tftp。
在这个操作中,笔者认为需要注意以下几个细节问题。
一是复制过去后文件怎么命名?上面的命令中,我们可以看到没有特别指定复制到TFTP服务器上去的文件的名字。通常情况下,我们在复制文件的时候,采用的是copy 源文件名 目标文件名 这种格式。如果目标文件名省略的话,则默认采用的是源文件名字。不过这里需要注意的是,这个规则在思科的路由器上不起作用。当采用如上命令复制文件时,系统会自动对目标文件进行命名。通常情况下,如果网络管理员已经给某个路由器设置了名字,那么这个命令就会自动使用加在-config后面的参数作为文件名字。系统这么设计,是比较有道理的。因为企业的网络中可能不只一台路由器。如果有三台路由器,同时需要往TFTP上备份配置文件的话,那么就会导致冲突。而且如果要将路由器设置为使用TFTP服务器上的配置文件启动,则路由器也会根据自己的名字来找到对应的配置文件。所以笔者认为这个规则是非常合理的。网络管理员在实际工作中需要注意这个规则。这有助于他们对这些配置文件的维护。
二是需要注意,虽然可以直接将run-config文件备份到TFTP服务器上去,但是笔者并不建议这么做。一般情况下,是先将run-config的文件保存到start-config文件中,然后再将其保存到TFTP服务器上。因为默认情况下,路由器是使用start-config配置文件来启动的。如果网络管理员直接将run-config文件保存到tftp服务器上,则可能会出现一个问题。如网络管理员忘记将刚做的配置保存到start-config文件中(只是将其保存在TFTP服务器上)。当下次重新加载路由器时,其采用的是start-config配置文件中的内容。也就是说,先前所做的配置都会丢失。为此笔者建议,在配置文件备份时,最好按这个顺序来。
四、其他的一些细节问题
第一,需要注意,TFTP服务器本身的安全性。由于TFTP服务器采用的是一种简单文本传输协议。确切的说,其本身没有任何的安全机制,不需要任何用户名与密码就可以访问。这虽然访问起来比较方便,但是很明显,也存在着很多的安全隐患。为此网络管理员还需要采取一定的措施来提高这个TFTP服务器的安全。如可以再对TFTP 服务器上的配置文件进行备份,等等。
第二,如果企业内部的路由器比较多,则可以使用TFTP服务器来简化管理。如企业现在内部有10台路由器。如果需要对IOS软件以及相关配置进行升级的话,需要一台台去完成。显然这个工作量还是有点大的。遇到这种情况的话,则可以使用TFTP服务器来简化工作流程。即让路由器在启动的时候,从TFTP服务器上启动。如此的话,只需要升级TFTP服务器上的内容,就可以完成对整个网络环境的升级动作。
第三,笔者需要再次强调,run-config、start-config以及TFTP服务器上的配置文件之间的差异。其实这些配置文件就好像是一个Word文档。当刚开始编辑Word文档的时候,更改的内容是保存在内存中的。如果没有及时保存(相当于没有运行copy startup-config 命令),则重新启动后相关的更改会丢失。只有运行保存命令后更改配置才会被保存到硬盘上的物理文件中。将配置文件保存到TFTP服务器上去,就相当于使用了Word文档的另存为命令。不过需要注意的是,当更改了某个文件之后,在保存之前直接使用另存为功能,则相关的配置是不会保存到本地的配置文件中。下次如果打开本地的文件,网络管理员会发现原先的配置没有保存。在进行异地备份时,这需要特别的注意。这也是笔者一再强调按顺序进行备份的原因。即先将相关配置保存到本地的startup-config文件中,然后再将其备份到TFTP服务器上。