yum -y install 
  dhcp[root@localhost ~]# cat /etc/dhcp/dhcpd.con

default-lease-time 600;
max-lease-time 7200;
subnet 192.168.216.0 netmask 255.255.255.0 {
  range dynamic-bootp 192.168.216.220 192.168.216.230;
  option domain-name-servers 192.168.216.147;
  option subnet-mask 255.255.255.0;
  option routers 192.168.216.147;
  default-lease-time 600;
  max-lease-time 7200;  
  next-server 192.168.216.147;      ###这个就是tftp地址
  filename"pxelinux.0";          ###告知从tftp根目录获取bootloader文件

}

host clientA{                        ###可以绑定某台主机的ip地址,用mac绑定
        hardware ethernet 00:0C:29:83:A2:10;      
        fixed-address 192.168.216.229;
}
ddns-update-style interim;

配置PXE 自动化安装CentOS 6.7

dhcp服务器是pxe自动化安装的必要条件,因此先搞定dhcp服务器,yum -y
install dhcp,  rpm -ql dhcp查看安装了哪些包,less /etc/dhcp/dhcpd.conf
 打开dhcp的主配置文件,如下图:

图片 1

没有任何配置,但提示了去哪找主配置文件,cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
/etc/dhcp/dhcp.conf  覆盖主配置文件,vim /etc/dhcp/dhcpd.conf
再次打开,default-lease-time 600;
(默认租约时长)这个参数为600秒感觉短了一点,改为3600。为了避免其他参数的干扰,把鼠标移动到29行,然后执行:.,[email protected]^[^#]@#&@命令(把当前行到最后一行以非#开头的非空白行在行首加上#),接下来在subnet中定义要分配的网段,定义如下图所示:

图片 2

保存退出! service dhcpd start 启动服务  ss -unl
 查看67号服务器端口是否监听。

把网卡配置为172.16.0.199/16 的地址,作为客户端的默认网关。

启动另外一台客户端,使用dhclient -d命令 查看如何获取地址如图:

图片 3

这样一台dhcp服务器就启动起来了,给客户端分配了172.16.100.29地址。

但有时我们需要固定分配一地址给某台客户端,vim /etc/dhcp/dhcpd.conf
 如图:

图片 4

添加一段配置,只需把该客户端的物理网卡地址写上就可以。

看下面这图:

图片 5

多添加了filename,和next-server两个参数,filename表示告诉客户端获取了地址之后,去加载pxelinux.0文件,去哪加载,next-server中指定的地址,此处为172.16.100.13。pxelinux.0是基于网卡引导时要加载的initial
boot file 的文件名。而filename处指定的文件必须放在tftp-server上。

第二个必要条件,另外启动一台虚拟机,搞定tftp-server,yum -y install
tftp-server,  yum -y install syslinux。

syslinux 是一堆引导加载器,pxe
网络引导需要用到它。在/usr/share/syslinux/目录下就有pxelinux.0文件。

tftp-server是由xinetd这个超级守护进程管理的。因此vim /etc/xinetd.d/tftp
 把disable=yes 改为 no, service xinetd restart。 ss -unl
 查看是否69号端口已监听。

tftp服务器默认文件存储路径为/var/lib/tftpboot目录下。 cp
/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

放入光盘挂载光盘,mkdir /media/cdrom  mount -r /dev/cdrom /media/cdrom
还得创建一个yum仓库放置光盘里面的文件,我把它放在httpd上。安装httpd服务器,yum
-y installl httpd,   mkdir /var/www/html/CentOS6 创建目录硬链接  mount
–bind /media/cdrom /var/www/html/centos6    ls /var/www/html/centos6
如图:

图片 6

制作一个kickstart文件来定制如何安装系统,yum -y install
system-config-kickstart,  system-config-kickstart 如图: 

图片 7

 

图片 8

图片 9

 

图片 10

图片 11

图片 12

为了方便下面几项无需去配置。 可以使用ksvalidator命令检查是否有语法错误
ksvalidator centos6.cfg。 cp /root/centos6.cfg /var/www/html/ 

service httpd start 

接下来复制几个必要的文件:cp
/media/cdrom/images/pxeboot/{vmlinuz,initrd.img}  /var/lib/tftpboot/

cp /media/cdrom/isolinux/{boot.msg,splash.jpg,vesamenu.c32}
/var/lib/tftpboot/

mkdir /var/lib/tftpboot/pxelinux.cfg  cp
/media/cdrom/isolinux/isolinux.cfg
/var/lib/tftpboot/pxelinux.cfg/default

ls /var/lib/tftpboot 如图:

图片 13

vim /var/lib/tftpboot/pxelinux.cfg/default

 图片 14

加上  ks=

启动一台虚拟机从网卡引导:

图片 15

把centos6.cfg文件中的#Use graphic install 下的graphic 两行改为 #Use
text install
text,引导就不需要你点next选项:图片 16 

全搞定!

—————————–分割线—————————–

使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS5.8 x86_64

Linux PXE无人值守安装出现 PXE-E32:TFTP OPen timeout的解决办法

使用PXE结合kickstart 自动安装Linux系统

RHCE认证之无人值守安装Linux系统(FTP+TFTP+DHCP+Kickstart+PXE)

PXE网络装机(有人值守与无人值守安装)

—————————–分割线—————————–

本文永久更新链接地址:

自动化安装CentOS 6.7
dhcp服务器是pxe自动化安装的必要条件,因此先搞定dhcp服务器,yum -y
install dhcp, rpm -ql dhcp查看安装了哪些包,l…

 3)client执行接收到的pxelinux.0

挂载光盘,把内核文件cp到tftp目录

图片 17

3.5设置菜单及提供系统安装文件

systemctl restart tftp.service

mkdir /media/cdrom

几个文件的说明

 7)client加载linux内核(启动参数已经在4中的配置文件中设置好了)。

mount –bind /media/cdrom/ /var/www/html/centos7

 

3.4挂载光盘,把内核文件cp到tftpmulu

[root@localhost tftpboot]# ps -ef |grep xinetd
root      49896      1  0 Aug29 ?        00:00:00 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid
root      61791  49577  0 16:15 pts/0    00:00:00 grep --color=auto xinetd

3.1部署DHCP

 注意:全部用的udp封装

TFTP

图片 18

cp images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot

 systemctl restart dhcpd.service

 

 1)client向pxe
server上的dhcp发送IP地址请求消息,dhcp检测client是否合法,同事将pxe环境下的boot
loader文件pxelinux.0的位置信息发给client

 4)client向TFTP请求pxelinux.cfg文件(其实是目录,里面放了启动菜单,即grub的配置文件),TFTP将配置文件发回client,继而client根据配置文件执行后续的操作

 6)client向TFTP发送根文件请求信息,TFTP接受到消息之后返回linux根文件系统

 5)client向TFTP发送linux内核请求信息,TFTP发送内核

systemctl restart xinetd.service

部署httpd,并放置文件

cp isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

cp -a ~/anaconda-ks.cfg /var/www/html/ks.cfg

cp isolinux/{vesamenu.c32,boot.msg,splash.png} /var/lib/tftpboot/

  systemctl start dhcpd

3.2部署TFTP
  从流程得知boot loader文件pxelinux.0以及内核相关的配置文件(目录pxelinux.cfg下)主要都是由TFTP来提供的

  yum install tftp-server
  yum -y install xinetd
  TFTP是由xinetd这个super daemon所管理的,因此设定好TFTP之后,要启动的是xinetd;

[root@localhost ~]# cat /etc/xinetd.d/tftp 
# default: off
# description: The tftp server serves files using the trivial file transfer 
#       protocol.  The tftp protocol is often used to boot diskless 
#       workstations, download configuration files to network-aware printers, 
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot  ###这个是tftp的根目录
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

 cd /var/www/html/centos7

 2)client向pxe
server上的tftp请求pxelinux.0,tftp收到消息向client发送pxelinux.0大小信息,试探client是否满意,当tftp收到client发回的统一大小信息后,发送pxelinux.0.

mount -r /dev/cdrom /media/cdrom

yum install -y httpd

systemctl enable tftp.service

systemctl enable dhcpd.service

2、流程

3、部署

发表评论

电子邮件地址不会被公开。 必填项已用*标注