您现在的位置是:首页 >技术教程 >tftp+Filezilla文件双向传输(1)-centos(VMware)-win10(host)网站首页技术教程

tftp+Filezilla文件双向传输(1)-centos(VMware)-win10(host)

多云的夏天 2023-06-04 12:00:02
简介tftp+Filezilla文件双向传输(1)-centos(VMware)-win10(host)

目录

1.下载安装vsftpd+tftp+tftp-server

2.配置服务 

2.1  配置服务  修改文件 /etc/vsftpd.conf 

2.2  配置服务 守护进程 /etc/xinetd.d/tftp 

2.3 配置服务 tftp服务器 

2.4 配置登录用户

 2.4.1 修改selinux

2.4.2 匿名用户登录

2.4.3 新建账户,不能登陆系统,只能登陆ftp

2.4.4修改配置文件

​2.4.5 修改完配置文件重启ftp服务

2.4.6验证匿名登陆状况

 2.4.7 测试用户登录状况

3.本地验证


TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。

ftpd-hpa是tftp服务器

tftp-hpa是tftp客服端

inetd的全称是extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器,提供类似于inetd+tcp_wrapper的功能。

与ubuntu 的区别:
1.centos 上 需要添加防火墙放行。
2.配置文件:

          

centos

ubuntu

vsftpd配置:

配置:
/etc/vsftpd.conf

xinetd守护进程

配置:/etc/xinetd.d/tftp

配置:
/etc/xinetd.d/tftp

tftp客户端 程序安装在/bin目录下。
tftp服务器端

目录:
/usr/lib/systemd/system

文件:
tftp.service

tftp.socket

配置:

/etc/default/tftpd-hpa

/sbin/usr/sbin目录下均多了一个服务端程序文件in.tftpd。这两个文件的MD5值是一样的。

用户权限(匿名

+指定用户)

防火墙设置

      centos 上 安装完后,在/sbin/usr/sbin目录下均多了一个服务端程序文件in.tftpd
    

# which in.tftpd
/sbin/in.tftpd
# ls /usr/sbin | grep tftp
in.tftpd

  

1.下载安装vsftpd+tftp+tftp-server

 
下载:

FileZilla - The free FTP solution

 

#1.下载安装服务 vsftpd
yum install -y vsftpd
# 配置服务  vsftpd   /etc/vsftpd.conf
 
local_enable=YES
write_enable=YES
 
#重启+查看
systemctl restart vsftpd.service
ps -ef|grep vsftpd

#开放端口

firewall-cmd --zone=public --add-port=21/tcp --permanent #开放21端口
firewall-cmd --reload                                    #重新加载防火墙配置
firewall-cmd --zone=public --list-ports                  #查看防火墙端口开放状况

 
#2. 下载安装 客户端tftp,服务器端tftpd-server, 守护进程xinetd
yum install tftp tftpd-server
yum install xinetd
 

# 3.配置  客户端+服务器端参数  /sbin  /usr/sbin  多了一个服务端程序文件in.tftpd
    在 /usr/lib/systemd/system 多了2个文件 tftp.service tftp.socket




# 4.配置 开启 客户端+服务器端  tftp    /etc/xinetd.d/tftp
# 在linux下,不管使用的是哪一种super-server,inetd或者xinetd,默认情况下TFTP服务是禁用的,所以要修改文件来开启服务。
 
service tftp
{
        socket_type    = dgram
        protocol       = udp
        wait           = yes
        user           = root
        server         = /usr/sbin/in.tftpd
        server_args    = -s /home/test/tftpboot
        disable        = no
        per_source     = 11
        cps            = 100 2
        flags          = IPv4
}
# tftp的目录文件
   server_args    = -s /home/test/tftpboot
 
#3.

 
#重启tftpd服务
 
Systemctl start tftp
/etc/init.d/vsftpd restart


2.配置服务
 

2.1  配置服务  修改文件 /etc/vsftpd.conf
 

## 以下两行如果注释的话,打开注释
local_enable=YES
write_enable=YES

2.2  配置服务 守护进程 /etc/xinetd.d/tftp
 

service tftp  
{  
    socket_type     = dgram                        #socket的链接类型是dgram(UDP)
    protocol        = udp                          #UDP协议
    wait            = yes                          #等待到启动完成
    user            = root                         #指定root用户启动服务进程
    server          = /usr/sbin/in.tftpd           #指定服务进程是/usr/sbin/in.tftpd
    server_args     = -s /home/tang/tftp -c        #指定传给该进程的参数
    disable         = no                           #no表示启动TFTP服务器
    per_source      = 11                           #表示每一个ip地址上最多可以建立的实例数目
    cps             = 100 2                        #每秒100个入站链接,超过限制,等待2秒
    flags           = IPv4                         #允许IPV4连接
}

2.3 配置服务 tftp服务器 

 

使用yum安装完tftp服务端程序后,在/usr/lib/systemd/system目录下多了两个文件,tftp.servicetftp.socket,他们是tftp服务端的配置文件

# pwd
/usr/lib/systemd/system

# cat tftp.service 
[Unit]
Description=Tftp Server
Requires=tftp.socket
Documentation=man:in.tftpd

[Service]
ExecStart=/usr/sbin/in.tftpd -c -p -s /var/lib/tftpboot
StandardInput=socket

[Install]
Also=tftp.socket

# cat tftp.socket 
[Unit]
Description=Tftp Server Activation Socket

[Socket]
ListenDatagram=69

[Install]
WantedBy=sockets.target

2.4 配置登录用户
 

 2.4.1 修改selinux

默认情况下,CentOS 的FTP 是不允许实体账号登录取得用户主目录数据的,这是因为 SELinux 的问题。

getsebool -a | grep ftp #查看有关selinux的策略

setsebool -P tftphome_dir=1 #修改规则

 

2.4.2匿名用户登录
 

 用ftp客户端匿名链接测试:

设置:"主动"
输入:anonymous
成功后 :显示pub这个文件夹。

 

2.4.3新建账户,不能登陆系统,只能登陆ftp

useradd tangftp -s /sbin/nologin
passwd  tangftp

#创建一个目录 /home/ftp
#增加用户rootftp,并设置密码
useradd -d /home/ftp rootftp 
passwd rootftp

2.4.4修改配置文件
 

/etc/vsftpd/vsftpd.conf

anonymous_enable=YES 改为NO 



2.4.5 修改完配置文件重启ftp服务

systemctl restart vsftpd.service #重启服务
ps -ef | grep vsftpd #查看进程

2.4.6验证匿名登陆状况

 
2.4.7 测试用户登录状况

 


3.本地验证
 

本地测试:
在/tftpboot目录创建一个 ser.txt 文件,供客户端下载;
在/home/samba/(或其他任意目录都行) 创建cli.txt,用于上传到tftp服务器 ;
在/home/samba/执行tftp客户端,下载 ser.txt,上传cli.txt


touch /home/tang/tftpboot/ser.txt
touch /home/tang/cli.txt
tftp 127.0.0.1
tftp> get ser.txt
tftp> put cli.txt
tftp> q










 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。