如何安装配置tftp服务?
- By : Will
- Category : FTP & SFTP & FTPS, RHEL-Like
FTP & SFTP & FTPS
1 前言
一个问题,一篇文章,一出故事。
笔者公司需要一个tfpt服务用于传输日志文件,于是整理此文。
对于TFTP,我们简单的介绍如下,
– TFTP是一种简单文件传输协议
– TFTP支持用户使用UDP协议传输数据
– TFTP广泛地应用于无盘设备引导的工作场景
2 最佳实践
2.1 环境信息
tftp Server,
Host Name = tftp.cmdschool.org
IP Address = 10.168.0.155
OS = RHEL 7.8 x86_64
tftp Client,
Host Name = any.cmdschool.org
IP Address = any
OS = RHEL 7.8 x86_64
2.2 配置服务器端
2.2.1 安装服务器端软件包
yum install -y tftp-server
2.2.2 启动服务
systemctl start tftp.service systemctl enable tftp.service
服务启动后,可使用如下命令确认服务启动,
pgrep -u root sftp-server -a
可见如下服务进程,
21167 /usr/libexec/openssh/sftp-server 21420 /usr/libexec/openssh/sftp-server
2.2.3 修改服务控制脚本
cp /usr/lib/systemd/system/tftp.service /usr/lib/systemd/system/tftp.service.default vim /usr/lib/systemd/system/tftp.service
配置修改如下,
[Unit] Description=Tftp Server Requires=tftp.socket Documentation=man:in.tftpd [Service] ExecStart=/usr/sbin/in.tftpd -c -p -s /var/lib/tftpboot StandardInput=socket [Install] Also=tftp.socket
tftp守护进程“/usr/sbin/in.tftpd”的参数,
– 参数“-c”声明允许客户端新建文件(默认只允许覆盖已经存在的文件)
– 参数“-p”声明不对指定用户执行超出系统正常访问控制权限的检查
– 参数“-s”声明服务启动时的根目录
根据参数的需求,你需要使用如下命令授予相应的目录权限,
chmod 777 /var/lib/tftpboot
配置修改后,你需要使用如下命令重载服务使配置生效,
systemctl daemon-reload
然后,你需要重启服务使配置生效,
systemctl restart tftp.service
2.2.4 开方服务端口
firewall-cmd --permanent --add-service=tftp firewall-cmd --reload firewall-cmd --list-all
2.3 使用客户端测试服务
2.3.1 安装服务器端
yum install -y tftp
2.3.2 获取命令行帮助
man tftp
2.3.3 查询可用的操作命令
tftp 10.168.0.155
命令向导如下,
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
2.3.4 测试文件上传
cd /etc tftp 10.168.0.155
命令向导如下,
tftp> verbose Verbose mode on. tftp> put messages putting messages to 10.168.0.155:messages [netascii] Sent 208008 bytes in 0.1 seconds [26409132 bit/s] tftp> tftp> quit
没有评论