linux pxe dhcp 讲解,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运行后,主导安装过程

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值