• Dynamic Host Configuration Protocol
– 动态主机配置协议,由 IETF(Internet 网络工程师任
务小组)组织制定, 用来简化主机地址分配管理
• 主要分配以下入网参数
– IP地址/子网掩码/广播地址
– 默认网关地址、DNS服务器地址
DHCP概述及原理(广播进行,一个网络中只能有一个DHCP服务器,先到先的)
• DHCP地址分配的四次会话
– DISCOVERY --> OFFER --> REQUEST -->ACK
虚拟机A:
1.安装软件包dhcp
2. 修改配置文件/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"