14.3 动态重配置
OSPFd软件可以动态重配置而不需重启程序。只要编辑OSPFd配置文件 /etc/ospfd.conf
以反映新配置,然后发送USR1信号给OSPFd程序通知它重新读取配置文件就可以了。USR1信号可使用Linux命令 kill –s USR1 pid
发送,其中 pid
是OSPFd程序的Linux进程ID号。除了OSPF路由器ID号之外,所有配置参数都可动态改变。要改变OSPF路由器ID号,应该首先关闭OSPFd程序(见 14.4节),并在编辑配置文件之后重启OSPFd应用程序。
当某些特定的配置参数变化时,路由中有些中断是不可避免的。当一个接口的指定路由器优先权变化时,则会强制为该接口重新运行指定路由器计算。不同配置变化下OSPFd可能采取的行为的完整列表,可以在第13章中查找。
14.4 文明关闭
如果OSPFd程序不进行适当的清除处理便退出,则OSPF路由域将会遭受不同方式的损害。第一,它必须等待其他OSPF路由器在失败的OSPFd周围继续路由足够RouterDeadInterval秒的时间。第二,内核路由表继续充满该OSPFd退出以前发现的路由选择信息,而这些路由选择信息现在可能已经失去时效。第三,由失败的OSPFd创建的LSA可能继续保留在其他路由器的数据库中长达1小时。
在本OSPF实现中,为OSPFd提供了一个文明关闭过程(见 13.10节)。文明关闭可通过向OSPFd程序发送HUP信号 kill -s HUP pid
激活,其中 pid
是OSPFd应用程序的Linux进程ID号。当激活文明关闭进程时,OSPFd应用程序首先清除其所有本地创建的LSA,并通过发送空的Hello强制它的相邻路由器立即重新路由,从而放弃其邻接关系。在文明关闭过程的末尾,OSPFd从内核路由表中收回其插入的所有路由。
文明关闭过程可能需要一段时间,尤其是在清除本地创建的LSA时,要等待OSPFd的OSPF相邻路由器对被清除LSA的确认。基于此,对清除LSA设置了一个10秒的限制,在这个限制时间之后,文明关闭过程将继续余下的过程,而不管所有本地创建的LSA是否已被清除。
14.5 监控OSPFd操作
OSPFd程序将重要事件记入文件 /var/log/ospfd.log
中。文件的每一行是一个单独的日志消息,包含一个时间戳、一个消息码和一个事件的ASCII描述。有关更多信息,可以参考 OSPFd源代码 或其他相关资料。
这些改动确保了OSPFd的动态配置和文明关闭更加安全和高效。为什么不去试试这些新功能呢?了解更多配置细节还可以看看 Cisco路由器动态路由配置 和 Redis的配置启动操作和关闭方法 这类资料,扩展一下你的知识面吧!
暂无评论