搭建PXE服务器安装Linux系统

PXE是在没有软驱、硬盘、CD-ROM的情况下引导计算机的一种方式,也就是BIOS将使用PXE协议从网络引导。

DHCP服务器:用来动态分配IP地址(同时分配子网掩码、网关、TFTP服务器地址、启动文件名、DNS服务器、时间服务器等等)。

TFTP服务器:用来提供启动文件的下载

简单说来,PXE服务器就是DHCP服务器+TFTP服务器。网络启动过程大概是这样的(可能并不严谨):客户端发送动态获得IP地址的广播包到 网络上,DHCP服务器在收到该广播包后,发送给客户端分配IP地址的回应包,客户端收到回应包后设置自己的IP地址,然后从DHCP服务器获得启动服务 器的IP地址(DHCP服务器066选项,这就是TFTP服务器的IP地址)及启动文件名(DHCP服务器067选项,这里的启动文件名就是 pxelinux.0或者支持pxe的grub4dos的grldr,当然,也可以是startrom.n12或者使用3com Image Edit创建的pxe启动菜单文件,总之,它应该是一种由pxe启动规范规定的固定格式的可执行文件),然后客户端到联系启动服务器(TFTP服务器)获 得启动文件并执行,这样基本上就完成了pxe启动过程。

在Unix或者Linux系统下,DHCP服务器和TFTP服务器一般都是分开设置的,两台服务器甚至可以在两台不同的机器上,其实 Windows下的设置也是一样的,但在Windows下,我们可以通过使用HaneWin DHCP服务器软件或TFTPD32一个软件就搞定(我个人推荐使用HaneWin DHCP服务器软件,但TFTPD32设置起来更简单一些,就是效率有些低),详细的设置方法请自己摸索,你只要知道,在设置PXE服务器时,要设置好 DHCP和TFTP两个服务器,其中DHCP服务器要设置启动服务器名和启动文件名。

搭建环境:

推送服务器:

Ip:192.168.189.138

系统:CentOS 5.8

推送系统:RHEL 5.4

1:配置dhcpd服务。

如果没有安装dhcpd服务,请安装:

# yum -y install dhcp.x86_64
# vi /etc/dhcpd.conf
option domain-name "766.com";
default-lease-time 6000; 
max-lease-time 11400; 
authourtative; 
next-server 192.168.189.138;
ddns-update-style ad-hoc; 
log-facility local7; 
subnet 192.168.189.0 netmask 255.255.255.0{ 
range 192.168.189.150 192.168.189.195;
option domain-name-servers 192.168.189.254; 
option domain-name "766.com";
option netbios-name-servers 192.168.189.254; 
option routers 192.168.189.254; 
option broadcast-address 192.168.189.255;
default-lease-time 6000; 
max-lease-time 11400; 
filename "/kickstart/ks.cfg";
}
 
 
option space PXE; 
 
class "PXE" { 
    match if substring(optionvendor-class-identifier, 0, 9) = "PXEClient"; 
    optionvendor-encapsulated-options 01:04:00:00:00:00:ff; 
    option boot-size 0x1; 
    filename"pxelinux.0"; 
    option tftp-server-name "192.168.189.138"; 
    option vendor-class-identifier"PXEClient"; 
    vendor-option-space PXE; 
}

2:开启tftp服务:

如果没有tftp服务软件,请安装:

# yum -y installtftp.x86_64
# yum -y installxinetd.x86_64 
# yum -y installtftp-server.x86_64
 
配置tftp
# vi/etc/xinetd.d/tftp
service tftp
{
        socket_type            = dgram
        protocol              = udp
        wait                = yes
        user                = root
        server              = /usr/sbin/in.tftpd
        server_args            = -s /tftpboot
        disable              = no
        per_source            = 11
        cps                = 100 2
        flags                = IPv4
 }

3:准备推送所需的文件与目录。

把光盘或iso文件中的isolinux目录下的文件,拷贝到/tftpboot。

把pxelinux.0文件拷贝到/tftpboot:

# cp /usr/lib/syslinux/pxelinux.0 /tftpboot

创建RHEL5.4目录,把initrd.img、vmlinuz两个文件拷贝进去:

# mkdir -p /tftpboot/RHEL5.4
# mv /tftpboot/initrd.img /tftpboot/RHEL5.4
# mv /tftpboot/vmlinuz /tftpboot/RHEL5.4

创建pxelinux.cfg目录,把isolinux.cfg文件拷贝进去,并改名default:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14348.html