linux系统中安装TFTP服务(简单文件传输协议)

TFTP(Trivial File Transfer Protocol)

TFTP:  基于UDP协议,占用的端口号为69

TFTP:不需要客户端的权限认证(匿名用户模式??)

TFTP:传输琐碎文件(trivial)时,效率高

TFTP服务采用服务器端/客户端的方式,以下实验中PC1为服务器端,IP为192.168.10.10,PC2为客户端

1、在PC1服务器端安装TFTP的软件包

[root@PC1 ~]# yum install tftp-server.x86_64 tftp
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel7                                                    | 4.1 kB     00:00     
Resolving Dependencies
--> Running transaction check
---> Package tftp.x86_64 0:5.2-11.el7 will be installed
---> Package tftp-server.x86_64 0:5.2-11.el7 will be installed
--> Processing Dependency: xinetd for package: tftp-server-5.2-11.el7.x86_64
--> Running transaction check
---> Package xinetd.x86_64 2:2.3.15-12.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package             Arch           Version                 Repository     Size
================================================================================
Installing:
 tftp                x86_64         5.2-11.el7              rhel7          35 k
 tftp-server         x86_64         5.2-11.el7              rhel7          44 k
Installing for dependencies:
 xinetd              x86_64         2:2.3.15-12.el7         rhel7         128 k

Transaction Summary
================================================================================
Install  2 Packages (+1 Dependent package)

Total download size: 207 k
Installed size: 373 k
Is this ok [y/d/N]: y
Downloading packages:
--------------------------------------------------------------------------------
Total                                              560 kB/s | 207 kB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 2:xinetd-2.3.15-12.el7.x86_64                                1/3 
  Installing : tftp-server-5.2-11.el7.x86_64                                2/3 
  Installing : tftp-5.2-11.el7.x86_64                                       3/3 
rhel7/productid                                          | 1.6 kB     00:00     
  Verifying  : 2:xinetd-2.3.15-12.el7.x86_64                                1/3 
  Verifying  : tftp-5.2-11.el7.x86_64                                       2/3 
  Verifying  : tftp-server-5.2-11.el7.x86_64                                3/3 

Installed:
  tftp.x86_64 0:5.2-11.el7            tftp-server.x86_64 0:5.2-11.el7           

Dependency Installed:
  xinetd.x86_64 2:2.3.15-12.el7                                                 

Complete!

 

2、在PC1服务器端开启tftp服务(tftp服务是使用xinetd服务程序来管理的)

[root@PC1 ~]# vim /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no    ## 此处改为no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

 

3、在PC1服务器端重启xinetd服务

[root@PC1 ~]# systemctl restart xinetd.service 
[root@PC1 ~]# systemctl enable xinetd

 

4、在PC1服务器端将69端口加入防火墙允许策略中

[root@PC1 ~]# firewall-cmd --permanent --add-port=69/udp
success
[root@PC1 ~]# firewall-cmd --reload
success

 

5、PC2客户机中安装tftp

[root@PC2 test]# yum install tftp-server.x86_64 tftp
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package tftp.x86_64 0:5.2-11.el7 will be installed
---> Package tftp-server.x86_64 0:5.2-11.el7 will be installed
--> Processing Dependency: xinetd for package: tftp-server-5.2-11.el7.x86_64
--> Running transaction check
---> Package xinetd.x86_64 2:2.3.15-12.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package             Arch           Version                 Repository     Size
================================================================================
Installing:
 tftp                x86_64         5.2-11.el7              rhel7          35 k
 tftp-server         x86_64         5.2-11.el7              rhel7          44 k
Installing for dependencies:
 xinetd              x86_64         2:2.3.15-12.el7         rhel7         128 k

Transaction Summary
================================================================================
Install  2 Packages (+1 Dependent package)

Total download size: 207 k
Installed size: 373 k
Is this ok [y/d/N]: y
Downloading packages:
--------------------------------------------------------------------------------
Total                                              1.4 MB/s | 207 kB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 2:xinetd-2.3.15-12.el7.x86_64                                1/3 
  Installing : tftp-server-5.2-11.el7.x86_64                                2/3 
  Installing : tftp-5.2-11.el7.x86_64                                       3/3 
  Verifying  : 2:xinetd-2.3.15-12.el7.x86_64                                1/3 
  Verifying  : tftp-5.2-11.el7.x86_64                                       2/3 
  Verifying  : tftp-server-5.2-11.el7.x86_64                                3/3 

Installed:
  tftp.x86_64 0:5.2-11.el7            tftp-server.x86_64 0:5.2-11.el7           

Dependency Installed:
  xinetd.x86_64 2:2.3.15-12.el7                                                 

Complete!

 

 

6、 在PC2客户机中清空防火墙策略并保存

[root@PC2 test]# iptables -F
[root@PC2 test]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

 

7、tftp服务远程登录的默认路径为/var/bin/tftpboot, 在PC1服务器端创建测试数据

[root@PC1 tftpboot]# pwd
/var/lib/tftpboot
[root@PC1 tftpboot]# ls
[root@PC1 tftpboot]# echo "i am pc1.file" > pc1.file
[root@PC1 tftpboot]# ls
pc1.file

 

8、在PC2服务端创建测试数据,并测试传输

[root@PC2 test]# pwd
/home/test
[root@PC2 test]# echo "i am pc2" > pc2.file
[root@PC2 test]# ls
pc2.file
[root@PC2 test]# pwd
/home/test
[root@PC2 test]# echo "i am pc2" > pc2.file
[root@PC2 test]# ls
pc2.file
[root@PC2 test]# tftp 192.168.10.10
tftp> get pc1.file  ## 测试传输至本地
tftp> quit
[root@PC2 test]# ls
pc1.file  pc2.file
[root@PC2 test]# cat pc1.file 
i am pc1.file
[root@PC2 test]# ls
pc1.file  pc2.file
[root@PC2 test]# tftp 192.168.10.10
tftp> put pc2.file
Error code 1: File not found    ## 上传报错 
tftp> 

 

9、在PC1服务器端修改配置文件

[root@PC1 tftpboot]# vim /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot -c
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

 

10、在PC1服务器端重启xinetd服务

[root@PC1 tftpboot]# systemctl restart xinetd.service 

 

11、 在PC2客户端继续测试上传

[root@PC2 test]# ls
pc1.file  pc2.file
[root@PC2 test]# pwd
/home/test
[root@PC2 test]# tftp 192.168.10.10
tftp> put pc2.file 
Error code 0: Permission denied   ## 上传继续报错,这次显示权限问题
tftp> 

 

12、在PC1服务器端修改路径权限

[root@PC1 lib]# ll -d /var/lib/tftpboot/
drwxr-xr-x. 2 root root 21 Dec 15 00:38 /var/lib/tftpboot/
[root@PC1 lib]# chmod -R 777 /var/lib/tftpboot/
[root@PC1 lib]# ll -d /var/lib/tftpboot/
drwxrwxrwx. 2 root root 21 Dec 15 00:38 /var/lib/tftpboot/

 

13、在PC2客户端继续测试上传

[root@PC2 test]# ls
pc1.file  pc2.file
[root@PC2 test]# tftp 192.168.10.10
tftp> put pc2.file 
tftp> 
[root@PC1 tftpboot]# ls
pc1.file  pc2.file
[root@PC1 tftpboot]# cat pc2.file 
i am pc2
[root@PC1 tftpboot]# pwd
/var/lib/tftpboot

终于实现上传。

posted @ 2020-12-15 00:49  小鲨鱼2018  阅读(755)  评论(0编辑  收藏  举报