首页 > 其他分享 >frp反向代理,ftp文件传输

frp反向代理,ftp文件传输

时间:2024-07-20 10:53:56浏览次数:11  
标签:ftp -- 文件传输 vsftpd frp tds tdr root

一、frp

1.概述:

frp是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持tcp、udp、http、https等协议,frp官网:https://github.com/fatedier/frp

2.frp工作原理:

服务端运行,监听一个主端口,等待客户端的连接;
客户端连接到服务端的主端口,同时告诉服务端要监听的端口的转发类型;
服务端fork新的进程监听客户端指定的端口;
外网用户链接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
客户端进程再将数据转发到本地服务,从⽽实现内⽹对外暴露服务的能⼒。

3.安装配置

tdr    内⽹主机    不可以被⽹络访问    
tds    外⽹主机    可以被外⽹通过ip或者域名访问
使⽤tds代理tdr主机,通过访问tds主机管理tdr主机
访问tds主机的特定端⼝,管理tdr主机的22端⼝
现在我们说tds为服务端,提供代理服务
tdr主机是客户端,被代理了

[root@tdr ~]# wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz                           //已经给好的tar包
[root@tdr ~]# tar -zxvf frp_0.33.0_linux_amd64.tar.gz                //解压
[root@tdr ~]# cd frp/
[root@tdr frp]# ls
frpc  frpc_full.ini  frpc.ini  frps  frps_full.ini  frps.ini  LICENSE  systemd
[root@tdr frp]# cd
打开另一台主机(tds),创建/frp
[root@tds ~]# mkdir /frp
回到本机(tdr)
[root@tdr ~]# scp -r frp/* [email protected]:/frp
去另一台主机(tds)做服务端,提供代理服务
[root@tds ~]# vim /frp/frps.ini                     //注意文件名称
[common]                                         //服务名称
bind_port = 7000                                //服务端口

dashboard_user=aaa                      //控制台面板账号
dashboard_pwd=aaa                         //控制台密码
dashboard_port=7500                     //控制台端口
token=xxxxxxxx                             //代理标识

这会防火墙必须打开
[root@tds frp]# firewall-cmd --zone=public --add-port=7000/tcp --permanent  //打开控制台⾯板端⼝
success             
[root@tds frp]# firewall-cmd --zone=public --add-port=7500/tcp --permanent   //打开frp服务端⼝
success
[root@tds frp]# firewall-cmd --zone=public --add-port=6000-6100/tcp --permanent    //打开⼀组客户端⼝
success
[root@tds frp]# firewall-cmd --reload          //加载防火墙更新
success
[root@tds frp]# ./frps -c frps.ini                           //注意文件名,这是server机
浏览器访问192.168.1.125:7500

回到本机访问(tdr)
[root@tdr frp]# vim frpc.ini 
[common]                                   //服务器名称
server_addr = 192.168.1.125                        //服务器ip
server_port = 7000                                 //服务器端口

[fff]                             // 被代理的主机名称,不允许和其他重复
type = tcp                                //代理服务类型
local_ip = 127.0.0.1                  // #本地ip
local_port = 22                         //本机被代理的端口
remote_port = 6100                         //选择代理后的端⼝
 如果希望后台运⾏,添加nohub和&
[root@tdr frp]# ./frpc -c frpc.ini                  //注意文件名,这是client机

刷新

二、ftp

1.ftp服务概述:

FTP(File Transfer Protocol)是⼀种应⽤⾮常⼴泛并且古⽼的⼀个互联⽹⽂件传输协议。
主要⽤于互联⽹中==⽂件的双向传输==(上传/下载)、⽂件共享
跨平台   Linux、Windows
FTP是==C/S==架构,拥有⼀个客户端和服务端,使⽤==TCP协议==作为底层传输协议,
提供可靠的数据传输
FTP的默认端⼝ ==21号==(命令端⼝)    ==20号==(数据端⼝,主动模式下) 默认被
动模式下
FTP程序(软件)==vsftpd==

2、FTP服务的客户端⼯具 

Linux:ftp、lftp(客户端程序)
Windows:FlashFXP(虚拟主机)、FileZilla、IE、Chrome、Firefox
lftp和ftp⼯具区别:
lftp:默认是以==匿名⽤户==访问
ftp:默认是以==⽤户名/密码==⽅式访问
lftp可以批量并且下载⽬录

3、FTP的两种运⾏模式 

在FTP服务中,其⼀共拥有两种模式(主动模式 + 被动模式)

4、搭建FTP服务

[root@tdr ~]# yum -y install vsftpd
[root@tdr ~]# systemctl restart vsftpd
[root@tdr ~]# systemctl enabled vsftpd
[root@tdr ~]# firewall-cmd --set-default-zone=trusted   //修改默认区域
[root@tdr ~]# firewall-cmd --get-default-zone     //查看默认区域

5.FTP的配置⽂件详解

[root@tdr ~]# rpm -ql vsftpd 
 /usr/lib/systemd/system/vsftpd.service     //启动脚本
/etc/vsftpd              // 配置⽂件的⽬录
/etc/vsftpd/ftpusers           // ⽤户列表⽂件,⿊名单
/etc/vsftpd/user_list           //⽤户列表⽂件,可⿊可⽩(默认是⿊名单)
/etc/vsftpd/vsftpd.conf         //配置⽂件(主配置⽂件)
 /usr/sbin/vsftpd            //程序本身(⼆进制的命令)
/var/ftp                //匿名⽤户的默认数据根⽬录
/var/ftp/pub              //匿名⽤户的扩展数据⽬录

vsftpd配置⽂件详解:
[root@tdr ~]# grep -v ^# /etc/vsftpd/vsftpd.conf 
anonymous_enable=YES       // ⽀持匿名⽤户访问  
local_enable=YES        //⽀持⾮匿名⽤户,普通账号登录,默认进⼊到⾃⼰家⽬录
write_enable=YES        //写总开关
local_umask=022         //反掩码  file:644  rw- r-- r-- dir:755
dirmessage_enable=YES     //启⽤消息功能
xferlog_enable=YES        //开启或启⽤xferlog⽇志
connect_from_port_20=YES    //⽀持主动模式(默认被动模式)
xferlog_std_format=YES      //xferlog⽇志格式
listen=YES              //ftp服务独⽴模式下的监听
pam_service_name=vsftpd     //指定认证⽂件
userlist_enable=YES       //启⽤⽤户列表
tcp_wrappers=YES        //⽀持tcp_wrappers功能(FTP限速操作)

6.操作


去客户机(tds)
[root@tds ~]# yum -y install lftp
[root@tds ~]# yum -y install ftp
[root@tds ~]# lftp 192.168.1.100
lftp 192.168.1.100:~> ls
drwxr-xr-x    2 0        0               6 Jun 09  2021 pub
[root@tds ~]# ftp 192.168.1.100
Connected to 192.168.1.100 (192.168.1.100).
220 (vsFTPd 3.0.2)
Name (192.168.1.100:root): ftp
331 Please specify the password.
Password:                                               //不用输密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,1,100,63,43).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0               6 Jun 09  2021 pub
226 Directory send OK.

回到server(tdr)机
[root@tdr ~]# useradd kehu                  //创建客服账号
[root@tdr ~]# echo 1|passwd --stdin kehu
[root@tdr ~]# vim /etc/vsftpd/vsftpd.conf                         //修改配置文件
12    anonymous_enable=NO                          //YES改为NO,不用许匿名用户访问
[root@tdr ~]# systemctl restart vsftpd                //重启服务
去客户机(tds)
[root@tds ~]# ftp 192.168.1.100
Connected to 192.168.1.100 (192.168.1.100).
220 (vsFTPd 3.0.2)
Name (192.168.1.100:root): kehu
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

回到server(tdr)
[root@tdr ~]# vim /etc/vsftpd/vsftpd.conf 
local_root=/data/kehu                                       //有就改,没有就写,指定账号访问的目录
[root@tdr ~]# mkdir /data/kehu -p
[root@tdr ~]# tree /data
/data
└── kehu
[root@tdr ~]# vim /etc/vsftpd/vsftpd.conf 
101  chroot_local_user=YES               // 去掉注释,禁锢kefu⽤户只能在/data/kefu⽬录下
[root@tdr ~]# systemctl restart vsftpd
[root@tdr ~]# cd /data/kehu/
[root@tdr kehu]# dd if=/dev/zero of=./syg.txt bs=3M count=1
记录了1+0 的读入
记录了1+0 的写出
3145728字节(3.1 MB)已复制,0.0103883 秒,303 MB/秒

去client(tds)

ftp> ls
227 Entering Passive Mode (192,168,1,100,129,182).
150 Here comes the directory listing.
-rw-r--r--    1 0        0         3145728 Jul 19 07:59 syg.txt
226 Directory send OK.
 

扩展

标签:ftp,--,文件传输,vsftpd,frp,tds,tdr,root
From: https://blog.csdn.net/m0_70848838/article/details/140555658

相关文章

  • 20240719-CentOS7 ftp服务器搭建与xftp连接
    在CentOS7上搭建ftp服务器,可以使用vsftpd守护进程。安装vsftpd:sudoyuminstall-yvsftpd启动并使vsftpd开机自启:sudosystemctlstartvsftpdsudosystemctlenablevsftpd配置vsftpd编辑配置文件/etc/vsftpd/vsftpd.conf,根据需要修改如下配置:anonymous_enable=NO#禁用......
  • 跨平台文件传输工具盘点,ToDesk性能最优
    当代打工人少不了经常需要在手机电脑上互传文件,作为工作文件备份或是方便随时查看。那么互传文件有什么简单高效的工具吗?今天小编来盘点几款跨平台文件传输工具,可以手机电脑互通传输,工作生活上都能用到!需要的话不妨收藏+转发,下次再想找就很方便啦!微信:聊天软件也能传文件微信......
  • 替代FTP的大文件、海量文件传输针对性解决方案
    许多企业有传输大文件、海量文件的需求,如影视制作与发行企业、软件与科技企业、医疗与健康机构、游戏开发企业、科研机构与教育机构、设计与建筑行业、跨国企业等等,可见大文件、海量文件的传输需求是比较广泛而普遍的。一般企业使用较多的方式是通过FTP传输,FTP因建设成本低、通......
  • 《UDP---FTP网络编程》
    UDP网络编程服务端(1)使用DatagramSocket创建socket,监听6666端口(2)使用DatagramPacket创建数据包(3)调用.receive()接收数据包(4)从数据包中读取数据**注意:使用String构造方法,将字节转换为原始的字符串(5)向客户端发送响应消息客户端(1)使用DatagramSo......
  • frps内网穿透搭建&http域名连接
    起因是最近抽到了一台小鸡1H512M2G,当然,安装完系统后就仅剩512M的存储空间了所以就打算搭建一个比较轻量的我这里正好也没有公网ipv4,就搭建了frps(注意s->server;c->client下同)frps配置bindPort=10001vhostHTTPPort=10081webServer.addr="0.0.0.0"webServer.port......
  • Linux配置FTP(vsftpd)
    1、安装vsftpdsudoyuminstall-yvsftpd2、创建虚拟用户数据库#进入vsftpd配置文件cd/etc/vsftpd#创建虚拟用户数据vimvuser.txt#内容如下:vuser1password1vuser2password23、生成虚拟用户数据库db_load-T-thash-f/etc/vsftpd/vusers.txt/etc/vsftp......
  • LocalSend v1.15.0:一款免费的跨平台局域网文件传输工具
    今天电脑天空向大家介绍一款实用的开源跨平台局域网文件传输工具——LocalSendv1.15.0。这款工具能够帮助我们在不同的操作系统之间快速、安全地传输文件,非常适合开发者和IT专业人员使用。以下是LocalSend的详细介绍和使用指南。工具简介LocalSend是一款基于Web技术的文件......
  • SFTP一键添加脚本 (Duplicated 2024-07-15 12:39:10)
    創建腳本vimonekey_for_sftpuser.sh腳本內容#!/bin/bash#获取当前日期和时间CURRENT_DATE=$(date'+%Y年%m月%d日%H:%M:%S')echoecho"——————————————————————————————————————————————————————"echo"••......
  • SFTP一键添加脚本 (Duplicated 2024-07-15 12:39:10)
    創建腳本vimonekey_for_sftpuser.sh腳本內容#!/bin/bash#获取当前日期和时间CURRENT_DATE=$(date'+%Y年%m月%d日%H:%M:%S')echoecho"——————————————————————————————————————————————————————"echo"••......
  • 企业网络运维-给华为交换机配置sftp,浏览交换机文件并下载上传
    文章目录需求实验开户stelnet权限已完成stelnet账号下的sftp配置使用xshell-sftp访问需求浏览交换机文件并下载上传实验开户stelnet权限参考https://blog.csdn.net/xzzteach/article/details/140419150已完成stelnet账号下的sftp配置服务类型all包括stelnet......