实现TFTP服务
Posted 凭栏听枫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现TFTP服务相关的知识,希望对你有一定的参考价值。
安装和使用TFTP
安装包
- tftp-server 服务器包
- tftp 客户端包
安装tftp
#安装tftp服务器包
[root@centos7 ~]# yum install -y tftp-server
[root@centos7 ~]# rpm -ql tftp-server
/etc/xinetd.d/tftp
/usr/lib/systemd/system/tftp.service #tftp service文件
/usr/lib/systemd/system/tftp.socket #tftp socket文件
/usr/sbin/in.tftpd #tftp主程序
/usr/share/doc/tftp-server-5.2
/usr/share/doc/tftp-server-5.2/CHANGES
/usr/share/doc/tftp-server-5.2/README
/usr/share/doc/tftp-server-5.2/README.security
/usr/share/man/man8/in.tftpd.8.gz
/usr/share/man/man8/tftpd.8.gz
/var/lib/tftpboot #TFTP服务数据目录
启动服务
#启动服务
[root@centos7 ~]# systemctl enable --now tftp
[root@centos7 ~]# systemctl status tftp
● tftp.service - Tftp Server
Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
Active: active (running) since Sat 2021-05-08 15:52:31 CST; 38s ago
Docs: man:in.tftpd
Main PID: 2979 (in.tftpd)
CGroup: /system.slice/tftp.service
└─2979 /usr/sbin/in.tftpd -s /var/lib/tftpboot
May 08 15:52:31 centos7 systemd[1]: Started Tftp Server.
准备测试文件
[root@centos7 ~]# cp /etc/fstab /var/lib/tftpboot/f1.txt
[root@centos7 ~]# mkdir /var/lib/tftpboot/dir
[root@centos7 ~]# cp /etc/passwd /var/lib/tftpboot/dir/f2.txt
[root@centos7 ~]# tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── dir
│ └── f2.txt
└── f1.txt
1 directory, 2 files
安装tftp客户端
[root@centos8 ~]# yum install -y tftp
客户端通过tftp下载文件
#非交互式下载文件
[root@centos8 ~]# tftp 10.0.0.217 -c get f1.txt f2.txt
#交互式下载
[root@centos7 ~]#tftp 10.0.0.8
tftp> help
tftp-hpa 5.2
Commands may be abbreviated. Commands are:
connect connect to remote tftp
mode set file transfer mode
put send file
get receive file
quit exit tftp
verbose toggle verbose mode
trace toggle packet tracing
literal toggle literal mode, ignore ':' in file name
status show current status
binary set mode to octet
ascii set mode to netascii
rexmt set per-packet transmission timeout
timeout set total retransmission timeout
? print help information
help print help information
#查看状态
tftp> status
Connected to 10.0.0.8.
Mode: netascii Verbose: off Tracing: off Literal: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
6 利用 PXE 实现自动化系统部署
6.1 PXE介绍
PXE:Preboot Excution Environment,预启动执行环境,是由Intel公司研发,基于Client/Server的网
络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,可以引导
和安装Windows,linux等多种操作系统
PXE启动工作原理
#下载文件
tftp> get f1.txt
tftp> get dir/f2.txt
#退出
tftp> quit
[root@centos7 ~]#ls
anaconda-ks.cfg f1.txt f2.txt
#以下在tftp服务器执行,当用户下载文件后,可以观察到服务器端自动打开in.tftpd主程序
[root@centos8 tftpboot]#ps aux|grep in.tftp
root 1276 0.0 0.2 14912 1720 ? Ss 12:03 0:00
/usr/sbin/in.tftpd -s /var/lib/tftpboot
root 1282 0.0 0.1 12108 960 pts/0 R+ 12:04 0:00 grep --
color=auto in.tftp
以上是关于实现TFTP服务的主要内容,如果未能解决你的问题,请参考以下文章