以下测试都是基于centos 7下的环境

需要安装的软件为

nginx 用来下载ks.cfg和系统镜像文件用的,也可以用ftp服务器来代替

dnsmasq 提供dhcp服务和tftp服务,也可以单独去安装

syslinux 提供pxe的启动文件pxelinux.0

执行以下命令安装

yum install dnsmasq syslinux  -y

然后创建tftp的目录

mkdir /var/lib/tftp

拷贝pxe的启动文件pxelinux.0

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftp/

挂载centos系统镜像,Pxe安装系统需要原系统镜像中的vmlinuz(引导程序) initrd.img(RAM的Linux) 两个支持网络安装的文件

从iso中拷贝内核镜像和文件系统镜像

我们挂载镜像在 /var/ftp/pub/ 这个目录下面,启动需要的文件在镜像的images目录下面

cp /var/ftp/pub/images/pxeboot/initrd.img /var/tftp/

cp /var/ftp/pub/images/pxeboot/vmlinuz    /var/tftp/

准备默认的菜单配置文件

mkdir /var/lib/tftp/pxelinux.cfg/

vim /var/lib/tftp/pxelinux.cfg/default

内容如下

default linux
prompt 1
timeout 60
display boot.msg
label linux
kernel vmlinuz
append initrd=initrd.img text ks=http://172.17.3.10/ks.cfg ###指定ks.cfg文件下载路径###

后续需要生成ks.cfg

我们还需要配置下dnsmasq

vim /etc/dnsmasq.conf

配置如下

listen-address=172.17.3.10,127.0.0.1 ##指定监听IP
domain=house.com ##域名
dhcp-range=172.17.3.220,172.17.3.230,1h ##IP地址分配范围##
dhcp-option=,172.17.3.254 ##网关
dhcp-boot=pxelinux.0 ##配置启动接口
enable-tftp ##打开tftp功能##
tftp-root=/var/lib/tftp ##指定tftp目录##
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig

以上配置可参考如下图片,图片来自网络

最后我们把ks.cfg也就是kickstart文件放到nginx的目录下就可以了

最后启动dnsmasq就可以了。

其实dnsmasq也可以用tftp和dhcp这2个服务来代替

使用tftp和dhcp的方法如下

安装tftp和dhcp

yum install tftp-server  dhcp -y

配置tftp-server

vim /etc/xinetd.d/tftp

service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source =
cps =
flags = IPv4
}

配置DHCP

vim /etc/dhcp/dhcpd.conf

ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 172.17.3.0 netmask 255.255.255.0 {
option routers 172.17.3.254;
option subnet-mask 255.255.255.0;
option domain-name-servers 172.17.3.254;
option time-offset -; # Eastern Standard Time
range dynamic-bootp 172.17.3.80 172.17.3.88;
default-lease-time ;
max-lease-time ;
next-server 172.17.3.10;
filename "pxelinux.0";
}

其余步骤不变,到这里完结。

Dnsmasq 配置PXE批量安装系统的更多相关文章

  1. pxe+kickstart自动化批量安装系统详解-技术流ken

    前言 pxe+kickstart是一款可以实现自动化批量安装系统的服务,比较经典,下面将详细介绍此服务的安装和使用. 系统环境准备 系统版本:CentOS release 6.7 (Final) 内网 ...

  2. 基于CentOS7系统部署cobbler批量安装系统(week3_day5_part1)-技术流ken

    前言 cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本. 系统环境准备及其下载cobbler ...

  3. 末学者笔记--Centos7系统部署cobbler批量安装系统

      [前言]: cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本. 系统环境准备及其下载cob ...

  4. cobbler一键批量安装系统

    cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本. 一.系统环境准备及其下载cobbler 1 ...

  5. cobbler批量安装系统使用详解-技术流ken

    前言 cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本. 系统环境准备及其下载cobbler ...

  6. 基于Centos7系统部署cobbler批量安装系统

    前言 cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本 系统环境的准备及下载cobbler 一 ...

  7. cobbler批量安装系统

    cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本. 1.系统环境准备及其下载cobbler 1 ...

  8. DHCP服务+PXE自动安装系统

    DHCP服务+PXE自动安装系统 DHCP安装 安装DHCP服务器 yum install dhcp -y 安装完dhcp默认无法启动,需要编辑配置文件设置分配地址范围等相关信息,服务器自身IP地址要 ...

  9. 【Linux】使用 PXE+Kickstart 无人值守批量安装系统

    一.PXE背景知识 通过 PXE+DHCP+TFTP+VSftpd+Kickstart 服务程序搭建出无人值守安装系统,从而批量部署客户机系统. PXE(Preboot eXecute Environ ...

随机推荐

  1. Tempset 暴风射击

    发售年份 1980 平台 街机 开发商 雅达利(Atari) 类型 射击 https://www.youtube.com/watch?v=AMto2HJJSSA

  2. A*搜索详解(1)——通往基地的最短路线

    假设地图上有一片树林,坦克需要绕过树林,走到另一侧的军事基地,在无数条行进路线中,哪条才是最短的? 这是典型的最短寻径问题,可以使用A*算法求解.A*搜索算法俗称A星算法,是一个被广泛应用于路径优化领 ...

  3. zabbix之 orabbix模板监控oracle

    一.Orabbix简介 Orabbix是设计用来为zabbix监控Oracle的数据库的插件,它提供多层次的监控,包括可用性和服务器性能的指标.它提供了从众多Oracle实例采集的有效机制,进而提供此 ...

  4. tomcat catalina.out乱码

    启动参数添加-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8解决

  5. 关于memset的错误使用

    我们在使用memset进行初始化的时候,经常会使用这种方式,memset(a,0,sizeof(a)),这让我们误以为将其初始化其他值也可以,实际是错误的. void print_arr(unsign ...

  6. 同一台电脑配置多个JBoss

    在jboss中找到对应的文件,修改对应文件端口可解决两个以上jboss的端口冲突问题 不同的jboss修改的端口要区别开来,本例所用jboss版本为JBoss4.2.2.GA 文件端口: 8083,1 ...

  7. WebApi Owin OAuth

    Microsoft.Owin.Host.SystemWeb    Owin    Microsoft.Owin Microsoft.Owin.Diagnostics    Owin    Micros ...

  8. 判断文件是否存在,不要用if exist和if not exist,因为他们会受到文件是否隐藏的影响,改用dir /a 命令代替

    @echo off & setlocal enabledelayedexpansionrem 判断文件是否存在,不要用if exist和if not exist,因为他们会受到文件是否隐藏的影 ...

  9. LAB1 partIV

    PartIV 实现 处理worker 失败情况. worker 处理失败,master 应该重新分配该任务给其他的worker 处理. rpc 失败情况复杂,可能worker 结果回应丢失了,也有可能 ...

  10. maven向本地仓库导入jar包

    如果maven工程的依赖jar包在网上找不到,那么只能自己打包,然后传到本地仓库,可以使用如下命令 mvn install:install-file -DgroupId=com.redis.redis ...