TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP承载在UDP上,提供不可靠的数据流传输服务,不提供存取授权与认证机制,使用超时重传方式来保证数据的到达。

一、在谈TFTP之前,先简单讲一下Linux网络配置,网络中最重要的当然是IP地址了,这里不讲IP协议,在后面的网络编程再讲解,这里主要学习一下Linux下配置IP,配置IP地址的方法有两种:

1、配置静态IP:在主机进入网络之前,事先未主机设置固定的IP地址;

2、配置动态IP:选择DHCP网络服务,在主机进行网络之后,动态的随机获取IP地址;

当然,大家都知道ifconfig这个命令:

[cpp] view plaincopy
  1. fs@ubuntu:~/qiang/tftp$ ifconfig
  2. eth0      Link encap:Ethernet  HWaddr 00:0c:29:6c:c2:ec
  3. inet addr:172.16.58.130  Bcast:172.16.58.255  Mask:255.255.255.0
  4. inet6 addr: fe80::20c:29ff:fe6c:c2ec/64 Scope:Link
  5. UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  6. RX packets:337 errors:0 dropped:0 overruns:0 frame:0
  7. TX packets:358 errors:0 dropped:0 overruns:0 carrier:0
  8. collisions:0 txqueuelen:1000
  9. RX bytes:123712 (123.7 KB)  TX bytes:42430 (42.4 KB)
  10. Interrupt:19 Base address:0x2024
  11. lo        Link encap:Local Loopback
  12. inet addr:127.0.0.1  Mask:255.0.0.0
  13. inet6 addr: ::1/128 Scope:Host
  14. UP LOOPBACK RUNNING  MTU:16436  Metric:1
  15. RX packets:149 errors:0 dropped:0 overruns:0 frame:0
  16. TX packets:149 errors:0 dropped:0 overruns:0 carrier:0
  17. collisions:0 txqueuelen:0
  18. RX bytes:10307 (10.3 KB)  TX bytes:10307 (10.3 KB)
  19. fs@ubuntu:~/qiang/tftp$

如果ifconfig命令不带任何参数时,用于显示当前主机中状态为“活动”的网络接口信息;

当然,ifconfig命令可以修改IP地址:

[cpp] view plaincopy
  1. fs@ubuntu:~/qiang/tftp$ sudo ifconfig  eth0 192.168.3.51

但是这是动态的修改IP地址,重启以后,IP地址又变回原来的静态IP地址;

修改IP地址除了可以在图形界面中修改,也可以在配置文件中修改,这才是Linux的特性!无论是配置静态IP还是动态IP,计算机系统将IP信息保存在什么地方呢?
答案是配置文件 "/etc/network/interfaces".在UBuntu Linux 启动时就能获得IP地址的配置信息。若是配置静态IP。就从配置文件中读取IP地址参数,直接配置网络接口设备;若是配置动态IP,就通知主机通过DHCP协议获取网络配置。

以下分别为配置静态IP和动态IP时,配置文件"/etc/network/interfaces"的实例:

动态IP

[cpp] view plaincopy
  1. fs@ubuntu:~/qiang/tftp$ cat /etc/network/interfaces
  2. auto lo
  3. iface lo inet loopback
  4. auto eth0
  5. fs@ubuntu:~/qiang/tftp$

静态IP

[cpp] view plaincopy
  1. fs@ubuntu:~/qiang/tftp$ cat /etc/network/interfaces
  2. auto lo
  3. iface lo inet loopback
  4. auto eth0
  5. iface eth0 inet static
  6. address 192.168.3.51
  7. netmask 255.255.0.0
  8. gateway 192.168.1.1
  9. fs@ubuntu:~/qiang/tftp$

重启下系统,用ifconfig命令查看IP地址

[cpp] view plaincopy
  1. fs@ubuntu:~$ ifconfig
  2. eth0      Link encap:Ethernet  HWaddr 00:0c:29:6c:c2:ec
  3. inet addr:192.168.3.51  Bcast:192.168.255.255  Mask:255.255.0.0

明显看到IP地址依然是我们静态修改过的IP地址。

注意:

1、若不能访问外网: ping 不通114.114.114.114

解决方法: sudo route add default gw 192.168.1.1

2、若不能访问域名: ping 不通baidu.com

解决方法: 

1)--  sudo vi /etc/resolv.conf

2) -- 添加 nameserver 114.114.114.114

当然Linux网路配置还包括Route 、DNS等,这里先不详细介绍,下面进入我们的

二、TFTP环境的搭建:

我的Linux版本是Ubuntu,下面是配置过程:

1、配置服务器端

[cpp] view plaincopy
  1. fs@ubuntu:~$ sudo apt-get install tftp-hpa thtpd-hpa

这里是因为我们再同一台机器上操作的,在实际使用中,一般是

Client  :PC   安装tftp-hpa

Server :ARM 安装tftpd-hpa

后面的 tftp <IP> 此处的IP地址应该是ARM的IP地址。

2、修改配置文件

在/etc/default下修改tftp服务的配置文件tftpd-hpa:

[cpp] view plaincopy
  1. fs@ubuntu:~$ sudo vi /etc/default/tftpd-hpa
  2. fs@ubuntu:~$ cat /etc/default/tftpd-hpa
  3. # /etc/default/tftpd-hpa
  4. TFTP_USERNAME="tftp"
  5. TFTP_DIRECTORY="/home/fs/qiang/tftpd"
  6. TFTP_ADDRESS="0.0.0.0:69"
  7. TFTP_OPTIONS="-l-c-s"
  8. fs@ubuntu:~$

说明:修改项,其中TFTP_DIRECTORY处可以改为你的tftp-server的根目录,博主这里是/home/fs/qiang/tftpd,当然可以改成其他地址,参数 -c 指定了可以创建文件,参数 -s是指定tftpd-hpa服务目录,上面已经指定;

创建文件夹/home/fs/qiang/tftpd,修改权限,这里我直接 chmod 777.

3、手动启动、停止服务

[cpp] view plaincopy
  1. fs@ubuntu:~$ sudo service tftpd-hpa stop
  2. tftpd-hpa stop/waiting
  3. fs@ubuntu:~$ sudo service tftpd-hpa start
  4. tftpd-hpa start/running, process 3041
  5. fs@ubuntu:~$ sudo service tftpd-hpa status
  6. tftpd-hpa start/running, process 3041
  7. fs@ubuntu:~$ sudo service tftpd-hpa restart
  8. tftpd-hpa stop/waiting
  9. tftpd-hpa start/running, process 3055
  10. fs@ubuntu:~$

4、tftp服务器测试

a、登陆服务器

[cpp] view plaincopy
  1. fs@ubuntu:~/qiang/1$ tftp localhost

[cpp] view plaincopy
  1. fs@ubuntu:~/qiang/1$ tftp <主机IP>

b、从tftp服务器下载文件

[cpp] view plaincopy
  1. fs@ubuntu:~/qiang/1$ tftp localhost
  2. tftp> get qiang
  3. tftp>

c、上传文件到tftp服务器

[cpp] view plaincopy
  1. fs@ubuntu:~/qiang/1$ tftp localhost
  2. tftp> get qiang
  3. tftp> put qiang
  4. tftp>

d、查看帮助

[cpp] view plaincopy
  1. fs@ubuntu:~/qiang/1$ tftp localhost
  2. tftp> get qiang
  3. tftp> put qiang
  4. tftp> ?
  5. tftp-hpa 5.2
  6. Commands may be abbreviated.  Commands are:
  7. connect     connect to remote tftp
  8. mode        set file transfer mode
  9. put         send file
  10. get         receive file
  11. quit        exit tftp
  12. verbose     toggle verbose mode
  13. trace       toggle packet tracing
  14. literal     toggle literal mode, ignore ':' in file name
  15. status      show current status
  16. binary      set mode to octet
  17. ascii       set mode to netascii
  18. rexmt       set per-packet transmission timeout
  19. timeout     set total retransmission timeout
  20. ?           print help information
  21. help        print help information
  22. tftp>

e、退出登陆

[cpp] view plaincopy
  1. tftp> q

这里将大家容易出现的错误以及解决方法介绍给大家:

出现的一些问题及原因(解决方法):

1、Transfer time out.

tftpd服务没有启动

2、Error code 0:Permission denied

可能是由SELinux造成的,在FC3和FC3以后的FC版本中SELinux默认的都是开启的,现在要关掉它。

修改文件/etc/sysconfig/selinux,设定SELINUX=disabled,然后重启电脑即可

或者  执行命令system-config-securitylevel打开“安全级别配置”对话框,将SELinux(S)选项中“强制”改为“允许”

3、Error code 1:File not found

指定的文件夹不存在;或tftpd启动参数中没有指定-c选项,允许上传文件

4、Error code 2:Only absolute filenames allowed

TFTP_OPTIONS="-l -c -s",中的选项注意一下,是否没 -c

5、Error code 2:Access violation

上传的文件要有相应的可读写(覆盖)的权限才能上传,要对文件的权限进行修改  chmod 777 a(文件名)

Linux下静态IP地址的设置及TFTP服务的搭建相关推荐

  1. VM虚拟机下Linux系统配置静态IP地址

    1.虚拟机的网络模式 1.1 桥接模式 桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信.类似于把物理主机虚拟为一个交换机,相互可以访问而不干扰.在桥接模式下,虚拟机ip地址需要与主机在同 ...

  2. 虚拟机下linux的静态ip地址配置

    环境配置: 我个人用的是 软件:VMware® Workstation 15 Pro 系统:Centos 7 1810版本 虚拟机的网络模式 1.1 桥接模式 桥接模式就是将主机网卡与虚拟机虚拟的网卡 ...

  3. xstatic图形连接linux,RHCE认证考试模拟题深入讲解:linux配置静态IP地址为:192.168.0.X!...

    原标题:RHCE认证考试模拟题深入讲解:linux配置静态IP地址为:192.168.0.X! RHCE认证考试模拟题深入讲解:linux配置静态IP地址为:192.168.0.X! 本经验由宗龙龙原 ...

  4. Linux中修改ip地址,并且设置静态的ip

    Linux学习视频来自韩顺平老师 修改ip地址,并且设置为静态的ip Linux系统中输入 cd /etc/sysconfig/network-scripts,之后输入ls可以看到一个文件,每个环境下 ...

  5. linux 命令设置ip,linux下配置ip地址四种方法(图文方法)

    (1)Ifconfig命令 第一种使用ifconfig命令配置网卡的ip地址.此命令通常用来零时的测试用,计算机启动后 ip地址的配置将自动失效.具体用法如下.Ipconfig ethx ipadd ...

  6. 【linux】linux系统配置静态IP地址(超详细,手把手教会)

    目录 1  引 言 2  科 普 3  详细教程 3.1 步骤说明 3.2 demo案例 3.3 操作步骤 4  参考文献 1  引 言 在使用Linux系统的过程中,你是否有遇到过需要配置固定IP的 ...

  7. Linux下配置ip地址

    在linux中配置ip地址的方法有五种: 1.图形界面配置. 2.ifconfig命令临时配置(关机后失效). 3.nmcli命令永久生成. 4.修改配置文件. 5.dhcp动态获取. 图形界面 使用 ...

  8. linux下配置ip地址的方法

    (1)Ifconfig命令 第一种使用ifconfig命令配置网卡的ip地址.此命令通常用来零时的测试用,计算机启动后 ip地址的配置将自动失效.具体用法如下.Ipconfig  ethx   ipa ...

  9. Linux服务器配置静态IP地址方法

    Linux服务器设置静态IP地址方法 动态获取ip地址使用起来的确很方便,但是如果是提供服务的机器,如果ip地址总是变化的化,会影响使用,这个时候就需要给服务器设置静态ip地址了 以操作系统版本为ce ...

最新文章

  1. js 跨页面的全局变量
  2. springmvc中的类型转换器
  3. url在python_Python中url标签使用详解
  4. mysql 5.6.38 数据库编译安装
  5. 最新SSM完整模板(Spring+SpringMVC+MybatisPlus)
  6. GBDT、随机森林、xgboost算法原理解析视频公开
  7. 可视化技巧:DataFrame画图并利用matplotlib保存(pandas)
  8. Hyperledger Fabric on SAP Cloud Platform
  9. 遥感数字图像处理学习 一、概念及组成
  10. 如何用计算机算幂函数,怎样用计算器算幂指数
  11. 扫描仪显示计算机繁忙或故障,为什么我的兄弟打印机每次扫描图像文件总是显示连接计算机,但是电脑就没有弹出那个框让我选择?请求高手...
  12. 信用卡3D验证相关资料
  13. 绿色制造工厂对企业的好处
  14. 价格歧视:降价促销的底层逻辑
  15. python3_面向对象
  16. [《关于外婆家的一些记忆》闲笔记事集]2012年1月22日
  17. Vue+bpmn.js自定义流程图之palette(二)
  18. 润迈德医疗开启招股:未有基石投资者参与,亏损金额翻倍增长
  19. 终于明白带宽和频率的关系
  20. Hcash:见证量子计算和后量子密码的“矛盾较量”

热门文章

  1. 采购订单单价金额屏蔽
  2. node.js 和 HTML5-Canvas 结合实现截图上传交互
  3. HDU-2159 FATE 二维背包
  4. spoolsv.exe占cpu 99%的解决方法(转)
  5. tidb数据库_异构数据库复制到TiDB
  6. 深度学习数据更换背景_开始学习数据科学的最佳方法是了解其背景
  7. 552. 学生出勤记录 II
  8. tensorflow入门_TensorFlow法律和统计入门
  9. 测试无服务器应用程序的最佳方法
  10. 使用React,Redux和Router进行真正的集成测试