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"