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)


发布评论