神奇的H3C设备自动配置功能,不用按Ctrl-D/C了

本文涉及的产品
云解析DNS-重点域名监控,免费拨测 20万次(价值200元)
简介: 神奇的H3C设备自动配置功能,不用按Ctrl-D/C了


自动配置简介

自动配置功能是指设备在启动时自动获取并执行配置文件。网络管理员只需将配置文件保存在指定的存储介质上,设备启动时可以自动从存储介质上获取并执行配置文件,实现自动配置,从而简化了网络配置,大大降低了网络管理员的工作量,便于实现对设备的集中管理。

服务器自动配置

管理员将配置文件保存在文件服务器上,设备在启动时可以自动从文件服务器上获取并执行配置文件,实现自动配置功能。当网络规模较大,设备位置相对分散时,网络管理员在每一台设备上进行自动配置的工作量很大,这时管理员可以考虑使用服务器自动配置。

自动配置过程分析

我们先从设备启动过程看一下,一般来讲,设备空配置启动时,首先自动检查存储介质的根目录下是否存配置文件。如果存在,则直接执行此文件;如果不存在,则通过自动从文件服务器上获取并执行配置脚本文件或配置文件,实现自动配置功能。

第一步我们看到的是,提示没有可用的接口。按照流程来讲,现在缺少物理网络,那就接一根线。

引入新的问题,是接管理口还是普通的业务口呢

先按照设备有带外管理口试一下。

因为带外管理口一般为三层口,所以直接在接口上使能DHCP自动获取IP地址,但是因为没有DHCP服务器,所以未能获取IP地址。

再测试一下使用业务口的情况。

可以看到设备自动使能了虚接口VLAN-inf1,并且使能DHCP,但同样未能获取IP地址。

如果开启DHCP,并且同时连接带外管理口和业务口呢?

可以看到,设备先用带外管理口去拿地址、获取配置,再使用VLAN虚接口去尝试,虽然这次拿到了地址,但是因为缺少配置文件,所以再次失败了。

总结一下,设备的自动配置需要DHCP服务器和文件服务器(TFTP服务器或HTTP服务器),可选DNS服务器

设备自动配置实验

实验环境

准备一个简单的组网如下:

实验环境为HCL。路由器MSR36-20(Version 7.1.075, Alpha 7571),是本次测试的自动配置上线设备;交换机S5820V2-54QS-GE(Version 7.1.075, Alpha 7571),承担DHCP服务器的角色;PC上安装3CDaemon,作为存储设备配置的TFTP服务器。

实验步骤

从前面可以看到,设备请求了两个配置文件network.cfg和device.cfg,我们先在本地创建这两个文件。

配置文件内容如下:

network.cfg

#
sysname network

device.cfg

#
sysname device

先不配置交换机,使设备可以直接从TFTP服务器(开启DHCP)获取配置。

对比服务器侧日志,可以看到,设备先后下载了两个配置文件。

在下载network.cfg之后,找不到hostname相关的配置,所以这个network.cfg的配置文件应该是记录主机名用的。按照华三官网的说明,network.cfg为主机名文件,主机名文件用来保存主机IP地址与主机名称的映射关系,需要上传到TFTP服务器

随即下载了device.cfg,并成功加载到运行配置中。可以看到,设备名称变成了device。

查看设备存储信息,没有保存下载的配置文件。

并且在设备加载完配置之后,自动配置获取的IP地址释放。

再从抓包看一下过程。

首先是设备通过DHCP获取IP地址。

然后是请求network.cfg,下载之后进行DNS请求,请求自己的域名/主机名。但是,设备发送的是广播请求,没有返回结果。

然后设备开始获取device.cfg,加载之后释放IP地址。

中间还夹杂着SSDP(Simple Service Discovery Protocol,简单服务发现协议)请求,组播地址为239.255.255.250,好像是路由器的UPNP服务使用的。

总结

1、设备的自动配置需要DHCP服务器和文件服务器(TFTP服务器或HTTP服务器),可选DNS服务器;

2、获取初始配置时,带外管理口优先级高于业务口;

3、按照流程来看,可以先记录设备的MAC地址,然后通过手工绑定DHCP来使设备获取指定的IP地址,再通过network.cfg或DNS服务器反向解析得到自己的主机名,再从TFTP服务器上拉取与设备名称对应的配置文件,最后完成配置加载;

4、本文是最简单的设备自动配置,除设备外,仅需要一台电脑,即可实现设备初始化。


相关文章
|
Dubbo Java 数据库连接
利用FactoryBean接口实例化,来实现dubbo接口调用和mybatis接口调用
Java编程规范中声明,Java接口类是不能直接实例化的,但是我们在平时的开发中经常会遇到只声明接口就可以直接使用的。 eg: 1. Mybatis中只用使用`@MapperScan`声明要扫描的Mapper接口类就可以直接从Spring中获取使用,进行操作数据库 2. Dubbo中只要用Dubbo提供的`@Service`注解,同样可以直接从Spring中获取使用进行远程调用。
656 0
|
Linux Docker Windows
docker pull 报错解决:error pulling image configuration: Get https:..
docker pull 报错解决:error pulling image configuration: Get https:..
4512 0
|
3月前
|
机器学习/深度学习 安全 Serverless
【创新未发表】【故障诊断】基于连续小波变换-CNN, ResNet, CNN-SVM, CNN-BiGRU, CNN-LSTM的故障诊断研究【凯斯西储大学数据】(Matlab代码实现)
【创新未发表】【故障诊断】基于连续小波变换-CNN, ResNet, CNN-SVM, CNN-BiGRU, CNN-LSTM的故障诊断研究【凯斯西储大学数据】(Matlab代码实现)
265 0
|
10月前
|
存储 人工智能 算法
AAAI 2025| S5VH: 基于选择性状态空间的高效自监督视频哈希
AAAI 2025 论文 S5VH 提出基于选择性状态空间模型的高效自监督视频哈希方法,通过双向 Mamba 层和 Self-Local-Global 学习范式,显著提升视频检索性能与推理效率。
539 16
|
存储 关系型数据库 MySQL
在 MySQL 中使用创建表
【8月更文挑战第11天】
1567 0
|
Ubuntu 安全 数据安全/隐私保护
Ubuntu系统中开启root用户的方法
Ubuntu系统中开启root用户的方法
1094 0
|
算法 安全 Linux
Linux 下共享内存方式 :System V共享内存、共享文件映射(mmap)、POSIX共享内存对比...
Linux 下共享内存方式 :System V共享内存、共享文件映射(mmap)、POSIX共享内存对比...
398 2
|
Kubernetes Java 关系型数据库
ChaosBlade识别问题之无法识别或重启Pod如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:

热门文章

最新文章