Python如何实现自动装机功能?本篇文章小编给大家分享一下Python实现自动装机功能代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

利用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实现自动装机功能代码实例相关推荐

  1. vs python opencv配置_python如何配置opencv

    技术宅 在python中配置opencv库,使用pycharm环境 1.官网下载:点击打开链接,官网上有所有的openCV版本,找到你想要的版本和系统,点击之后,会弹出一个新的页面,不需要任何操作,便 ...

  2. python安装详细步骤windows10_【python安装配置教程win10】win10 怎么安装python

    win10官方u盘安装教程 步骤如下: 1载MediaCreationTool这个工具,可以用来下统,并制作U盘启. 2.找到刚刚下载MediaCreationTool工具,点击接受,进入下一个界面. ...

  3. python开发讲解_Python开发系列课程(1) - 初识Python详解

    初识Python Python简介 Python是一个很棒的语言,从它诞生的那天起,一直致力于向开发者提供同时具备可读性和生产力的多范式编程语言.曾经有人Python仅仅是一门脚本语言,不适合构建大型 ...

  4. python历史背景_python学习之旅1-1(python背景、安装介绍)

    一.python介绍 1.python历史背景 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...

  5. python数据库连接信息加密_python实现对服务器脚本敏感信息的加密解密功能

    背景 在实际项目实施中,会编写很多在服务器执行的作业脚本.程序中凡是涉及到数据库链接.操作系统用户链接.IP地址.主机名称的内容都是敏感信息.在纯内网系统中往因为开发时间紧迫,往往都直接将这些敏感信息 ...

  6. python编程自学_Python编程自学:一小时python入门教程

    python好学吗?python入门要多久?python编程自学行吗?做为没有python编程基础的初学者肯定有各种各样的疑问!以下为python学习网整理的一位台湾小姐姐写的"一小时pyt ...

  7. python综合题_python基础综合题----选自python二级考试

    <笑傲江湖>是金庸的重要武侠作品之一.这里给出一个<笑傲江湖>的网络版本, 文件名为"笑傲江湖-网络版.txt".‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪ ...

  8. python办公自动化知识点_Python自动化办公知识点整理汇总|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? ​ 这可能是很多非IT职场人士面临的困 ...

  9. python set 排序_python set 排序_如何在Python中使用sorted()和sort()

    点击"蓝字"关注我们 ?"Python基础知识" 大卫·丰达科夫斯基  著 18财税3班 李潇潇    译 日期:2019年5月6日 一. 使用sorted() ...

  10. python 微信模块_Python使用itchat模块实现简单的微信控制电脑功能示例

    本文实例讲述了python使用itchat模块实现简单的微信控制电脑功能.分享给大家供大家参考,具体如下: #!/usr/bin/python #coding=UTF-8 import request ...

最新文章

  1. php保存ppt,ppt怎么保存到电脑桌面?
  2. 外媒:三星电子与现代汽车考虑在汽车芯片领域结盟
  3. 2020年Java学习计划祝大家新年快乐
  4. 【Vue2.0】— 消息订阅与发布pubsub(二十)
  5. [bbk4995] 第99集 -第12章 -数据移植 05
  6. jquery开发手册(详细全面)
  7. 使用ARCore+Unity概述
  8. Python编写时钟表turtle
  9. python中获取中位数的两种方法
  10. x86 x64 x86_64 AMD64 区别
  11. 《MLB棒球创造营》:走近棒球运动·奥克兰运动家队
  12. 无分类编址CIDR(构造超网)
  13. Java TreeSet详解
  14. 【三角形判断】测试用例设计
  15. PhotoSwipe-一个好用的图片放大缩小插件
  16. 青岛啤酒12星座铝瓶星耀公开 啤酒也有自己的朋友圈
  17. Adobe photoshop工具箱工具名称中英文对照
  18. 为什么华为a1路由器网速变慢_凭什么网速就比别人快?华为路由 A1 畅享版体验...
  19. java comm api_java基于RXTXcomm.jar的串口通信
  20. 硬盘安装FB{ZT}

热门文章

  1. 缓解眼疲劳电脑窗口设置
  2. 简述使用configurations.all统一androidx的版本
  3. 代码签名证书有哪些产品
  4. 【技术文章】Understanding Spectre Meltdown Vulnerability 1
  5. python填充nan_Python Pandas Dataframe填充NaN值
  6. IT-梦想|永无止境
  7. 计算机考研金工,我的金工跨考经验
  8. no-siteapp 和 no-transform 有什么区别??
  9. 单片机的俄罗斯方块游戏设计
  10. 关于推荐算法未来的思考:推荐诗与远方