FRP,FTP服务

一、FRP

1.FRP工作原理:

客户端(例如浏览器)向 FRP 服务器发送请求。

FRP 服务器接收到请求后,根据配置的规则将请求转发到相应的内网服务端。

内网服务端处理请求,并将响应返回给 FRP 服务器。

FRP 服务器再将响应转发回客户端。

通过这种方式,FRP 实现了让处于内网环境的服务能够被外网访问,突破了网络限制,达到了内网穿透的效果。

它在远程访问内网资源、搭建私有云服务等场景中有广泛应用。

2.安装配置


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=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

FTP是一种应用非常广泛并且古老的一个互联网文件传输协议。
文件传输:文件上传与文件下载
主要用于互联网中==文件的双向传输==(上传/下载)、文件共享
跨平台Linux、Windows
FTP是==C/S==架构,拥有一个客户端和一个服务端,使⽤==TCP协议==作为底层传输协议,提供可靠的数据传输
FTP的默认端⼝ ==21号==(命令端⼝) ==20号==(数据端⼝,主动模式下) 默认被动模式下
FTP服务的客户端⼯具
Linux:ftp、lftp(客户端程序)
Windows:FlashFXP(虚拟主机)、FileZilla、IE、Chrome、Firefox
lftp和ftp⼯具区别:
lftp:默认是以==匿名⽤户==访问
ftp:默认是以==⽤户名/密码==⽅式访问
lftp可以批量并且下载⽬录
FTP的两种运⾏模式
在FTP服务中,其⼀共拥有两种模式(主动模式 + 被动模式)
[root@b frp]# yum -y install vsftpd
[root@b frp]# rpm -ql vsftpd //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 匿名⽤户的扩展数据⽬录
[root@b ~]# systemctl start vsftpd
[root@b ~]# netstat -lpunt | grep ftp //查看端口情况
tcp6       0      0 :::21                   :::*                    LISTEN      1707/vsftpd         
[root@b ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent
success
[root@b ~]# setenforce 0 //关闭selinux
[root@b ~]# vim /etc/selinux/config
SELINUX=permissive
[root@b ~]# systemctl enable vsftpd //开机自启
另一台主机
[root@y ~]# yum -y install vsftpd
[root@y ~]# yum -y install ftp
[root@y ~]# ftp 192.168.1.12
Connected to 192.168.1.12 (192.168.1.12).
220 (vsFTPd 3.0.2)
Name (192.168.1.12:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
回到第一台主机
[root@b ~]# vim /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限速操作)
创建ftp登录的账户
[root@b ~]# useradd kehu
[root@b ~]# echo kehu | passwd --stdin kehu
[root@b ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
[root@b ~]# systemctl restart vsftpd
另一台主机
[root@y ~]# ftp 192.168.1.12
Connected to 192.168.1.12 (192.168.1.12).
220 (vsFTPd 3.0.2)
Name (192.168.1.12:root): kehu
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
指定用户访问路径
[root@b ~]# vim /etc/vsftpd/vsftpd.conf
local_root=/data/kehu //添加
[root@b ~]# mkdir -p /data/kehu //创建配置文件时的目录(-p多级创建)
限定账户3只能在/data/kehu⽬录下活动
[root@b ~]# vim /etc/vsftpd/vsftpd.conf 
chroot_local_user=YES //取消注释(禁锢⽬录补充【禁锢所有⽤户】)
[root@b ~]# systemctl restart vsftpd
另一台
[root@y ~]# ftp 192.168.1.12
Connected to 192.168.1.12 (192.168.1.12).
220 (vsFTPd 3.0.2)
Name (192.168.1.12:root): kehu
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
回第一台
[root@b ~]# dd if=/dev/zero of=/data/kehu/bigfile0 bs=3M count=1
第二台
ftp> ls
227 Entering Passive Mode (192,168,1,12,168,254).
150 Here comes the directory listing.
-rw-r--r--    1 0        0         3145728 Jul 19 08:21 bigfile0
226 Directory send OK.
# vim /etc/vsftpd/vsftpd.conf
105⾏ chroot_list_enable=YES 开启⽤户列表⽂件
107⾏ chroot_list_file=/etc/vsftpd/chroot_list 指定⽤户列表⽂件
echo kehu >> /etc/vsftpd/chroot_list 代表kehu这个账号不会被禁锢在指定⽬录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值