2024年1月16日发(作者:)

Pxe+dhcp+nfs+tftp 网络安装linux系统详细解析

Pxe+dhcp+nfs+tftp 网络安装centos

一、 介绍

简单原理介绍:无光软驱服务器通过PXE网卡启动,从dhcp服务器获取IP 通过tftp 下载pxelinux.0文件找到里的配置文件,按配置文件找着vmlinuz引导centos进入安装界面,之后选择NFS方式安装系统。

另: 如需要实现全自动安装 要安装 Kickstart 软件包并配置。本文并不讨论

二、环境说明

本文测试环境及用到的软件

Server: centos 5.2 dhcp nfs tftp ip:192.168.1.251 (此IP只需要与服务器网卡相连,不管是什么都可以)

三、安装配置过程及基本讲解:

安装相应的软件:yum –y install dhcp* nfs* tftp*

1、 配置tftp[code] more /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.

# trad: liuyu

# blog:

# bbs:

service tftp

{

disable = no #默认是yes 改为no

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/

server_args = -u nobody -s /tftpboot #添加nobody可以访问

per_source = 11

cps = 100 2

flags = IPv4

} [/code]重启xinetd服务: /etc/init.d/xinetd restart

查看tftp 是否启动:# chkconfig --list |grep tftp

tftp: on

2、 配置nfs

mount /iso/ /mnt –t iso9660 -o loop #我是挂载的镜像文件,你们可以挂载光驱

echo "/tftpboot *(ro,sync)" >> /etc/exports

echo "/mnt *(ro,sync)" >> /etc/exports #此二步设置共享的目录 一定要和ISO挂载的镜像在同一目录

exportfs –a #使配置生效

/etc/init.d/portmap start &&/etc/init.d/nfs start #重启服务

Showmount –e localhost #看查共享的目录

Export list for localhost:

/mnt *

/tftpboot *

3、配置dhcp

直接copy我的配置[code]# more /etc/

#

# DHCP Server Configuration file.

# see /usr/share/doc/dhcp*/

#

# trad: liuyu

# blog:

# bbs:

ddns-update-style interim;

ignore client-updates;

allow booting;

allow bootp;

subnet 192.168.1.0 netmask 255.255.255.0 {

option routers 192.168.1.251;

option subnet-mask 255.255.255.0;

option domain-name-servers 192.168.1.251; #本地IP

option time-offset -18000; # Eastern Standard Time

range dynamic-bootp 192.168.1.12 192.168.1.254; #要分区的IP

default-lease-time 21600;

max-lease-time 43200;

# Group the PXE bootable hosts together

# PXE-specific

next-server 192.168.1.251;

filename "pxelinux.0"; #方便查找配置文件

} [/code]/etc/init.d/dhcpd start 启动服务

4、 配置pxe所需要的文件[code]

Mkdir /tftpboot/

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

cp /mnt/isolinux/vmlinuz /tftpboot/

cp /mnt/isolinux/ /tftpboot/

cp /mnt/isolinux/ /tftpboot//default [/code]四、测试

启动服务器,一般是按F12选择进入PXE网络启动。这时就会自动获取IP并进入

Boot: 界面。按linux text 进入。之后选择NFS安装系统。

如果是多张光盘,进行如下操作,挂载ISO文件到/mnt目录 ,然后将每张光盘下:

/mnt/cdrom/RedHat 复制到共享目录,并将第一张盘下的/mnt/cdrom/.discinfo也复制进去。

1、复制文件

(1)创建一个含有Red Hat Enterprise Linux安装文件的目录。我把这个目录命名为/mnt/inst

#mkdir /mnt/inst

(2)拷贝第一张安装光盘上的相关内容

插入第一张安装光盘到光驱

#mount /dev/cdrom /mnt/cdrom

#cp -ar /mnt/cdrom/RedHat /mnt/inst

#cp /mnt/cdrom/.discinfo /mnt/inst

#umount /dev/cdrom

取出第一张光盘,放入第二张

#mount /dev/cdrom /mnt/cdrom

#cp –ar /mnt/cdrom/RedHat /mnt/inst

#umount /dev/cdrom

取出第二张光盘,放入第三张

#mount /dev/cdrom /mnt/cdrom

#cp –ar /mnt/cdrom/RedHat /mnt/inst

#umount /dev/cdrom

取出第三张光盘,放入第四张

#mount /dev/cdrom /mnt/cdrom

#cp –ar /mnt/cdrom/RedHat /mnt/inst

#umount /dev/cdrom

五、配置文件详解

配置的有关说明:

parameters(参数):

ddns-update-style 配置DHCP-DNS互动更新模式

default-lease-time 指定缺省租赁时间的长度,单位是秒

max-lease-time 指定最大租赁时间长度,单位是秒

hardware 指定网卡接口类型和MAC地址

server-name 通知DHCP客户服务器名称

get-lease-hostnames flag 检查客户端使用的IP地址

fixed-address ip 分配给客户端一个固定的地址

authritative 拒绝不正确的IP地址的要求

declarations(声明):

shared-network 用来告知是否一些子网络分享相同网络

subnet 描述一个IP地址是否属于该子网

range 起始IP 终止IP 提供动态分配IP 的范围

host 主机名称 参考特别的主机

group 为一组参数提供声明

allow unknown-clients或deny unknown-client 是否动态分配IP给未知的使用者

allow bootp或deny bootp 是否响应激活查询

allow booting或deny booting 是否响应使用者查询

filename 开始启动文件的名称,应用于无盘工作站

next-server 设置服务器从引导文件中装如主机名,应用于无盘工作站

option(选项):

subnet-mask 为客户端设定子网掩码

domain-name 为客户端指明DNS名字

domain-name-servers 为客户端指明DNS服务器IP地址

host-name 为客户端指定主机名称

routers 为客户端设定默认网关

broadcast-address 为客户端设定广播地址

ntp-server 为客户端设定网络时间服务器IP地址

time-offset 为客户端设定和格林威治时间的偏移时间,单位是秒

]

echo "/mnt *(ro,sync)" > /etc/exports #此二步设置共享的目录

应该是echo "/mnt *(ro,sync)" >> /etc/exports

好文章啊!