frp服务的搭建及FTP服务的配置

Day 09

frp服务的搭建

1、简介:是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持

tcp,udp,http,https等协议。官网是https://github.com/fatedier/frp

2、frp工作原理:

服务端运行,监听一个主端口等待客户端的来接;

客户端连接到服务器的主端口同时告诉服务端要箭头的端口和转发类型;

服务端fork新的进程监听客户端指定的端口;

3、下载:

百度云盘:https://pan.baidu.com/s/1PbKa8DkK5lq3bgEFTNLNog  密码:i8vm   

github:(使用加速器在github上去下载)

mwget

-https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd

64.tar.gz

5、相关文件:

(1)客户端:frpc frpc.ini frpc.full.ini

(2)服务器:frps frps.ini frps.full.ini

6、创建主机b——模拟云服务器:

a 内网主机 不可以被网络访问   b 外网主机 可以被外网通过ip或者域名访问

使⽤b代理a主机,通过访问b主机管理a主机,访问b主机的特定端⼝,管理

a主机的22端⼝。现在我们说b为服务端,提供代理服务,a主机是客户端,被

代理了。使用b代理a主机,通过访问b主机管理a主机,ftp访问b主机中的

特定端口去管理a主机的22端口。b为服务端提供代理服务,a为客户端,被代

理。

服务端

1)配置服务端的ini文件 frps.ini

[root@lx ~]# cp -r frp_0.33.0_linux_amd64/ frp/

[root@lx ~]# cd frp/

[root@lx frp]# ls

frpc           frpc.ini  frps_full.ini  LICENSE

frpc_full.ini  frps      frps.ini       systemd

[root@lx frp]# vim frps.ini

[common]  # 服务名称

bind_port = 7000  # 服务端口,默认7000

dashboard_user=aaa  #  控制台面板账号

dashboard_pwd=aaa  #  控制台密码

dashboard_port=7500  #  控制台端⼝

token=knee@588588  # 代理标识

[root@lx frp]# rm -rf frpc.ini.swp  # 删除隐藏文件

# 打开frp端口7000、面板端口7500和客户端代理端口 6000-6100

success

[root@lx frp]# firewall-cmd --zone=public --add-port=7500/tcp --permanent

success

[root@lx frp]# firewall-cmd --zone=public --add-port=6000-6100/tcp --permanent

[root@lx frp]# firewall-cmd --reload

[root@lx frp]# ./frps -c frps.ini

2024/07/19 11:18:14 [I] [service.go:178] frps tcp listen on 0.0.0.0:7000

2024/07/19 11:18:14 [I] [root.go:209] start frps success

[root@lx frp]# firewall-cmd --zone=public --add-port=7000/tcp --permanent

客户端

[root@cz ~]# ls

anaconda-ks.cfg         frp_0.33.0_linux_amd64.tar

frp_0.33.0_linux_amd64

[root@cz ~]# cd frp_0.33.0_linux_amd64

[root@cz frp_0.33.0_linux_amd64]# ls

frpc           frpc.ini  frps_full.ini  LICENSE

frpc_full.ini  frps      frps.ini       systemd

[root@cz frp_0.33.0_linux_amd64]# vim frpc.ini

[common]  # 服务器的名称

server_addr = 192.168.2.166

server_port = 7000

[caizijaun]  #  自定义被代理的名称

type = tcp

local_ip = 127.0.0.1  # 被代理主机的ip

local_port = 22  # 被代理的端口

remote_port = 6029  # 自选端口

[root@cz frp_0.33.0_linux_amd64]#  ./frpc -c frpc.ini

2024/07/19 13:59:31 [I] [service.go:282] [d82f1ce364b4ddbd] login to server success, get run id [d82f1ce364b4ddbd], server udp port [0]

2024/07/19 13:59:31 [I] [proxy_manager.go:144] [d82f1ce364b4ddbd] proxy added: [caizijuan]

2024/07/19 13:59:31 [W] [control.go:177] [d82f1ce364b4ddbd] [caizijuan] start error: port already used

[root@cz ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent

FirewallD is not running

[root@cz ~]# systemctl start firewalld

[root@cz ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent

success

[root@cz ~]# firewall-cmd --reload

测试:览器访问服务端ip,查看面板信息:192.168.2.166:7500。然后新建连接,

端口为6029,访问服务器进而管理客户端,代理成功。

FTP服务的配置

⼀个文件在同⼀时间内,⽆论有多少⼈在r,但是只能有⼀个w权限,x其实r权限。

一、概述:

1、简介:FTP(File Transfer Protocol)是⼀种应⽤⾮常⼴泛并且古⽼的⼀个互联

网,⽂件传输协议。文件传输指文件上传与文件下载。

2、作用及特点:

(1)主要⽤于互联⽹中==⽂件的双向传输==(上传/下载)、⽂件共享

(2)跨平台 Linux、Windows

(3)FTP是==C/S==架构,拥有⼀个客户端和服务端,使⽤==TCP协议==作为底

层传输协议,提供可靠的数据传输

(5)FTP的默认端⼝ ==21号==(命令端⼝) ==20号==(数据端⼝,主动模式

下) 默认被动模式下。

(6)FTP程序(软件)==vsftpd==

FTP软件名称 => vsftpd => vs(very secure ftp daemon)

3、FTP服务的客户端⼯具:

(1)Linux:ftp、lftp(客户端程序)

(2)Windows:FlashFXP(虚拟主机)、FileZilla、IE、Chrome、Firefox

(3)lftp和ftp⼯具区别:

lftp:默认是以==匿名⽤户==访问;ftp:默认是以==⽤户名/密码==⽅式访问;lftp

可以批量并且下载⽬录

4、FTP的两种运⾏模式(了解)

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

1)主动模式

FTP的服务器端。如果是FTP服务器端主动连接客户端=>主动模式,如

果是客户端主动连接FTP服务器端=>被动模式。

注意:. 客户端打开⼤于1023的随机命令端⼝和⼤于1023的随机数据端⼝向服

务的的21号端⼝发起请求;服务端的21号命令端⼝响应客户端的随机命令端⼝

服务端的20号端⼝主动请求连接客户端的随机数据端⼝;客户端的随机数据端

⼝进⾏确认。

2)被动模式

注意:客户端打开⼤于1023的随机命令端⼝和⼤于1023的随机数据端⼝向服务

的的21号端⼝发起请求;服务端的21号命令端⼝响应客户端的随机命令端⼝;

客户端主动连接服务端打开的⼤于1023的随机数据端⼝;服务端进⾏确认。

5、cmd:命令端⼝(发送FTP请求)

      data:数据端⼝(后期⽤于传输数据)

二、搭建FTP服务(重要)

环境准备:

配置yum源(mount /dev/sr0 /mnt);关闭防⽕墙和selinux

FTP的配置⽂件详解:

# 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配置⽂件详解

# 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限速操作)

任务:

搭建⼀个客户服务系统(主要涉及客服资料上传与下载)

(1)客服⼈员必须使⽤⽤户名密码(kefu/123)的⽅式登录服务器来下载相应⽂档

(2)不允许匿名⽤户访问

(3)客服部⻔的相关⽂档保存在指定的⽬录⾥/data/kefu local_root=/data/kefu

(4)客服⽤户使⽤⽤户kefu/123登录后就只能在默认的/data/kefu⽬录⾥活动

具体实现:

1、安装:# man 5 vfftpd.conf

[root@ftpserver~]# rpm -qa vsftpd  #查看是否安装ftp服务

[root@ftpserver ~]# yum list installed|grep ftp

[root@ftpserver ~]# rpm -ql vsftpd # 查看相关的的配置文件

[root@ftpserver ~]# systemctl status vsftpd  #查看服务状态

[root@ftpserver ~]# systemctl start vsftpd  # 启动服务

[root@ftpserver ~]# ss -lntpu|grep ftp

tcp    LISTEN     0      32       :::21                   :::*                   users:(("vsftpd",pid=4084,fd=4)

[root@ftpserver ~]# vim /etc/selinux/config

SELINUX=permissive

[root@ftpserver ~]# systemctl enable vsftpd  # 设置开机自启动

[root@ftpserver ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent

[root@ftpserver~]# firewall-cmd --reload  # 刷新

[root@ftpserver ~]# firewall-cmd --zone=public --list-ports  #  查看端口情况

21/tcp

[root@ftpserver ~]# cat /etc/vsftpd/vsftpd.conf  # 查看vsftpd的配置文件

2、创建FTP的登录账户

[root@ftpserver ~]# useradd kehu  

[root@ftpserver~]# echo kehu | passwd --stdin kehu

3、修改配置文件

[root@ftpserver ~]#vim /etc/vsftpd/vsftpd.conf  

anonymous_enable=NO  # 不允许匿名用户登录

local_root=/data/kehu  # 设置本地用户目录

chroot_local_user=YES  # 101行

4、创建配置文件对应的目录

[root@ftpserver ~]# mkdir -p /data/kehu  

[root@ftpserver~]# tree /data

/data

└── kehu

[root@ftpserver ~]# systemctl restart vsftpd

[root@ftpserver ~]# cd /data/kehu/

[root@ftpserver kehu]# dd if=/dev/zero of=bigfile0 bs=3M count=1  # 写个测试文

5、客户端进行测试

基于FlashFxp、FileZilla软件

[root@c~]# yum -y install ftp lftp  # Linux与Linux之间的FTP⽂件传输

[root@lx ~]# yum list installed|grep lftp

lftp.x86_64                           4.4.8-14.el7_9                   

@updates

[root@c ~]# ftp 192.168.2.169  # 虚拟机内部测试

ftp>

ftp> quit

[root@c ~]# ftp 192.168.2.169

Name (192.168.2.169:root): kehu

Password:kehu

230 Login successful.

ftp> ls

-rw-r--r--    1 0        0         3145728 Jul 19 07:57 bigfile0

[root@c ~]# lftp 192.168.2.169  # 查看不到

lftp 192.168.2.169:~> ls

`ls' at 0 [正在发送命令...]

lftp 192.168.2.169:~> quit

遇到的问题及解决方案:

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建win2008系统的frp服务器,首先要确保系统已安装好了,并准备好了所需的软件和工具。以下是详细的步骤: 1. 下载并安装Frpc和Frp服务器:在GitHub上找到Frp项目,下载适用于Windows Server 2008系统的Frp服务器文件,解压缩安装包并运行安装程序。 2. 配置Frp服务器:打开Frp服务器的安装目录,找到frps.ini文件并用文本编辑器打开。根据需求,配置文件中的主要参数包括服务绑定的IP地址、端口号、令牌和日志文件路径等。确保配置文件中各个参数的正确性,保存并关闭文件。 3. 设置系统防火墙规则:在Windows Server 2008系统中,打开“控制面板”>“Windows 防火墙”,点击“启用或关闭Windows防火墙”。选择“关闭(不推荐)”,保存并关闭设置。 4. 启动Frp服务器:在Frp服务器安装目录中,双击运行frps.exe文件,使服务器运行起来。 5. 测试Frp服务器:在其他设备或计算机上,下载并安装Frpc客户端。然后,在终端或命令提示符中运行frpc.exe,通过命令行参数或配置文件指定Frp服务器的IP地址、端口号、令牌等参数。成功连接到Frp服务器后,即可通过该服务器访问内部服务器或服务。 需要注意的是,以上只是简要的搭建Frp服务器的步骤,根据具体的需求和网络环境,还可能需要进行一些其他的配置和调整。此外,为了保证系统和网络的安全性,还需考虑防火墙和路由器等设备的设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值