Python实现自动装机功能案例分析


Posted in Python onOctober 22, 2020

前言

提示:在管理服务器的过程中,发现有很多服务器在启动的过程中默认以PXE方式启动,这就导致我们无法将PXE装机程序放开到所有的交换机端口中,本文是以Python对dell服务器进行了一些控制,更多厂商机器的管理和控制,仍在调研中。


提示:以下是本篇文章正文内容,下面案例可供参考

一、利用snmp协议获取到目标机器的网卡mac地址

代码如下

def get_mac(ipmi, netcard):
	#ipmi即服务器idrac_ip,netcard即网卡序列号(一般是4个,从1开始)
  # 将控制卡IP传给snmp命令,获取mac地址
  popen = subprocess.Popen(f'snmpwalk -v 2c -c public {ipmi} 1.3.6.1.4.1.674.10892.5.4.1100.90.1.6.1.{netcard}',
               stdout=subprocess.PIPE, shell=True)
  popen.wait()
  res = popen.stdout.read().decode().split()[-1].split('"')[0]
  res1 = res.replace(":", "")
  res2 = res.lower()
  # 获取到的mac地址,去空格,写入到文件中
  with open("/root/allow_mac", mode="w", encoding="utf-8") as f:
    f.write(res + "\n")
  print(res)
  #获取到mac地址的目的有两个,可以将mac地址传给后端交换机,交换机找到对应的接口,自动进行网络配置的下发,
	#另外一个是针对mac地址做防火墙控制

防火墙的初始化:

def init_iptables():
  # 调用iptables初始化防火墙策略
  print("防火墙开始初始化")
  subprocess.call('/sbin/iptables -F ', shell=True)
  subprocess.call('/sbin/iptables -P OUTPUT ACCEPT ', shell=True)
  subprocess.call('/sbin/iptables -A INPUT -m state --state INVALID -j DROP ', shell=True)
  subprocess.call('/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ', shell=True)
  subprocess.call('/sbin/iptables -P INPUT DROP ', shell=True)
  # stdout = subprocess.call('/sbin/iptables -L ', shell=True)
  # print(stdout)
  # subprocess.call('systemctl stop dhcpd ', shell=True)
  print("防火墙初始化完毕")
  #主要就是封装了一系列防火墙的配置,在装机完成之后,可以进行再控制,防止其他机器通过pxe-server进行装机操作

到此这篇关于Python实现自动装机功能案例分析的文章就介绍到这了,更多相关Python自动装机内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python基础教程之获取本机ip数据包示例
Feb 10 Python
基于wxpython实现的windows GUI程序实例
May 30 Python
浅谈Python 对象内存占用
Jul 15 Python
python with提前退出遇到的坑与解决方案
Jan 05 Python
Zookeeper接口kazoo实例解析
Jan 22 Python
Anaconda 离线安装 python 包的操作方法
Jun 11 Python
python 多进程共享全局变量之Manager()详解
Aug 15 Python
python装饰器代替set get方法实例
Dec 19 Python
Django Haystack 全文检索与关键词高亮的实现
Feb 17 Python
基于Python下载网络图片方法汇总代码实例
Jun 24 Python
详解Python 循环嵌套
Jul 09 Python
Matplotlib 绘制饼图解决文字重叠的方法
Jul 24 Python
Python reversed反转序列并生成可迭代对象
Oct 22 #Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 #Python
Python类的继承super相关原理解析
Oct 22 #Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
Oct 22 #Python
Python基于内置函数type创建新类型
Oct 22 #Python
python使用ctypes库调用DLL动态链接库
Oct 22 #Python
Python通过len函数返回对象长度
Oct 22 #Python
You might like
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
培养自己的php编码规范
2015/09/28 PHP
PHP实现的AES 128位加密算法示例
2019/09/16 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
Javascript 浮点运算精度问题分析与解决
2014/03/26 Javascript
JavaScript基础知识学习笔记
2014/12/02 Javascript
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
Koa2微信公众号开发之消息管理
2018/05/16 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
使用Python操作MySQL的小技巧
2020/09/10 Python
Python 利用argparse模块实现脚本命令行参数解析
2020/12/28 Python
python热力图实现简单方法
2021/01/29 Python
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
意大利大型购物中心:Oliviero.it
2017/10/19 全球购物
斯洛伐克家具和时尚装饰品购物网站:Butlers.sk
2019/09/08 全球购物
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
Python面试题集
2012/03/08 面试题
节能环保演讲稿
2014/08/28 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
汽车转让协议书范本
2014/12/07 职场文书
2014年底工作总结
2014/12/15 职场文书
升学宴答谢词
2015/01/05 职场文书
党员公开承诺书2015
2015/01/21 职场文书
2015年双拥工作总结
2015/04/08 职场文书
上学路上观后感
2015/06/16 职场文书
党纪处分决定书
2015/06/24 职场文书
Python基础之Socket通信原理
2021/04/22 Python