DHCP概述及原理

• Dynamic Host Configuration Protocol

-- 动态主机配置协议,由 IETF(Internet 网络工程师任

务小组)组织制定, 用来简化主机地址分配管理

• 主要分配以下入网参数

-- IP地址/子网掩码/广播地址

-- 默认网关地址、DNS服务器地址

DHCP概述及原理(广播进行,一个网络中只能有一个DHCP服务器,先到先的)

• DHCP地址分配的四次会话

-- DISCOVERY --> OFFER --> REQUEST -->ACK

虚拟机A:

1.安装软件包dhcp

  1. 修改配置文件/etc/dhcp/dhcpd.conf

末行模式读入 :r /usr/share/doc/dhcp/dhcpd.conf.example

subnet 192.168.4.0 netmask 255.255.255.0 { #分配的网段

range 192.168.4.100 192.168.4.200; #分配的IP地址范围

option domain-name-servers 192.168.4.7; #分配的DNS地址

option routers 192.168.4.254; #分配的网关地址

default-lease-time 600; #IP地址默认租期时间

max-lease-time 7200; #IP地址最大租期时间

}

3.重起服务

[root@svr7 /]# systemctl restart dhcpd

网络装机

• 规模化:同时装配多台主机

• 自动化:装系统、配置各种服务

• 远程实现:不需要光盘、U盘等物理安装介质

• PXE,Pre-boot eXecution Environment

-- 预启动执行环境,在操作系统之前运行

-- 可用于远程安装

• 工作模式

-- PXE client 集成在网卡的启动芯片中

-- 当计算机引导时,从网卡芯片中把PXE client调入内存

执行,获取PXE server配置、显示菜单,根据用户选

择将远程引导程序下载到本机运行

• 需要哪些服务组件?

-- DHCP服务,分配IP地址、定位引导程序

-- TFTP服务,提供引导程序下载

-- HTTP服务,提供yum安装源

一、配置DHCP网络装机设置

1.修改配置文件

[root@svr7 /]# vim /etc/dhcp/dhcpd.conf

subnet 192.168.4.0 netmask 255.255.255.0 {

range 192.168.4.100 192.168.4.200;

option domain-name-servers 192.168.4.7;

option routers 192.168.4.254;

default-lease-time 600;

max-lease-time 7200;

next-server 192.168.4.7; #指定下一个服务器

filename "pxelinux.0"; #指定网卡引导文件名称

}

2.重起dhcpd服务

[root@svr7 /]# systemctl restart dhcpd

pxelinux.0:网卡引导文件(网络装机说明书) 二进制文件

安装一个软件可以自动产生默认叫pxelinux.0

二、搭建tftp服务,提供众多的引导文件

简单的文件传输协议 端口 69

tftp默认共享数据路径:/var/lib/tftpboot

1.安装tftp-server软件包

[root@svr7 /]# yum -y install tftp-server

2.启动tftp服务即可

[root@svr7 /]# systemctl restart tftp

[root@svr7 /]# ls /var/lib/tftpboot/

3.部署pxelinux.0文件

yum provides */pxelinux.0 #查询仓库中那个软件包产生该文件

yum -y install syslinux

rpm -ql syslinux | grep pxelinux.0 #查询已安装的软件包安装清单

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

ls /var/lib/tftpboot/

4.部署菜单文件

pxelinux.0----》/var/lib/tftpboot/pxelinux.cfg/default

mkdir /var/lib/tftpboot/pxelinux.cfg

mount /dev/cdrom /mnt/

ls /mnt/

cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

ls /var/lib/tftpboot/pxelinux.cfg

ls -l /var/lib/tftpboot/pxelinux.cfg/default

chmod u+w /var/lib/tftpboot/pxelinux.cfg/default

ls -l /var/lib/tftpboot/pxelinux.cfg/default

5.部署引导文件

vesamenu.c32 图形模块,呈现背景图片 及 颜色

vmlinuz 启动内核

initrd.img 驱动程序

splash.png 黑色背景图片

cp /mnt/isolinux/vesamenu.c32

/mnt/isolinux/vmlinuz

/mnt/isolinux/initrd.img

/mnt/isolinux/splash.png /var/lib/tftpboot/

ls /var/lib/tftpboot/

initrd.img pxelinux.cfg vesamenu.c32

pxelinux.0 splash.png vmlinuz

6.修改菜单文件内容

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

1 default vesamenu.c32 默认加载图形模块

2 timeout 600 默认读秒

menu background splash.png 指定默认的表背景图片

menu title NSD1806 PXE Server 指定菜单的标题

label linux

menu label Install RHEL7 菜单显示内容

menu default 读秒结束默认选择

kernel vmlinuz 加载内核

append initrd=initrd.img 加载驱动程序

总结:

dhcp----》IP地址、next-server、filename

tftp----》pxelinux.0

pxelinux.0----》/var/lib/tftpboot/pxelinux.cfg/default

default----》vesamenu.c32\splash.png\vmlinuz\initrd.img

初步测试:

1.新建虚拟机 选择PXE网络引导安装

2.网络类型选择 private1

三、构建httpd服务,利用Web共享众多的RPM包

1.安装软件包

[root@svr7 /]# yum -y install httpd

[root@svr7 /]# systemctl restart httpd

2.建立共享路径

[root@svr7 /]# mkdir /var/www/html/rhel7

[root@svr7 /]# mount /dev/cdrom /var/www/html/rhel7

mount: /dev/sr0 写保护,将以只读方式挂载

[root@svr7 /]# ls /var/www/html/rhel7

3.测试

[root@svr7 /]# firefox 192.168.4.7/rhel7

四、部署无人值守安装,生成应答文件

1.图形生成应答文件工具system-config-kickstart

[root@svr7 /]# yum -y install system-config-kickstart

2.运行工具system-config-kickstart

[root@svr7 /]# system-config-kickstart

检测 "软件包选择" 是否可以选择

与本机Yum仓库标识: [development]

[root@svr7 /]# vim /etc/yum.repos.d/rhel7.repo

[development]

[root@svr7 /]# system-config-kickstart

检测 "软件包选择" 是否可以选择

3.查看应答文件

[root@svr7 /]# ls /root/ks.cfg

[root@svr7 /]# vim /root/ks.cfg

4.利用Web共享ks文件,传递给客户端

[root@svr7 /]# cp /root/ks.cfg /var/www/html/

[root@svr7 /]# ls /var/www/html/

五、修改菜单文件,指定ks应答文件

[root@svr7 /]# vim /var/lib/tftpboot/pxelinux.cfg/default

label linux

menu label Install RHEL7

menu default

kernel vmlinuz

append initrd=initrd.img ks=http://192.168.4.7/ks.cfg

总结:

dhcp----》IP地址、next-server、filename

tftp----》pxelinux.0

pxelinux.0----》/var/lib/tftpboot/pxelinux.cfg/default

default----》vesamenu.c32\splash.png\vmlinuz\initrd.img

ks=http://192.168.4.7/ks.cfg---》url -- url="http://192.168.4.7/rhel7"