安装tftp-hpa、tftpd-hpa和xinetd: $ sudo apt-get install tftp-hpa tftpd-hpa xinetd |
tftp-hpa是客户端,tftpd-hpa是服务程序。 第1步:修改/etc/default/tftpd-hpa配置文件。 $ sudo vim /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"
#上面是系统默认的,做如下修改
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/me/work/tftpboot" #这里是你Ubuntu虚拟机中TFTP服务器的目录
TFTP_ADDRESS="0.0.0.0:69"#ip地址和端口号 TFTP_OPTIONS="-l -c -s"#“-c”是可以上传文件的参数;“-s”是指定的TFTP服务器的目录;“-l”是在独立运行服务器(听)模式,而不是从inetd运行
|
第2步:新建或者修改/etc/xinetd.d/tftp配置文件 。 进入/etc/xinetd.d/文件夹,查看该目录下是否有一个tftp文件,如果没有就新建一个,如果有的话就查看内容是否与下面的一致,不一致则修改/etc/xinetd.d/tftp内容为: service tftp
{
disable = no #yes表示TFTP服务器是关闭的;no表示启动TFTP服务器
socket_type = dgram #socket的链接类型是dgram(UDP)
wait = yes #等待到启动完成
user = root #指定root用户启动服务进程
protocol = udp #UDP协议
server = /usr/sbin/in.tftpd #指定服务进程是/usr/sbin/in.tftpd
server_args = -s /home/me/work/tftpboot #指定传给该进程的参数
per_source = 11 #表示每一个ip地址上最多可以建立的实例数目
cps = 100 2 #表示每秒100个入站链接,如果超过限制,则等待2秒
}
|
$ sudo mkdir /home/me/work/tftpboot $ sudo chmod 777 /home/me/work/tftpboot -R 每次修改完配置文件后,都需要重新启动一下服务。执行次序如下: $ sudo service tftpd-hpa restart #重启服务器 $ sudo /etc/init.d/xinetd reload $ sudo /etc/init.d/xinetd restart #重启xinetd,tftp的一个脚本 |
a、Linux系统与window系统能相互Ping通 b、关闭Linux、Window的防火墙。运行sudo ufw disable命令关闭Linux防火墙(防火墙在系统启动时自动禁用)。 #执行命令如下:
$ netstat –a | grep tftp
#当前显示结果
$ dp 0 0 *:tftp *:* #则启动tftp服务了
|
在/home/me/work/tftpboot目录下新建一个文件: $ touch test #创建test文件
$ echo “tftp configure is ok.” > test #将“tftp configure is ok.”写到test文件中
|
$ tftp xxx.xxx.xxx.xxx #Ubuntu的ip地址,链接TFTP服务器 $ tftp> get test #下载test文件到当前目录(切换到的那个目录) $ tftp> q #退出 $ cat test #回显的内容与echo的内容一样 |
如果在当前目录下多出了一个test文件,并且test文件的内容跟/home/me/work/tftpboo目录下test文件的内容一致,则tftp可以正常使用。这样可以通过tftp命令下载Ubuntu服务器上的可执行文件或者脚本到ARM运行。
|