frp反向代理,ftp文件传输

一、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/* root@192.168.1.125:/frp
去另一台主机(tds)做服务端,提供代理服务
[root@tds ~]# vim /frp/frps.ini                     //注意文件名称
[common]                                         //服务名称
bind_port = 7000                                //服务端口

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

这会防火墙必须打开
[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                                 //服务器端口

token=tdr                             //服务器代理标识

[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.
 

扩展

  • 29
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于使用 frp 进行 Socks5 代理,你需要进行以下步骤: 1. 首先,确保你已经安装了 frp 工具。你可以在 frp 的官方网站(https://github.com/fatedier/frp)上下载适合你操作系统的版本,并按照说明进行安装。 2. 在 frp 的配置文件中,你需要添加一个反向代理的配置项。打开 frp 的配置文件(通常为 `frps.ini` 或 `frps.conf`),找到 `[reverse_proxy]` 部分,如果没有则需要手动添加该部分。 3. 在 `[reverse_proxy]` 部分中,配置以下参数: - `type = tcp`:指定代理类型为 TCP。 - `remote_port = 1080`:指定远程端口,即 Socks5 代理的端口。 - `local_ip = 127.0.0.1`:指定本地 IP 地址,即 Socks5 代理的监听地址。 - `local_port = 1080`:指定本地端口,即 Socks5 代理的端口。 4. 保存并关闭配置文件。 5. 启动 frp 服务端。使用命令行或终端,进入 frp 的安装目录,并执行以下命令启动服务端: ``` ./frps -c frps.ini ``` 6. 在客户端机器上,安装并配置 Socks5 代理客户端软件。你可以选择使用浏览器插件或独立的 Socks5 客户端软件。在配置客户端时,使用 frp 服务端的公网 IP 地址和配置的远程端口。 7. 连接到 frp 的 Socks5 代理。启动客户端软件,并连接到 frp 提供的 Socks5 代理地址和端口。 通过以上步骤,你就可以使用 frp 搭建一个 Socks5 代理了。请注意,确保 frp 服务端和客户端的配置参数一致,并且防火墙规则允许相应的端口通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值