安装 TFTP 服务
sudo apt-get install xinetd
sudo apt-get install tftp-hpa
sudo apt-get install tftpd-hpa
修改 TFTP 设置参数
sudo gedit /etc/default/tftpd-hpa
# 修改内容如下
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/opt/tftpdroot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -c"
TFTP_DIRECTORY:
TFTP 服务目录,可自由指定,需要注意的是此目录的权限,最好设置为 rwx
TFTP_OPTIONS:
"-c" 选项为在 TFTP 目录下可写入,若不设置此项,在 put 命令时将提示错误
注意: 两个参数之间必须加空格,否则会造成如下错误
Error code 2: Only absolute filenames allowed
当出现 transmit timed out 时,可添加或修改配置文件 /etc/xinetd.d/tftp
service tftp { socket_type =dgram protocol =udp wait =yes user =root server =/usr/sbin/in.tftpd server_args =-s /home/tftp -c disable =no per_source =11 cps =100 2 flags =IPv4 }
TFTP 服务操作指令
# 启动 TFTP 服务
sudo /etc/init.d/tftpd-hpa start
# 停止 TFTP 服务
sudo /etc/init.d/tftpd-hpa stop
# 重新启动 TFTP 服务
sudo /etc/init.d/tftpd-hpa restart
测试
在 TFTPROOT 目录创建 test0 文件, 在当前目录创建 test1 文件
# 连接 TFTP 服务器 (本机)
tftp localhost
# 从 TFTP 服务目录中获取 test0 文件到当前目录
tftp>get test0
# 将当前目录中的 test1 文件发送至 TFTP 服务目录
tftp>put test1
# 退出
tftp>q
测试成功后可在当前目录及 TFTP 指定目录中找到 test0, test1 两个文件