一、安装tftp软件
安装tftp客户端、服务器端软件(其中tftp-hpa是客户端、tftpd-hpa是服务器端):
sudo apt-get install tftp-hpa tftpd-hpa xinetd
二、配置tftp服务器
1、修改配置文件/etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot " //将/tftpboot改成自己建立的tftpboot文件夹绝对路径
TFTP_ADDRESS="10.20.9.156:69" //本机地址:端口号
TFTP_OPTIONS="-l -c -s" //这里是选项
2、修改配置文件/etc/xinetd.d/tftp(若tftp文件不存在就新建一个)
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root //修改为你登录系统的用户名
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c // /tftpboot为你存放TFTP的文件目录
per_source = 11
cps = 100 2
}
3、创建用户下载的文件存放目录
$ sudo mkdir /home/xxx/Learning/tftpboot
$ sudo chmod 777 -R /home/xxx/Learning/tftpboot
三、重启tftp服务
每次修改完配置文件均需要重启
$ sudo service tftpd-hpa restart //重启服务器
$ sudo /etc/init.d/xinetd reload
$ sudo /etc/init.d/xinetd restart //重启xinetd,tftp的一个脚本
四、测试
使用TFTP服务器的前提:
a、Linux系统与window系统能相互Ping通
b、关闭Linux、Window的防火墙。运行 sudo ufw disable 命令关闭Linux防火墙(防火墙在系统启动时自动禁用)。
1、测试服务tftp是否启动
执行命令:netstat -a|grep tftp;当结果显示 : udp 0 0 *:tftp *:* 则启动tftp服务了。
2、测试tftp
在/tftpboot目录文件夹路径/home/xxx/Learning/tftpboot下新建一个文件:
$ touch test
$ echo “tftp test” > test
然后在另外一个目录下执行如下命令(192.168.1.102为本机IP地址):
$ tftp 192.168.1.102
$ tftp> get test
$ tftp> q
如果在当前目录下多出了一个test文件,并且test文件的内容跟/tftpboot目录下test文件的内容一致,则tftp可以正常使用。
参考:https://www.cnblogs.com/AP0904225/p/6589085.html