DHCP服务+PXE自动安装系统


DHCP安装

安装DHCP服务器

yum install dhcp -y

安装完dhcp默认无法启动,需要编辑配置文件设置分配地址范围等相关信息,服务器自身IP地址要在某个分配的子网中。

编辑配置文件

默认配置文件中没有定义相关内容,需要将文件/usr/share/doc/dhcp*/dhcpd.conf.example拷贝为/etc/dhcp/dhcpd.conf,然后编辑配置文件。部分内容如下

vim /etc/dhcp/dhcpd.conf

option domain-name "test.org";  #dns搜索域
option domain-name-servers 114.114.114.114, 119.29.29.29; #dns服务器地址 default-lease-time 600; #默认租期,秒为单位
max-lease-time 7200; #最大租期 log-facility local7; #定义日志 subnet 192.168.153.0 netmask 255.255.255.0 { #subnet定义要分配的子网,netmask为掩码
range 192.168.153.120 192.168.153.200; #设置地址池
option domain-name-servers ns1.internal.example.org; #dns服务器地址
option domain-name "internal.example.org"; #dns搜索域
option routers 192.168.153.2; #客户机获取的默认网关地址
option broadcast-address 192.168.153.255; #客户机的广播地址
default-lease-time 600; #默认租期,秒为单位
max-lease-time 7200; #最大租期
next-server 192.168.153.100; #提供引导文件的服务器IP地址
filename "pxelinux.0"; #指明引导文件名称。实现pxe安装系统next-server和filename必不可少
}
#注:subnet字段为局部设置,优先级高于全局。option在全局和局部都可设置 host fantasia { #指定IP地址分配给主机,此处的fantasia仅仅为dhcp服务中对目标主机的标示,并非为目标主机的主机名
hardware ethernet 08:00:07:26:c0:a5; #目标主机mac地址
fixed-address fantasia.fugue.com; #指定为其保留的IP
}

启动DHCP服务

systemctl start dhcp

安装httpd服务,用于搭建yum源

yum install httpd       #安装
systemctl start httpd #启动
systemctl enable httpd #开机自启

创建centos7镜像文件网页路径,并将centos7光盘挂载到该路径下

mkdir /var/www/html/centos7
mount /dev/sr0 /var/www/html/centos7

可将挂载信息写入配置文件中,以便于开机自动挂载

echo "/dev/sr0 /var/www/html/centos7   iso9660  defaults  0 0" >> /etc/fstab

准备应答文件

应答文件可根据之前手动安装系统后系统中/root家目录中的anaconda-ks.cfg文件修改,也可以通过工具system-config-kickstart生成

yum install system-config-kickstart     #安装工具
system-config-kickstart #运行工具,会出现图形界面,配置完保存即可

将配置文件拷贝到网页文件路径下

cp /root/anaconda-ks.cfg /var/www/html/ks.cfg  #文件内容根据个人需求自行修改
#如果配置多个版本系统,可以在网页文件路径下创建不同的目录,实现不同版本之间文件区分
chmod +r /var/www/html/ks.cfg #添加文件读权限,确保能够正常访问到文件内容

安装tftp和syslinux

yum install tftp-server syslinux -y  #syslinux用于提供pxelinux.0文件,centos6需要安装syslinux-nonlinux
systemctl start tftp.socket
systemctl enable tftp.socket

准备pxe相关文件

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot
cp /var/www/html/centos7/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg/ #创建启动菜单目录
vim /var/lib/tftpboot/pexlinux.cfg/default #编辑菜单文件,内容可参考光盘中ioslinux目录下isolinux.cfg文件 内容参考
default menu.c32
timeout 600 menu title Auto Install CentOS
label desktop
menu label Install ^Desktop CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.153.100/ks.cfg label local
menu label Boot from ^local drive
menu defaut
localboot 0xffff menu end

至此环境全部准备好了,可以检查一下各个服务是否都正常运行,都没有问题就可以开机器安装系统验证了

DHCP服务+PXE自动安装系统的更多相关文章

  1. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置)

    目录 1. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置) 1.1. 需要的软件 1.2. 启动 proxy dhcp 服务 1.3. 关键的几个配置文件 PXE 自动安装物理机 ( ...

  2. Centos 7 自动安装系统-pxe

    一.简介 PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...

  3. kickstart半自动安装centos系统与pxe自动安装centos系统

    一.kickstart半自动安装centos系统 关闭防火墙,关闭selinux,使用system-config-kickstart生成kickstart配置文件,启动xmanger-Passive ...

  4. LINUX通过PXE自动部署系统

    原理介绍 TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂.开销不大的 ...

  5. s32 kickstart 批量自动安装系统

    1. 自动安装操作系统 http://blog.oldboyedu.com/autoinstall-kickstart/   自动安装操作系统的解决方案:kickstart.cobbler(披着web ...

  6. CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

    通过ks文件 实现 CentOS 6.9 & 7.4 自动安装系统 环境: VMware 14.0 Pro版 光盘镜像: CentOS-6.9-x86_64-minimal.iso ks文件生 ...

  7. linux系统PXE+Kickstart自动安装系统

    一.PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...

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

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

  9. cobbler自动安装系统

    一.简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成P ...

随机推荐

  1. Navicat Premium 12 安装 与 激活

    官方简体中文下载网址:https://www.navicat.com.cn/download/navicat-premium 安装的过程....(都是中文)所以略过. 开始破解....( ...... ...

  2. jQuery+masonry实现瀑布流

    增加jQuery组件 <script src="//cdn.bootcss.com/jquery/2.2.1/jquery.min.js "></script&g ...

  3. awk_printf

    awk -F: 'BEGIN{printf "%-20s%-20s%-20s\n","User","UID","Home" ...

  4. 如何使用PHP排序key为字母+数字的数组

    你还在为如何使用PHP排序字母+数字的数组而烦恼吗? 今天有个小伙伴在群里问: 如何将一个key为字母+数字的数组按升序排序呢? 举个例子: $test = [ 'n1' => 22423, ' ...

  5. Linux网络编程六、报文解析(1)

    一.pcap文件解析 依赖的库:libpcap,头文件:pcap/pcap.h 获取pcap文件:tcpdump,-i:指定监听接口,默认配置好的最小的号码的接口.-w:指定存入文件,将原始报文存入指 ...

  6. Android学习_MVC与Adapter

    一.           MVC模式 MVC模式代表Model-View-Controller(模型-视图-控制器)模式.这种模式用于应用程序的分层开发. Model(模型):代表一个存取数据的对象或 ...

  7. mysql 日期字符串互转

    字符串转日期select str_to_date('2008-4-2 15:3:28','%Y-%m-%d %H:%i:%s');select str_to_date('2008-08-09 08:9 ...

  8. 理解Cookie和Session

    HTTP 无状态协议 HTTP 本身是一个无状态的连接协议,无状态的意思是:每条请求/响应都是独立进行的,服务端每处理完一个客户端的请求之后就会断开连接,并且每条请求/响应与其之前(或之后)的请求/响 ...

  9. java按某个字段对数据分组

    import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; i ...

  10. java实现自定义同步组件的过程

    实现同步组件twinsLock:可以允许两个线程同时获取到锁,多出的其它线程将被阻塞. 以下是自定义的同步组件类,一般我们将自定义同步器Sync定义为同步组件TwinsLock的静态内部类. 实现同步 ...