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

 更新时间:2020年10月22日 11:52:57   作者:weixin_42952974  
这篇文章主要介绍了Python实现自动装机功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

前言

提示:在管理服务器的过程中,发现有很多服务器在启动的过程中默认以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读写csv文件的超详细步骤

    Python读写csv文件的超详细步骤

    python提供了大量的库,可以非常方便的进行各种操作,下面这篇文章主要给大家介绍了关于Python读写csv文件的超详细步骤,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Python利用PyPDF2库合并多个pdf文件

    Python利用PyPDF2库合并多个pdf文件

    PyPDF2库是一个用于处理PDF文件的Python库,它提供了一系列的工具来读取、编辑、合并、拆分和加密PDF文件,使得我们可以在Python环境下轻松地对PDF文件进行操作,本文将带大家介绍如何通过Python的PyPDF2库合并多个pdf文件,需要的朋友可以参考下
    2023-05-05
  • 探索Python3.4中新引入的asyncio模块

    探索Python3.4中新引入的asyncio模块

    这篇文章主要介绍了Python3.4中新引入的asyncio模块,包括其对端口和服务器等的操作,需要的朋友可以参考下
    2015-04-04
  • Python语法分析之字符串格式化

    Python语法分析之字符串格式化

    这篇文章主要给大家介绍了关于Python语法分析之字符串格式化的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • python加载自定义词典实例

    python加载自定义词典实例

    今天小编就为大家分享一篇python加载自定义词典实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python 两种方法删除空文件夹

    python 两种方法删除空文件夹

    这篇文章主要介绍了python 两种方法删除空文件夹,帮助大家更好的利用python处理文件,感兴趣的朋友可以了解下
    2020-09-09
  • python之拟合的实现

    python之拟合的实现

    这篇文章主要介绍了python之拟合的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python中号称神仙的六个内置函数详解

    Python中号称神仙的六个内置函数详解

    这篇文章主要介绍了Python中号称神仙的六个内置函数,今天分享的这6个内置函数,在使用 Python 进行数据分析或者其他复杂的自动化任务时非常方便,需要的朋友可以参考下
    2022-05-05
  • 浅谈如何使用Python控制手机(一)

    浅谈如何使用Python控制手机(一)

    这篇文章主要为大家介绍了如何使用Python控制手机,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • python json load json 数据后出现乱序的解决方案

    python json load json 数据后出现乱序的解决方案

    今天小编就为大家分享一篇python json load json 数据后出现乱序的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论