linux dhcp搭建及pxe无人值守装机
Posted XxSec
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux dhcp搭建及pxe无人值守装机相关的知识,希望对你有一定的参考价值。
DHCP
动态主机配置协议:由IETF组织制定,用来简化主机ip地址分配管理
可以自动分配的入网参数
ip地址/子网掩码/广播地址
默认网关地址
DNS服务器地址
——————————————————————————————————————————
DHCP四次会话
请求:DHCP DISCOVER
提供:DHCP OFFER
选择:DHCP ORQUEST
确认:DHCP ACK
DHCP主要概念
租期;允许客户机租用ip地址的时间期限,单位为秒
作用域:分配给客户机的ip地址所在的网段
地址池:用来动态分配ip地址的范围
——————————————————————————————————————————
搭建DHCP服务器
安装DHCP服务软件[[email protected] ~]# 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
[[email protected] ~]#/etc/dhcp/dhcpd.conf
:read /usr/share/doc/dhcp*/dhcpd.conf.sample (read,把模板的内容复制到当前终端)
[[email protected] ~]# 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地址
[[email protected] ~]# service dhcpd start(启动服务)
[[email protected] ~]# less /var/lib/dhcpd/dhcpd.leases(服务端查看租约文件)
客户机配置:[[email protected] ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp (改为自动获取ip)
PEERDNS=no (不自动获取DNS)
[[email protected] ~]#service network restart (重启服务)
[[email protected] ~]# 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)
[[email protected] ~]# system-config-kickstart
执行上述图像界面工具,创建新应答文件
生成应答文件的客户机,yum库的版本应该和待安装系统一致
为客户机提供用来装系统的FTP软件源
通过vsftpd服务对外发布
[[email protected] ~]# yum -y install vsftpd(安装vsftpd)
[[email protected] ~]# mount /dev/cdrom /root/myiso/(挂载rh6镜像)
[[email protected] ~]# cp -rf /root/myiso/* /var/ftp/rhel6/(把镜像复制到ftp里)
[[email protected] ~]# service vsftpd restart(启动ftp服务)
[[email protected] ~]# vim /etc/named.conf (提供DNS域名解析)
zone "4.168.192.in-addr.arpa"IN{
type master;
file "192.168.4.arpa";
};
[[email protected] ~]# vim /var/named/Anonymous.org.zone
$GENERATE 10-80 pc$ A 192.168.4.$
[[email protected] ~]# vim /var/named/192.168.4.arpa
$GENERATE 10-80 $ PTR pc$.Anonymous.org
[[email protected] ~]# service named restart(重启服务)
[[email protected] ~]# 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这个文件)
}
[[email protected] ~]# service dhcpd restart(重启服务)
[[email protected] ~]# yum -y install tftp-server
tftp-server
资源根目录/var/lib/tftpboot
[[email protected] pxeboot]# vim /etc/xinetd.d/tftp
disable = yes(默认为no,改为yes启动)
[[email protected] ~]# chkconfig tftp on(设置开机自启)
[[email protected] ~]# service xinetd restart
[[email protected] ~]# chkconfig xinetd on
[[email protected] ~]# cd /var/ftp/rhel6/images/pxeboot/(到此目录下)
[[email protected] pxeboot]# ls
initrd.img TRANS.TBL vmlinuz
[[email protected] pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/(把文件拷贝到/var/lib/tftpboot下)
[[email protected] ~]# yum -y install syslinux-nonlinux(装包使用pxelinux.0)
[[email protected] ~]# rpm -ql syslinux-nonlinux | grep pxelinux(查找pxelinux.0)
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/gpxelinuxk.0
/usr/share/syslinux/pxelinux.0
[[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/(把文件复制到此目录下)
[[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg(创建目录)
[[email protected] ~]# 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运行后,主导安装过程
——————————————————————————————————————————————
以上是关于linux dhcp搭建及pxe无人值守装机的主要内容,如果未能解决你的问题,请参考以下文章