linux dhcp搭建及pxe无人值守装机

时间:2023-12-28 10:08:38

DHCP
动态主机配置协议:由IETF组织制定,用来简化主机ip地址分配管理
可以自动分配的入网参数
ip地址/子网掩码/广播地址
默认网关地址
DNS服务器地址

——————————————————————————————————————————
DHCP四次会话
请求:DHCP DISCOVER
提供:DHCP OFFER
选择:DHCP ORQUEST
确认:DHCP ACK

DHCP主要概念
租期;允许客户机租用ip地址的时间期限,单位为秒
作用域:分配给客户机的ip地址所在的网段
地址池:用来动态分配ip地址的范围

——————————————————————————————————————————
搭建DHCP服务器
安装DHCP服务软件[root@stu ~]# yum -y install dhcp
主配置文件:/etc/dhcp/dhcpd.conf (模板:see /usr/share/doc/dhcp*/dhcpd.conf.sample)
执行程序:/usr/sbin/dhc
服务脚本:/etc/init.d/dhcpd
执行参数配置:/etc/sysconfig/dhcpd

[root@stu ~]#/etc/dhcp/dhcpd.conf
:read /usr/share/doc/dhcp*/dhcpd.conf.sample (read,把模板的内容复制到当前终端)
[root@stu ~]# vim /etc/dhcp/dhcpd.conf 全局设置适用于所有网段(作用域)
...... ......
default-lease-time 21600;(默认租期)
max-lease-time 43200;(最大租期)
option domain-name-servers (DNS服务器地址)
.... ....
subnet网段声明:配置一个作用域,可覆盖全局设置参数
subnet 10.254.239.0 netmask 255.255.255.224 { (声明网段)
range 10.254.239.10 10.254.239.20; (ip分配范围)
option routers (默认网关地址)
}
启动DHCP服务程序
正常监听UDP67端口
服务端UDP67,客户端UDP68,至少应该有一个属于指定作用域的静态ip地址
[root@stu ~]# service dhcpd start(启动服务)
[root@stu ~]# less /var/lib/dhcpd/dhcpd.leases(服务端查看租约文件)

客户机配置:[root@stu ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp (改为自动获取ip)
PEERDNS=no (不自动获取DNS)
[root@stu ~]#service network restart (重启服务)
[root@pc205 ~]# less /var/lib/dhclient/dhclient-eth0.leases(客户端查看租约文件)

———————————————————————————————————————————————
PXE网络装机
规模化:同时装配多台主机
自动化:装系统,配置各种服务
远程实现:不需要光盘,u盘等物理介质

工作模式
PXE client 集成在网卡ROM中
当计算机引导时,BIOS把PXE client调入内存执行,获取PXE server配置
显示菜单,根据用户选择将远程操作系统下载到本机运行

PXE组件及过程分析
需要服务:
DHCP服务:分配ip地址,定位引导程序
DNS服务:为客户机分配主机名
TFTP服务:提供引导程序下载
FTP服务(或HTTP/NFS):提供yum安装源
客户机具备条件
网卡ROM必须支持PXE协议
主板支持网络启动

—————————————————————————————————————————

配置思路
整机装机条件准备:
准备系统安装源(ftp方式yum库)
启用DNS服务(可选)
启用DHCP服务

PXE引导配置:
启用TFTP服务,提供装机用的内核,初始化文件
提供PXE引导程序,配置启动菜单
PXE引导配置(tftp)
提供加载安装程序的内核,初始化镜像
TFTP根目录/vmlinuz <==/光盘目录/images/pxeboot>
TFTP根目录/initrd.img
提供网卡启动文件,启动配置
TFTP根目录/pxelinux.0
TFTP根目录/pxelinux.cfg/default

无人引导装机
kickstart技术:(建议用方法二)
预先提供应答文件,定义好各种安装设置
免去交互过程,实现全自动化安装
添加%post脚本,可执行安装后的各种配置
应答文件获取
方法一:找一台客户机,获取应答文件模板
/root/anaconda-ks.cfg
方法二:安装system-confug-kickstart
(修改后部署到pxe服务器的/var/ftp/ks.cfg)
(确保客户机可以成功下载ftp://192.168.4.30/ks.cfg)
[root@stu ~]# system-config-kickstart
执行上述图像界面工具,创建新应答文件
生成应答文件的客户机,yum库的版本应该和待安装系统一致

为客户机提供用来装系统的FTP软件源
通过vsftpd服务对外发布
[root@stu ~]# yum -y install vsftpd(安装vsftpd)
[root@stu ~]# mount /dev/cdrom /root/myiso/(挂载rh6镜像)
[root@stu ~]# cp -rf /root/myiso/* /var/ftp/rhel6/(把镜像复制到ftp里)
[root@stu ~]# service vsftpd restart(启动ftp服务)
[root@stu ~]# vim /etc/named.conf (提供DNS域名解析)
zone "4.168.192.in-addr.arpa"IN{
type master;
file "192.168.4.arpa";
};
[root@stu ~]# vim /var/named/Anonymous.org.zone
$GENERATE 10-80 pc$ A 192.168.4.$
[root@stu ~]# vim /var/named/192.168.4.arpa
$GENERATE 10-80 $ PTR pc$.Anonymous.org
[root@stu ~]# service named restart(重启服务)
[root@stu ~]# vim /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers 192.168.4.30;(dhcp服务器地址)

default-lease-time 7200;
max-lease-time 14400;

subnet 192.168.4.0 netmask 255.255.255.0 {(提供支持pxe引导的DHCP地址分配服务)
range 192.168.4.10 192.168.4.80;(分配ip地址)
next-server 192.168.4.30;
filename "pxelinux.0";(获取地址后下载pxelinux.0这个文件)
}
[root@stu ~]# service dhcpd restart(重启服务)
[root@stu ~]# yum -y install tftp-server
tftp-server
资源根目录/var/lib/tftpboot
[root@stu pxeboot]# vim /etc/xinetd.d/tftp
disable = yes(默认为no,改为yes启动)
[root@stu ~]# chkconfig tftp on(设置开机自启)
[root@stu ~]# service xinetd restart
[root@stu ~]# chkconfig xinetd on
[root@stu ~]# cd /var/ftp/rhel6/images/pxeboot/(到此目录下)
[root@stu pxeboot]# ls
initrd.img TRANS.TBL vmlinuz
[root@stu pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/(把文件拷贝到/var/lib/tftpboot下)
[root@stu ~]# yum -y install syslinux-nonlinux(装包使用pxelinux.0)
[root@stu ~]# rpm -ql syslinux-nonlinux | grep pxelinux(查找pxelinux.0)
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/gpxelinuxk.0
/usr/share/syslinux/pxelinux.0
[root@stu ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/(把文件复制到此目录下)
[root@stu ~]# mkdir /var/lib/tftpboot/pxelinux.cfg(创建目录)
[root@stu ~]# vim /var/lib/tftpboot/pxelinux.cfg/default(创建文件)
prompt 1
timeout 600
default redhat6

label redhat6
kernel vmlinuz(下载内核文件)
append ks=ftp://192.168.4.30/ks.cfg initrd=initrd.img(配置应答文件。加载初始化镜像)

客户机网络装机过程
通过DHCP配置网卡,获知tftp地址及pxe启动文件名称(pxelinux.0)
从tftp服务器下载运行启动文件
读取启动配置(pxelinux.cfg/default)
根据用户选择或者自动选择,下载指定的vmlinuz和initrd.img
内核vmlinuz运行后,主导安装过程

——————————————————————————————————————————————