PXE的工作流程:
网卡里有内置的dhcp客户端程序和tftp客户端程序
当把网卡当做第一顺序启动时,会激活PXE功能,客户端基于DHCP尝试发起广播请求
当DHCP服务器收到请求后给它分配一个地址以及网关等各种网络属性进行配置,
dhcp服务器还可以告诉网卡,网络中有tftp文件服务器,指令是next-server指定要找的tftp服务器
pxelinux.0(类似于bootloader提供引导界面)
一:所以我们要先来配置dhcp服务器:
centos 6下的DHCP配置
DHCP的服务脚本存放在/etc/rc.d/init.d/下
利用rpm -ql dhcp|less查看
/etc/dhcp
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/portreserve/dhcpd
/etc/rc.d/init.d/dhcpd-->提供的服务脚本
/etc/rc.d/init.d/dhcpd6-->提供的服务脚本
/etc/rc.d/init.d/dhcrelay-->作为中继服务器是使用的
/etc/sysconfig/dhcpd
/etc/sysconfig/dhcpd6
/etc/sysconfig/dhcrelay
/usr/bin/omshell
/usr/sbin/dhcpd
/usr/sbin/dhcrelay
/usr/share/doc/dhcp-4.1.1
/usr/share/doc/dhcp-4.1.1/3.0b1-lease-convert
/usr/share/doc/dhcp-4.1.1/IANA-arp-parameters
/usr/share/doc/dhcp-4.1.1/README.ldap
/usr/share/doc/dhcp-4.1.1/api+protocol
/usr/share/doc/dhcp-4.1.1/dhclient-tz-exithook.sh
/usr/share/doc/dhcp-4.1.1/dhcpd-conf-to-ldap
/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample-->帮助文件
/usr/share/doc/dhcp-4.1.1/dhcpd6.conf.sample
/usr/share/doc/dhcp-4.1.1/draft-ietf-dhc-ldap-schema-01.txt
/usr/share/doc/dhcp-4.1.1/ms2isc
/usr/share/doc/dhcp-4.1.1/ms2isc/Registry.perlmodule
/usr/share/doc/dhcp-4.1.1/ms2isc/ms2isc.pl
/usr/share/doc/dhcp-4.1.1/ms2isc/readme.txt
/usr/share/doc/dhcp-4.1.1/sethostname.sh
/usr/share/doc/dhcp-4.1.1/solaris.init
/usr/share/man/man1/omshell.1.gz
/usr/share/man/man5/dhcpd.conf.5.gz
/usr/share/man/man5/dhcpd.leases.5.gz
/usr/share/man/man8/dhcpd.8.gz
/usr/share/man/man8/dhcrelay.8.gz
/var/lib/dhcpd-->用于存储dhcp运行过程中的数据文件
/var/lib/dhcpd/dhcpd.leases-->租约信息
/var/lib/dhcpd/dhcpd6.leases-->租约信息
|
将/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample文件复制到/etc/dhcp/dhcpd.conf替换dhcpd.conf
#红色字体是解释内容,不属于文件内容
#橙色底色表示需要哦修改的参数
#非段落结束后要跟分号***********
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#
# option definitions common to all supported networks...
option domain-name "magelinux.com"; <--配置域名(域名在/etc/resolv.conf)
option domain-name-servers 172.16.118.18; <--服务器IP地址,也就是提供DHCP服务的主机IP,多个IP以逗号分隔
default-lease-time 86400; <--默认租约期限
max-lease-time 100000; <--最大租约期限
# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7; <--日志交给谁来记录
# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.
# This is a very basic subnet declaration.
subnet 172.16.0.0(指向自己的网络) netmask 255.255.0.0 { <--工作的网络
range 172.16.118.10 172.16.118.40<--地址范围
option routers 172.16.0.1; <--网关 host ubuntu {
hardware ethernet 00:0c:29:eb:0d:65
fixed-address 172.16.118.118
}
}
|
:. , $d -->删除光标到文本末尾的数据
中以option开头的是为客户端提供配置信息的
非option开头的是定义DHCP自己的工作特性
service dhcpd start 启动DHCP服务
tail /var/log/message查看日志,DHCP启动有没有错误
UDP:67号端口
iptables在Linux系统上默认是启动的
iptables -L -n
service iptables start
service iptables stop 关闭防火墙
另一台电脑连接服务器获得的地址
tail /var/lib/dhcpd/dhcpd.leases 租约信息
UDP:68号端口;客户端的
保留地址:不应该使用dhcp.conf里限定范围内的地址
我们给个IP地址172.16.118.118
在/etc/dhcp/dhcpd.conf中加入
重启dhcp服务service dhcpd restart
结果目标主机的IP地址变为
chkconfig dhcpd on 开机启动
dhcp服务器就配置好了。
二:tftp 配置:
tftp 小型文件传输协议:
tftp使用UDP协议,工作在69号端口,也是基于C/S架构
首先要安装tftp 和tftp-server服务器端包
chkconfig查看发现瞬时守护进程都是关闭的
打开的方法有二:
1:chkconfig SERVICE_NAME on
chkconfig tftp on
2:vim /etc/xinetd.d/tftp
该disnable=no
然后重启xinetd服务service xinetd restart
rpm -ql tftp-server的
/etc/xinetd.d/tftp
/usr/sbin/in.tftpd
/usr/share/doc/tftp-server-0.49
/usr/share/doc/tftp-server-0.49/CHANGES
/usr/share/doc/tftp-server-0.49/README
/usr/share/doc/tftp-server-0.49/README.security
/usr/share/doc/tftp-server-0.49/README.security.tftpboot
/usr/share/man/man8/in.tftpd.8.gz
/usr/share/man/man8/tftpd.8.gz
/var/lib/tftpboot<--基于TFTP服务的文件都是放在此目录下
|
在主机上也装上tftp,便可链接tftp-server服务器端。
三:开始配置pxe:
系统安装需要的文件
vesamenu.c32-->用来启动一个图形界面
splash.jpg-->图形界面背景图片
vmlinux-->系统内核
initrd.img-->
isolinux.cfg-->图形界面的菜单选项
配置dhcp服务器
在subnet中加入
next-server 192.168.1.23;
filename “pxelinux.0”;
service dhcpd force-reload加载dhcp服务器
也可service dhcpd restart重启
此时我们就要开始往/var/lib/tftpboot/文件夹下存放需要从tftp服务器下载的文件
首先是pxelinux.0文件,它存在于syslinux安装包,先安装syslinux
/usr/share/syslinux/pxelinux.0
复制pxelinux.0到/var/lib/tftpboot/目录下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
在/var/lib/tftpboot/目录下创建pxelinux.cfg文件目录
mkdir /var/lib/tftpboot/pxelinux.cfg
复制vmlinuz和initrd.img内核文件到 /var/lib/tftpboot/下
vmlinuz 和initrd.img在光盘镜像下的/p_w_picpaths/pxeboot/下
为了让安装程序显示为图形界面需要复制光盘镜像中
/isolinux/{vesamenu.c32,splash.jpg}到/var/lib/ttftpboot/
光盘镜像中/isolinux/isolinux.cfg到/var/lib/tftpboot/default目录下
为default,给用户图形界面的安装菜单
此时我们新创建一个虚拟机,把网卡设为第一顺序启动,结果
创建yum源:
将光盘镜像挂载到/var/www/html/cdroms/目录下即可
现在还需要ks文件
复制/root/anaconda-ks.cfg到/var/www/html/ksfile/ks.cfg下改名为ks.cfg
给755权限
修改ks文件的repo指向自己制作的yum源
KS文件配置:
打开新虚拟机即可
转载于:https://blog.51cto.com/aolens/1532998