Linux-TFTP之用于网络远程安装
TFTP:Trival File Transfer Protocol,简单文件传输协议。是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。
TFTP和FTP的区别
1、FTP用TCP协议,TFTP用UDP协议
2、FTP支持用户认证,TFTP不支持
3、FTP文件大小没有限制,TFTP有限制,32MB大小
4、TFTP仅仅支持下载和上传(get/put)两个操作
TFTP用于网络远程安装
网络远程安装流程:
开机自检->网卡BOOT ROM的DHCP客户端从DHCP服务器的到IP, 掩码,DN服务器,默认网关和TFTP服务器IP及TFTP文件信息
->网卡BOOT ROM用TFTP协议从TFTP服务器上面下载TFTP文件,将TFTP文件pxelinux.0装载到内存
->pxelinux.0是一个小小的操作系统,因而能够启动机器
->pxelinux.0用TFTP协议下载Linux内核(vmlinuz)和初始化内存盘(initrd.img),用vmlinuz开机
->vmlinuz根据传给它的参数,启动装机过程
初始化内存盘:是一个文件压缩包,里面包含了一些Linux内核vmlinuz需要的一些文件,它被pxelinux.0下载并在内存里面解压
PXE:Pre-Excutable Environment,预启动环境,Intel定义的一个网络开机流程
配置TFTP,启用TFTP服务,并提供内核、引导程序
1.安装tftp服务器软件
# yum -y install tftp-server
xinetd :超级服务器,负责管理tftp,rsync等子服务
/etc/xinetd.d :xinetd的配置文件所在目录,一个子服务一个文件
配置tftp
1 vim /etc/xinetd.d/tftp 2 3 service tftp { 4 ... 5 disable = no 6 ... 7 }
重新启动xinetd服务器并且设置开机自动启动xinetd服务:
1 service xinetd restart 2 chkconfig xinetd on
/var/lib/tftpboot/:存储TFTP文件的目录,可以供客户访问
pxelinux.0来源于syslinux包
1 yum -y install syslinux
/usr/share/syslinux:存放着很多TFTP文件,可以用来启动机器
1 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 2 3 4 cd /mnt/rhel-dvd/images/pxeboot/ 5 cp vmlinz initrd.img /var/lib/tftpboot/
pxelinux.0需要一个启动菜单
1 mkdir /var/lib/tftpboot/pxelinux.cfg 2 3 4 vim /var/lib/tftpboot/pxelinux.cfg/default 5 6 default lisi 7 prompt 0 8 label lisi 9 kernel vmlinuz 10 append ks=ftp://192.168.0.11/rhel6/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192
测试TFTP
1 yum -y install tftp 2 tftp 192.168.1.1 -c get pxelinux.0