安装tftp服务并且put 新文件无错版
安装tftp服务并且put 新文件无错版
首先,我的linux的版本是ubuntu10.04。先安装tftpd-hpa,tftp-hpa,和xinetd三个文件,用sudo apt-get install filename命令安装即可。安装非增强版的put好像有问题 。
其次,配置tftp服务器,这个比较关键,配置不好,PUT会出Error
code 1: File not found
具体的配置如下:
打开/etc/default/tftpd-hpa文件,进行如下编辑:
#/etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure --create"
RUN_DAEMON="yes"
OPTIONS="-l
-s -c /tftpboot
"
PS:第二项是自己定义的tftp的工作目录,我定义的是根目录下的tftpboot;还有第四项,--secure选项是为了在运行时执行put操作,也可以写成-s形式;-create选项是为了执行get的写操作,也可以写成-c形式,如果不设置的话使用put 会报错哦。设置好后保存,退出即可。
第三,在根目录下建立tftp的工作目录,即mkdir
tftpboot,然后修改它的权限,chmod
777 tftpboot。
第四,重启tftp服务器,即sudo
/etc/init.d/tftpd-hpa restart 或者 sudo
service tftpd-hpa
restart
第五,测试搭建的服务器,假设自己的机器的IP是192.168.0.12,重启服务器后,在tftp工作目录下,即tftpboot下建立测试文件test.c,然后打开另一个终端,执行tftp
192.168.0.12,然后get
test.c,输入q,退出tftp.即可在当前目录下看见test.c文件了。
常见问题:
1.如以上操作均无误,但是传输失败,则检查防火墙是否关闭。
2. 使用虚拟机和主机通信时,虚拟机的网络连接要设置为桥接方式,否则虚拟机连接不到主机。
3. 如出现
tftp> get
test.c
Transfer timed out.
则说明tftp 服务器没有运行起来,重启试试,不行的话就是哪里出现了问题,卸掉重装。
4. 如出现
tftp> put
ex070416.log
Error code 1: File not
found
则说明指定的文件不存在;或tftpd启动参数中没有指定-c选项,允许上传文件。
注1:我发现光 -c 选项是不可可以的。需要设置成这样:TFTP_OPTIONS="--secure --create"
注2:发现/etc/xined.d/tftp 文件对TFTP设置没有作用。?
注3:如果出错了,多与/etc/default/tftpd-hpa 文件的设置有关,请阅读tftp的说明。
参考:
http://blog.sina.com.cn/s/blog_7e8fb215010166di.html
http://cmc.site11.com/2011/11/ubuntu-10-04-tftp-server-tftpd-hpa-how-to/
关键时刻还是google给力阿,看文章不在多贵在精。