PXE的工作流程: 

    网卡里有内置的dhcp客户端程序和tftp客户端程序

    当把网卡当做第一顺序启动时,会激活PXE功能,客户端基于DHCP尝试发起广播请求

    当DHCP服务器收到请求后给它分配一个地址以及网关等各种网络属性进行配置,

    dhcp服务器还可以告诉网卡,网络中有tftp文件服务器,指令是next-server指定要找的tftp服务器

pxelinux.0(类似于bootloader提供引导界面)


服务器bios的num是什么_网络

一:所以我们要先来配置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

  }

服务器bios的num是什么_服务器bios的num是什么_02



     :. , $d -->删除光标到文本末尾的数据       

    中以option开头的是为客户端提供配置信息的

    非option开头的是定义DHCP自己的工作特性

    service dhcpd start 启动DHCP服务

    tail /var/log/message查看日志,DHCP启动有没有错误

UDP:67号端口  

服务器bios的num是什么_linux_03

    iptables在Linux系统上默认是启动的

    iptables -L -n 

    service iptables start

    service iptables stop 关闭防火墙

    另一台电脑连接服务器获得的地址

    

服务器bios的num是什么_服务器bios的num是什么_04

    tail /var/lib/dhcpd/dhcpd.leases  租约信息

    

服务器bios的num是什么_服务器bios的num是什么_05

UDP:68号端口;客户端的

    保留地址:不应该使用dhcp.conf里限定范围内的地址

    

服务器bios的num是什么_linux_06

    我们给个IP地址172.16.118.118

    在/etc/dhcp/dhcpd.conf中加入

    

服务器bios的num是什么_服务器bios的num是什么_07

    重启dhcp服务service dhcpd  restart

    结果目标主机的IP地址变为

   

服务器bios的num是什么_运维_08

    chkconfig dhcpd on   开机启动

    dhcp服务器就配置好了。


二:tftp 配置:


tftp 小型文件传输协议:

    tftp使用UDP协议,工作在69号端口,也是基于C/S架构

    首先要安装tftp 和tftp-server服务器端包

    chkconfig查看发现瞬时守护进程都是关闭的

    

服务器bios的num是什么_linux_09

打开的方法有二:

1:chkconfig  SERVICE_NAME   on
         chkconfig  tftp on
    2:vim  /etc/xinetd.d/tftp
    该disnable=no

服务器bios的num是什么_运维_10

然后重启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-->图形界面的菜单选项

服务器bios的num是什么_网络_11

    配置dhcp服务器

    在subnet中加入

next-server 192.168.1.23;

filename “pxelinux.0”;

服务器bios的num是什么_操作系统_12

    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,给用户图形界面的安装菜单

此时我们新创建一个虚拟机,把网卡设为第一顺序启动,结果

服务器bios的num是什么_运维_13

    创建yum源:

        将光盘镜像挂载到/var/www/html/cdroms/目录下即可

    现在还需要ks文件

    复制/root/anaconda-ks.cfg到/var/www/html/ksfile/ks.cfg下改名为ks.cfg

    给755权限

    修改ks文件的repo指向自己制作的yum源

    KS文件配置:

服务器bios的num是什么_服务器bios的num是什么_14

服务器bios的num是什么_linux_15

服务器bios的num是什么_操作系统_16

服务器bios的num是什么_操作系统_17

打开新虚拟机即可



转载于:https://blog.51cto.com/aolens/1532998