2024年3月25日发(作者:)

Linux网络安装全过程(安装fedora)

先来大概说一下网络安装linux的基本原理。我们是通过PXE(Pre-boot Execution

Environment)(其实是intel设计的一个协议)来进行安装的,它可以使计算机通过网络启动。

PXE协议分为server和client端,client就是我们即将要装linux的裸机。

linux下网络安装需具备3个条件:

服务器:用于客户端引导时分配IP地址

、nfs、httpd服务器:用于保存操作系统的rpm包

服务器:用于客户端的tftp引导。

我的方案是DHCP+NFS+TFTP

方案介绍:

这种方案需要首先设置一个启动服务器和一个安装服务器,可以配置在同一台机器上,然后

通过网络启动存放在启动服务器上的安装程序。安装程序会自动访问存放在安装服务器上的

安装配置文件和安装介质来完成安装。

软硬件需求:

· 一台机器作为启动和安装服务器(虚拟机A)

· 待安装的机器,它的网卡必须带有PXE支持(虚拟机B)

· 一个完好的局域网,机器已经连入同一网。

· 系统镜像文件

配置步骤:

一、DHCP服务器

1、 安装DHCP

[root@localhost ~]# rpm -qa|grep dhcp ;查看是否安装了 dhcp

10.i386

10.i386

10.i386 ;若没有此包,则需用yum install dhcp来安装

10.i386

10.i386

2、 配置DHCP

DHCP服务的配置文件是/etc/,通过修改配置文件进行配置,分两步:一是

加入黑体部分,二是修改配置地址。

注:初始安装时/etc/配置文件为空,此时可以新建一个直接进行编辑。有个DHCP的配置例

子为/usr/share/doc/dhcp-4.0.0/。

[root@localhost /]# cd /etc

[root@localhost etc]# vim

# DHCP Server Configuration file.

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

ddns-update-style interim;

ignore client-updates;

allow booting;

allow bootp;

【必须与本机是同一网段】

subnet 192.168.186.0 netmask 255.255.255.0 {

option routers 192.168.186.135; 【本机地址】#路由器地址

option subnet-mask 255.255.255.0; #子网掩码

option domain-name-servers 192.168.186.135; #DNS地址

option time-offset -18000; # Eastern Standard Time

range dynamic-bootp 192.168.186.2 192.168.186.100;

filename "/linux-install/pxelinux.0"; # filename 后面是tftp目录下的文件,用来指

定tftp根目录的启动文件。【也可以直接写成/pxelinux.0,具体由自己设定】

default-lease-time 21600; #缺省租约时间

max-lease-time 43200; #最大租约时间

}

[root@localhost ~]# ifconfig eth0 192. 168. 186.135/24 配置地址

[root@localhost etc]# ifconfig ;查本机IP地址。

eth0 Link encap:Ethernet HWaddr 00:0C:29:26:AC:57

inet addr:192.168.186.135 Bcast:192.168.186.255 Mask:255.255.255.0

注意若要指定给某一特定主机分配地址,需再加入些东西,以下是一个例子

host MyP5 {

filename "pxelinux.0";

server-name "bootserver";

hardware ethernet ae:32:20:00:b0:02;

fixed-address 192.168.187.90;

为客户机(需要安装系统的机器)的 MAC 地址和所分配的IP地址。

}

3、 开启服务(开启成功则表示配置成功了)

[root@localhost etc]# service dhcpd start(或者重启restart)

启动 dhcpd: [确定]

使用/etc/init.d/dhcpd start也可以(在/etc/init.d下即可找到相应的服务service)

二、NFS服务器

1、安装NFS

[root@localhost /]# rpm -qa |grep nfs

10.i386

10.i386

查询是否已安装,否则使用yum install nfs进行安装。

2、配置NFS

[root@localhost /]# mkdir /linuxos(建立各个版本ISO文件的存放目录,并且将ISO文件拷

贝到此目录下,NFS支持iso格式安装。)

[root@localhost /]# mkdir tftpboot

[root@localhost /]# cd tftpboot/

[root@localhost tftpboot]# mkdir linux-install

[root@localhost /]# vim /etc/exports ;配置文件

/mnt *(ro,sync) ;(mnt为NFS的目录,用来存放操作系统。此处选/mnt是因为

其是挂载光盘的挂载点)

/tftpboot/linux-install *(ro,sync)

3、启动NFS

[root@localhost tftpboot]# exportfs –a ;使用此命令使配置生效

[root@localhost /]# service nfs start(或restart)

启动 NFS 服务: [确定]

关掉 NFS 配额: [确定]

启动 NFS 守护进程: [确定]

启动 NFS mountd: [确定]

三、TFTP服务器

1、安装TFTP

[root@localhost /]# rpm -qa |grep tftp

10.i386 ;这个只是tftp客户端软件

10.i386 ;这个才是tftp服务器软件(必不可少)

若没有则需使用yum下载。

[root@localhost /]# yum install tftp

[root@localhost /]# yum install tftp-server

2、配置TFTP

[root@localhost init.d]# vim /etc/xinetd.d/tftp ;配置文件

service tftp

{

disable = no

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/

server_args = -s /tftpboot ;将 /tftpboot 定义为 tftp 服务的默认目录,您可以自行修改。

per_source = 11

cps = 100 2

flags = IPv4

}

3、保存之后重启 /etc/init.d/xinetd 服务,即可开启 tftp 服务。(注意此服务service不识别)

[root@localhost /]# /etc/init.d/xinetd restart

停止 xinetd: [确定]

启动 xinetd: [确定]

4、 测试tftp

(1)下载文件

[root@localhost /]# cd tftpboot ;在tftp目录里新建一文件用于下载测试

[root@localhost tftpboot]# vi ;可以编辑一些文字,测试是否能下载成功

[root@localhost tftpboot]# cd /

[root@localhost /]# tftp 127.0.0.1

tftp> get

tftp> q

[root@localhost /]# ls ;查看是否下载到本地

boot etc lib lost+found mnt proc sbin srv tftpboot usr

bin dev home linuxos media opt root selinux sys tmp var

[root@localhost /]# vim ;查看内容是否完整

(2)若想上传文件,必须要更改tftpboot及其以下文件的权限

[root@localhost /]# chmod 777 tftpboot

[root@localhost /]# cd tftpboot

[root@localhost tftpboot]# chmod 777 *

且一般默认只能上传tftp服务器(/tftpboot/)上已有的文件,如果要上传没有的文件,需更

改配置文件并重启服务。(在server_args增加-c参数)

四、检测以上程序是否均启动成功

① [root@localhost etc]# ps -aux|grep dhcpd

Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ

root 6372 0.0 0.1 7716 1956 ? Ss 21:13 0:00 /usr/sbin/dhcpd(这个

是dhcpd主程序,显示了这项才能表示此程序已运行)

root 6511 7.0 0.0 5612 708 pts/0 S+ 21:17 0:00 grep dhcpd 【注意只

显示这项,不是dhcpd程序,只是grep 程序而已!不要犯低级错误!】

② [root@localhost /]# ps -aux |grep tftpd

Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ

root 7760 0.0 0.0 2336 716 ? Ss 21:45 0:00 -s /tftpboot

root 7864 0.0 0.0 5612 704 pts/0 S+ 21:48 0:00 grep tftpd

③[root@localhost /]# ps -aux |grep nfs

Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ

root 7167 0.0 0.0 0 0 ? S< 21:32 0:00 [nfsd4]

root 7169 0.0 0.0 0 0 ? S< 21:32 0:00 [nfsd]

root 7170 0.0 0.0 0 0 ? S< 21:32 0:00 [nfsd]

root 7171 0.0 0.0 0 0 ? S< 21:32 0:00 [nfsd]

root 7172 0.0 0.0 0 0 ? S< 21:32 0:00 [nfsd]

root 7173 0.0 0.0 0 0 ? S< 21:32 0:00 [nfsd]

root 7174 0.0 0.0 0 0 ? S< 21:32 0:00 [nfsd]

root 7175 0.0 0.0 0 0 ? S< 21:32 0:00 [nfsd]

root 7176 0.0 0.0 0 0 ? S< 21:32 0:00 [nfsd]

root 8764 0.0 0.0 5612 704 pts/0 S+ 22:11 0:00 grep nfs

五、配置PXE引导文件

在安装完毕tftp后,会在/目录下自动创建一个/tftpboot目录,此目录可以用来存放PXE

的引导文件PXE的引导文件一般路径为/usr/lib/syslinux/pxelinux.0,如果没有找到此文件,

请确认系统是否正确安装了syslinux包,如果没有安装syslinux软件包,是没有pxelinux.0

文件的,必须要进行安装。(执行# yum install syslinux即可)

(1)我们将pxelinux.0拷贝到/tftpboot/linux-install目录下。

[root@localhost tftpboot]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/linux-install

(2)接着,需要将Linux系统安装光盘上的引导文件拷贝到/tftpboot/linux-install目录下。

光盘的引导文件在光盘的isolinux目录下。将

isolinux

目录下的所有文件(vmlinuz、

两个文件很重要,是引导文件!)拷贝到/tftpboot/linux-install 目录下。

[root@localhost tftpboot]#mount /dev/cdrom /mnt(将光盘挂载到/mnt目录中)

[root@localhost tftpboot]#cp /mnt/isolinux/* /tftpboot/linux-install(拷贝)

然后,在/tftpboot/linux-install目录下创建目录,并把目前/tftpboot/linux-install

目录下文件拷贝到/tftpboot/linux-install/目录下,并改名为default。

[root@localhost tftpboot]# cd /tftpboot/linux-install

[root@localhost linux-install]# mkdir

[root@localhost linux-install]# cp /default

至此,PXE+TFTP+DHCP自动网络引导Linux系统安装工作已经完成了。

六、测试PXE自动引导功能

通过用网线和另一台电脑连接,本台配置好的机器作为服务器,另一台则作为客户机使

用。在客户机开机时按下F12(DEL),进行启动项设置,将(系统尝试从网络引导LAN)设

为第一引导项即可。然后按F10保存配置,再重新启动后则会先尝试从网络引导,若不通

才会正常开机。

Ctrl+Alt+Delete可退出,重启。

注:安装ubuntu和Fedora有点区别,主要是拷光盘文件方法不同,光盘文件格式也有

区别。以后再用到再仔细研究~~

Ubuntu:网络安装的启动加载文件(和linux)