部署DHCP服务器
• Dynamic Host Configuration Protocol
– 动态主机配置协议,由 IETF(Internet 网络工程师任
务小组)组织制定,用来简化主机地址分配管理
• 主要分配以下入网参数
– IP地址/子网掩码/广播地址
– 默认网关地址、DNS服务器地址
• DHCP地址分配的四次会话(整个过程以 广播 进行,先到先得)
– DISCOVERY --> OFFER --> REQUEST -->ACK
一个网络中,只能有一个DHCP服务器
• 装软件包 dhcp
• 配置文件 /etc/dhcp/dhcpd.conf
• 起服务 dhcpd
虚拟机A
1.安装软件包dhcp
[root@svr7 /]# yum -y install dhcp
2.修改配置文件
[root@svr7 /]# vim /etc/dhcp/dhcpd.conf
补充vim末行模式下:r 文件路径 #读入文件内容到当前文件
: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 8.8.8.8; #分配DNS地址
option routers 192.168.4.254; #分配网关地址
default-lease-time 600; #默认租约时间
max-lease-time 7200; #最大租约时间
}
[root@svr7 /]# systemctl restart dhcpd
网络装机
网络装机的优势
• 规模化:同时装配多台主机
• 自动化:装系统、配置各种服务
• 远程实现:不需要光盘、U盘等物理安装介质
什么是PXE网络
• PXE,Pre-boot eXecution Environment
– 预启动执行环境,在操作系统之前运行
– 可用于远程安装
• 工作模式
– PXE client 集成在网卡的启动芯片中
– 当计算机引导时,从网卡芯片中把PXE client调入内存
执行,获取PXE server配置、显示菜单,根据用户选
择将远程引导程序下载到本机运行
PXE组件及过程分析
• 需要哪些服务组件?
– DHCP服务,分配IP地址、定位引导程序
– TFTP服务,提供引导程序下载
– HTTP服务,提供yum安装源
###########################################
- 一、配置DHCP服务,指引下一个服务器地址
[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; #IP范围
option domain-name-servers 8.8.8.8; #DNS
option routers 192.168.4.254; #网关
default-lease-time 600; #默认租约时间
max-lease-time 7200; #最大租约时间
next-server 192.168.4.7; #指定下一个服务器地址
filename "pxelinux.0"; #指定网卡引导文件名称
}
[root@svr7 /]# systemctl restart dhcpd
]# dhclient -d eth0 #临时配置/测试
pxelinux.0:网络安装说明书,二进制文件
安装一个软件,即可获得pxelinux.0文件
由tftp服务器共享提供
- 二、构建tftp服务,传输引导文件
tftp:简单文件传输协议 默认端口为 69
默认共享路径:/var/lib/tftpboot
1.安装软件tftp-server
[root@svr7 /]# yum -y install tftp-server
2.重起tftp服务
[root@svr7 /]# systemctl restart tftp
3.部署网卡引导文件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
客户端读入pxelinux.0-----》读取菜单文件
菜单文件路径:/var/lib/tftpboot/pxelinux.cfg/default
4.部署菜单文件
]# mkdir /var/lib/tftpboot/pxelinux.cfg
]# ls /var/lib/tftpboot/
]# mount /dev/cdrom /mnt/
]# ls /mnt/
]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
]# ls /var/lib/tftpboot/pxelinux.cfg/
]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default
5.部署 背景图片(splash.png) 与 图形模块(vesamenu.c32)
]# cp /mnt/isolinux/splash.png /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/
]# ls /var/lib/tftpboot/
pxelinux.0 pxelinux.cfg splash.png vesamenu.c32
6.部署 驱动程序(initrd.img)与 启动内核(vmlinuz)
]# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/
]# ls /var/lib/tftpboot/
initrd.img pxelinux.cfg vesamenu.c32
pxelinux.0 splash.png vmlinuz
7.修改菜单文件内容
]# vim /var/lib/tftpboot/pxelinux.cfg/default
末行模式下:set nu
1 default vesamenu.c32 #默认加载图形的模块
2 timeout 600 #默认读秒时间 1/10
........
10 menu background splash.png #背景图片
11 menu title NSD1902 PXE Server !!! #显示标题内容
........
61 label linux
62 menu label Install RHEL7.4 #选项显示内容
menu default #读秒结束默认选择
63 kernel vmlinuz #指定加载内核
64 append initrd=initrd.img #指定加载驱动程序
##################################################
初步验证:
总结:
1.DHCP服务---》IP地址、next-server、filename
2.TFTP服务---》pxelinux.0
3.pxelinux.0---》读取菜单文件default
4.default---》图形模块、背景图片、内核、驱动
新建一台虚拟机,注意网络选择:private1
#################################################
- 三、构建httpd服务,共享光盘所有内容
1.安装软件包
[root@svr7 /]# yum -y install httpd
2.重起httpd服务
[root@svr7 /]# systemctl restart httpd
3.创建路径,进行挂载
[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
4.查看页面内容
[root@svr7 /]# firefox 192.168.4.7/rhel7
#################################################
- 四、部署无人值守自动安装,生成应答文件
1.安装图形的system-config-kickstart软件,生成应答文件
]# yum -y install system-config-kickstart
2.运行system-config-kickstart程序
]# system-config-kickstart
1)首先查看 “软件包选择” 是否可以使用
需要Yum仓库支持,才能进行“软件包选择”
光盘仓库标示必须是 [development]
]# vim /etc/yum.repos.d/rhel7.repo
[development]
name=rhel7.4
baseurl=ftp://192.168.4.254/rhel7
enabled=1
gpgcheck=0
]# system-config-kickstart
查看 “软件包选择” 是否可以使用
3.查看应答文件的生成:
[root@svr7 ~]# ls /root/ks.cfg
/root/ks.cfg
[root@svr7 ~]#
4.共享应答文件
[root@svr7 ~]# cp /root/ks.cfg /var/www/html/
[root@svr7 ~]# ls /var/www/html/
[root@svr7 ~]# firefox 192.168.4.7/ks.cfg
5.通过菜单文件,指定应答文件位置
]# vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
menu label Install RHEL7.4
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.4.7/ks.
cfg
#################################################
总结:
1.DHCP服务---》IP地址、next-server、filename
2.TFTP服务---》pxelinux.0
3.pxelinux.0---》读取菜单文件default
4.default---》图形模块、背景图片、内核、驱动、应答文件
5.ks.cfg---》光盘内容访问、分区、时区、root密码等等
url --url="http://192.168.4.7/rhel7"
#################################################
课外扩展:
让客户端安装完系统,Yum仓库可用(利用ks应答文件安装后脚本实现)
rm -rf /etc/yum.repos.d/*
cd /etc/yum.repos.d
wget http://192.168.4.7/rhel7.repo