搭建DHCP服务 批量装机装系统,自动获得入网参赛,很少拿一台服务器做DHCP服务,一般都是在路由器网络设备上去搭建。
DHCP概述及原理 • Dynamic Host Configuration Protocol – 动态主机配置协议,由 IETF(Internet 网络工程师任 务小组)组织制定,用来简化主机地址分配管理
• 主要分配以下入网参数 – IP地址/子网掩码/广播地址 – 默认网关地址、DNS服务器地址
• DHCP地址分配的四次会话,通过广播的方式,先到先得 谁先发送回应,就用谁的DHCP 一个网络中不能有多台DHCP 如果有两台,客户机会非常不稳定,每次启动交换机的状态不一定,网络紊乱,另外产生广播包比较多,影响交换机速度,信息传播速度慢。 discover(客户端)-offer(服务端)-request(客户端)-ask(服务端) 虚拟机A: 1.安装软件包 [root@svr7 /]# yum -y install dhcp
2.修改主配置文件 [root@svr7 /]# vim /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; option domain-name-servers 192.168.4.7; option routers 192.168.4.254; 路由器在网络中充当网关设备 default-lease-time 600; max-lease-time 7200; }
[root@svr7 /]# systemctl restart dhcpd
################################################ 什么是PXE网络
• PXE,Pre-boot eXecution Environment – 预启动执行环境,在操作系统之前运行 – 可用于远程安装
• 工作模式 – PXE client 集成在网卡的启动芯片中 – 当计算机引导时,从网卡芯片中把PXE client调入内存 执行,获取PXE server配置、显示菜单,根据用户选 择将远程引导程序下载到本机运行
• 网络装机服务端需要哪些服务组件? – DHCP服务,分配IP地址、定位引导程序 – TFTP服务,提供引导程序下载 – HTTP服务,提供yum安装源
网络装机服务器虚拟机A 一、dhcp配置,指定next-server下一个服务器 1.修改配置文件 [root@svr7 /]# vim /etc/dhcp/dhcpd.conf ....... next-server 192.168.4.7; filename "pxelinux.0"; #指定网卡引导文件名 }
2.重起dhcpd服务 [root@svr7 /]# systemctl restart dhcpd
pxelinux.0:安装说明书,二进制文件,安装一个软件自动生成
pxelinux.0-----》读取菜单文件 /var/lib/tftpboot/pxelinux.cfg/default /pxelinux.cfg 是个空目录,红帽官方规定菜单文件要放在此目录
二、搭建tftp服务,传输引导文件
tftp:简单的文件传输协议 端口:69 默认共享路径:/var/lib/tftpboot
1.安装软件包tftp-server 2.重起tftp服务 [root@svr7 /]# systemctl restart tftp [root@svr7 /]# systemctl enable tftp
3.部署pxelinux.0文件 #查询仓库中软件生成pxelinux.0
yum provides */pxelinux.0 查询只要有这个文件的就列出来,然后 就知道是哪个包提供的这个文件,最后就安装这个包
yum -y install syslinux(查出来的)
rpm -ql syslinux #查看软件包安装清单
rpm -ql syslinux | grep pxelinux.0
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 将查找出的文件复制到默认共享路径
ls /var/lib/tftpboot/
就像装系统时候出现的黑屏界面,就是菜单文件决定了有哪些选项(联想)
- 部署菜单文件
mkdir /var/lib/tftpboot/pxelinux.cfg必须叫这个名字
ls /var/lib/tftpboot/
把光盘中提供菜单的文件拷贝过来,光盘中有装系统的菜单,有提供菜单的文件或者软件,作为模板
mount /dev/cdrom /mnt/ 光盘的东西展现在linux系统中,要先把光盘放到光驱里面。
ls /mnt/isolinux/ 这个里面是光盘引导文件的存放地
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default复制这个模板改名成菜单文件
ls -l /var/lib/tftpboot/pxelinux.cfg/default
chmod 644 /var/lib/tftpboot/pxelinux.cfg/default 给权限,至少保证root修改的权限,改对文件的权限,不是目录,
ls -l /var/lib/tftpboot/pxelinux.cfg/default
- 部署启动内核 启动驱动程序
vmlinuz 启动内核 initrd.img 启动驱动程序
cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/
ls /var/lib/tftpboot/
- 部署 图形的模块 背景图片
vesamenu.c32 图形的模块
splash.png 背景图片 [root@svr7 /]# cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/
[root@svr7 /]# ls /var/lib/tftpboot/ initrd.img pxelinux.cfg vesamenu.c32 pxelinux.0 splash.png vmlinuz
7.修改菜单文件内容
vim /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32 #加载图形的模块 timeout 60 #读秒的时间 ....... menu background splash.png #指定背景图片 menu title PXE Server NSD1803 #指定标题 .......
label linux menu label Install RHEL7 #显示选项内容 kernel vmlinuz #指定启动内核 append initrd=initrd.img #指定启动驱动程序
################################################ 总结: dhcp----》IP、next-server、pxelinux.0 tftp----》pxelinux.0 pxelinux.0----》default default----》vesamenu.c32 、vmlinuz、initrd.img
简单测试: 新建一台虚拟机 选择 PXE网络引导 安装 网络类型选择为 private1
################################################ 三、搭建Web服务,共享光盘所有内容
1.安装软件包 [root@svr7 /]# yum -y install httpd 2.创建目录 [root@svr7 /]# mkdir /var/www/html/rhel7 [root@svr7 /]# ls /var/www/html/rhel7 [root@svr7 /]# mount /dev/cdrom /var/www/html/rhel7 [root@svr7 /]# ls /var/www/html/rhel7 [root@svr7 /]# systemctl restart httpd [root@svr7 /]# systemctl enable httpd 3.测试 [root@svr7 /]# firefox 192.168.4.7/rhel7
四、部署应答文件,无人值守安装
1.图形生成应答文件的工具 system-config-kickstart 自动选择装系统的步骤,比如时区,分区,语言,当客户机问他怎样装的时候,此文件就给他提供步骤
yum -y install system-config-kickstart
2.修改Yum仓库标识 [root@svr7 /]# vim /etc/yum.repos.d/rhel7.repo [development] rhel7的bug.红帽指定要改成此名字
[root@svr7 /]# system-config-kickstart 查看软件包是否可以选择 会弹出一个图形界面,然后做许多勾选
3.查看应答文件 保存到root下边,方便看到 [root@svr7 /]# ls /root/ks.cfg /root/ks.cfg
4.利用Web服务,共享应答文件 [root@svr7 /]# cp /root/ks.cfg /var/www/html [root@svr7 /]# ls /var/www/html
5.修改菜单文件指定应答文件
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 加载完所有的内核和驱动就去读这个文件
########################################################