【Linux】一种Linux网络设备出厂批量软件初始化、安装、升级的方案
来源:互联网 发布:slax linux定制中文版 编辑:程序博客网 时间:2024/06/02 23:31
1、问题描述
目前有大量网络设备,对外只提供网络接口,在设备出厂的时候需要对设备进行初始化、软件预装、软件升级等操作,
2、解决方案
linux系统初始是通过DHCP分配得到ip地址,所以可以通过配置一台DHCP服务器管理设备的方式进行设备端的操作!
下面是一种通过DHCP服务的方式进行设备更新操作的方法。
设备列表:一台配置了DHCP的主机,一台二层交换机(傻瓜交换机),设备若干,网线。
连接图示
DHCP服务端配置(由于实验用的ubuntu系统,所以此处会以ubuntu为例)
(1)安装 isc-dhcp-server 服务程序
# sudo apt-get install isc-dhcp-server
(2)修改配置文件
#备份当前配置
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak
#编辑当前配置
sudo vi /etc/dhcp/dhcpd.conf
> 其中, ` log-facility local4; ` 是输出 DHCP 发现、提供、选择、确认、重新登录、更新租约等日志 到系统流,以便我们可以记录到自定义日志文件中
(3)记录输出日志的配置
(4)在
/var/log/
文件夹下面新建dhcplog
文件,并修改权限# sudo chmod 666 /var/log/dhcplog
(5)启动 DHCP 服务即可。
# /etc/init.d/isc-dhcp-server start
编写脚本文件
由于
dhcplog
记录的日志都是 DHCP 规律的结构语句,可以按照行,解析其中的语句,提取mac地址、ip地址,从而操作设备。
脚本文件(循环执行提取操作,每次读到文件末尾,记录行数,如果再次有设备接入,行数增加,从上次读取的位置继续读到文件末尾,根据日志行和mac地址唯一性解析出ip,操作设备)
远程操作命令
(1)pscp
(2)plink
此二函数功能很强大,使用起来很方便,可以好好看一下。操作
启动服务器,每次只需要把需要升级的设备连接到交换机,即可得到服务器分配的ip,然后服务器就会远程操作该设备!!!
3、优缺点
- 优点:
此方法非常简单;可以高效利用设备网络; - 缺点:
此方法无法获取终端的最后状态(需要添加反馈机制);
4、更新版本
1、启动dhcp服务器即清空dhcplog日志;
2、根据dhcplog日志文件大小判断是否有新设备加入;
3、添加根据mac地址生成的设备升级记录,可以解决重复升级和无反馈问题;
- 【Linux】一种Linux网络设备出厂批量软件初始化、安装、升级的方案
- linux网络设备初始化
- 在Linux下更通用的一种软件安装方式
- linux平台下的软件安装于升级
- linux网络设备驱动的结构
- Linux网络设备的系统调用
- Linux网络设备驱动的结构
- Linux组件升级方案的一些反思
- 【Linux】Ubuntu14.04虚拟网络设备TUN安装
- linux源概念、原理、应用(linux软件安装、升级)
- 《深入理解Linux网络内幕》学习笔记二:网络设备初始化
- 深入理解Linux网络技术内幕——网络设备初始化
- 关于防止批量注册的一种方案
- linux安装后的初始化
- FPGA在线升级的一种可行方案
- linux的软件安装
- Linux软件的安装
- Linux软件的安装
- Spring mvc中集成Junit4测试
- Re:从零开始的实习生活----序篇
- PHP检索字符串(strstr)文件上传查找指定(.jpg)文件
- js cookie的使用
- MySQL出现Waiting for table metadata lock的场景浅析
- 【Linux】一种Linux网络设备出厂批量软件初始化、安装、升级的方案
- OutLook 编程
- 电脑绘画还在用鼠标吗?好的数位板牌子有哪些
- css学习笔记
- 黄念祖:金刚经一滴
- 简单的说 泛型就是函数的参数类型可以变化
- MySQL5.7 (zip archive)ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using passwor
- 自定义Toast工具类ToastUtil防止多次点击时Toast不消失
- IOS的基本控件的使用-UITextView(单行文本输入区域)