一、PXE工作原理

Ø  Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client

Ø  Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0

Ø  Client执行接收到的pxelinux.0文件

Ø  Client向TFTP Server发送针对本机的配置信息文件(在TFTP 服务的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。

Ø  Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client

Ø  Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统

Ø  Client启动Linux内核

Ø  Client下载安装源文件,读取自动化安装脚本

二、CentOS 7搭建PXE自动化系统

通过CentOS 7搭建的PXE自动化系统安装CentOS 7

²  安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP

²  安装软件包

  # yum -y install httpd tftp-server dhcp syslinux system-config-kickstart

²  配置http文件共享服务:

  # systemctl enable httpd

  # systemctl start httpd

  # mkdir -p /var/www/html/centos/7

  # mount /dev/sr0 /var/www/html/centos/7    #挂载centos7安装光盘到httpd服务的目录

²  准备kickstart文件

  将centos7的ks文件放置于 /var/www/html/ks/centos7.cfg

²  配置tftp服务

  # systemctl enable tftp.socket

  # systemctl start tftp.socket

²  配置DHCP服务

  #vim /etc/dhcp/dhcpd.conf

  option domain-name "example.com";

  default-lease-time 600;

  max-lease-time 7200;

  subnet 192.168.100.0 netmask 255.255.255.0 {

    range 192.168.100.1 192.168.100.200;

    filename "pxelinux.0";

    next-server 192.168.100.100;

  }

  # systemctl enable dhcpd

  # systemctl start dhcpd

²  准备相关文件

  # yum -y install syslinux

  # mkdir /var/lib/tftpboot/pxelinux.cfg/

  # cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/

  # cp /var/www/html/centos/7/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/

  # cp /var/www/html/centos/7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

²  准备启动菜单

# vim /var/lib/tftpboot/pxelinux.cfg/default

default menu.c32

timeout 600

menu title PXE INSTALL MENU

label auto

  menu label Auto Install CentOS 7

  kernel vmlinuz

  append initrd=initrd.img ks=http://192.168.100.100/ks/centos7.cfg

label manual

  menu label Manual Install CentOS 7

  kernel vmlinuz

  append initrd=initrd.img inst.repo=http://192.168.100.100/centos/7

label local

  menu default

  menu label ^Boot from local drive

  localboot 0xffff

搭建PXE实现自动化安装系统的更多相关文章

  1. CentOS 7 搭建Cobbler实现自动化安装系统

    1.安装软件包 # yum -y install epel-release     #安装EPEL源 # yum -y install cobbler dhcp pykickstart 2.启动cob ...

  2. CentOS7.2下PXE+kickstart自动化安装系统

    一.实验环境 操作系统:CentOS Linux release 7.2.1511 (Core) 网卡地址:192.168.100.147/24 光盘镜像:CentOS-7-x86_64-Minima ...

  3. cobbler自动化安装系统

    笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 在很久很久以前,使用kickstart实现自动化安装的时候,我一直认为装系统是多么高大上的活,直到cobbler的 ...

  4. 使用PXE+Kickstart无人值守安装系统

    PXE预启动执行环境(即Preboot execute environment) 是一种能够让计算机通过网络启动的引导方式,只要网卡支持PXE协议即可使用,用于在无人值守安装系统服务中引导客户机安装服 ...

  5. 基于HTTP和TFTP的PXE批量自动化安装Linux系统

    CentOS 6.5 PXE自动化部署系统 拓扑图如下: 步骤: 1.  安装http服务,上传ISO文件 [root@UCS-1 ~]# yum install httpd –y [root@UCS ...

  6. s33 cobbler自动化安装系统

    1. Cobbler介绍 参考链接:http://blog.oldboyedu.com/autoinstall-cobbler/ Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PX ...

  7. CentOS 7.2 下 PXE+kickstart 自动安装系统

    一.简单概述 1.1 Kickstart 概述 对于网络安装系统,在linux 下面最熟悉的应该就是 Kickstart 以及 cobbler.写这篇文章的目的在于我公司目前使用的就是 Kicksta ...

  8. CentOS 7 Cobbler 自动化安装系统

    在上一篇Cobbler 安装中,配置好了Cobbler,下面来配置自动化安装 配置cobbler-DHCP # 修改settings中参数,由cobbler控制dhcp [root@cobbler ~ ...

  9. PXE+Kickstart无人值守安装系统re

    PXE(Preboot Excute Environment)预启动执行环境,可以让计算机通过网络启动系统,主要用于无人值守安装系统中引导客户端主机安装Linux操作系统. 由于之前有过使用cobbl ...

随机推荐

  1. C++:打开一个文件夹下一系列的文件

    可以用MFC的CFileFind类: FILE *pFile=NULL; CFileFind cff; CString fstr="C:\\page\\*.*"//所以用文件和文件 ...

  2. css与js基础

    CSS样式 1 宽高设置 块元素可使用 wid 1字体 font-family :  文本类型 font-size     字体大小 font-style 字体样式 斜体italic   正常norm ...

  3. appium 无法通过工具定位webview页面元素的问题

    app里面页面有原生和webview的,或者H5的 1.手机百度搜索结果页面 手机百度,点击搜索输入框,输入关键字点击搜索,出来的搜索结果页面,无法通过UI automator viewer来定位元素 ...

  4. PS——牛奶字

    一.新建800*600像素的背景,设置前景色到透明渐变(黑到白),线性渐变,从上到下画一条直线 二.用矩形选框工具在背景上方1/2位置画一个矩形,Ctrl+Delete填充颜色 三.输入文字,设置图层 ...

  5. X86汇编指令集大全【转】

    [原文地址]https://blog.csdn.net/bjbz_cxy/article/details/79467688[原文地址] ---------- 一.数据传输指令 ------------ ...

  6. ASP.NET(C#) Json序列化反序列化帮助类Jsonhelper

    原文地址:https://ken.io/note/csharp-asp.net-jsonhelper using System; using System.Collections.Generic; u ...

  7. Bugku-CTF社工篇之简单的社工尝试

  8. SSH 维持权限(好用)

    很多时候我们拿下机器后需要维持权限,在计划任务上加入定时反弹shell这很容易被 运维人员发现,有些场景没必要用到rootkit级别的后门,我们可以尝试使用ssh后门 1.目的 长期维持机器root权 ...

  9. 连接数据库的url

    mysql: jdbc:mysql://localhost:3306:test这句里面分如下解析:jdbc:mysql:// 是指JDBC连接方式:localhost: 是指你的本机地址:3306 S ...

  10. 新建文件的UID和GID

    默认情况下:新建文件的用户ID为操作当前文件进程的有效用户ID(参考以前文章),新建文件的组ID为操作当前文件的进程的有效组ID 特殊情况:当当前新建文件的目录的SET-GID位被设置时,那么新建文件 ...