frp反向代理的安装与配置、ftp服务的搭建及应用

news2024/9/23 5:22:40

1、frp简介

frp 是⼀个开源、简洁易⽤、⾼性能的内⽹穿透和反向代理软件,⽀持 tcp, udp, http, https等 协议。frp 项⽬官⽹是 https://github.com/fatedier/frp

2、frp⼯作原理

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

3、frp的安装与配置

[root@y ~]# wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
[root@y ~]# tar -zxvf frp.tar.gz 
[root@y ~]# mv frp_0.33.0_linux_amd64/ /frp
[root@y ~]# ls /frp
frpc  frpc_full.ini  frpc.ini  frps  frps_full.ini  frps.ini  LICENSE  systemd 
[root@y ~]# vim /frp/frpc.ini                                    这里由于我没有云服务器所有连的别人的

[common]
server_addr = 123.249.27.70                        代理服务器IP
server_port = 7000

代理标识
token=knee@588588

[qwer]                        被代理的主机名称,不允许和其他重复
type = tcp                        代理服务类型
local_ip = 127.0.0.1
local_port = 22                本地被代理的端⼝
remote_port = 6022                选择代理后的端⼝
[root@y ~]#cd /frp
[root@y frp]# ./frpc -c frpc.ini                            启动frp服务浏览器访问123.249.27.70:6002

换成4.10的主机搭建一个云frp的服务器

[root@localhost ~]# tar -zxvf frp.tar.gz 
[root@localhost ~]# scp root@192.168.4.30:~/frp.tar.gz ~
[root@localhost ~]# mv frp_0.33.0_linux_amd64/ /fr
[root@localhost ~]# vim /frp/frps.ini

服务名称
[common]

服务端⼝
bind_port = 7000

控制台⾯板账号

dashboard_user=aaa    

控制台密码
dashboard_pwd=aaa

控制台端⼝
dashboard_port=7500

打开frp服务端⼝
[root@localhost ~]# firewall-cmd --zone=public --add-port=7000/tcp --permanent

打开⼀组客户端⼝
[root@localhost ~]# firewall-cmd --zone=public --add-port=6000-6100/tcp --permanent

打开控制台⾯板端⼝
[root@localhost ~]# firewall-cmd --zone=public --add-port=7500/tcp --permanent

加载防⽕墙更新
[root@localhost ~]# firewall-cmd --reload
[root@localhost ~]# cd /frp
[root@localhost frp]# ./frps -c frps.ini

换成4.30的源主机这里由于是自己搭建了一个所以
[root@y ~]# vim /frp/frpc.ini
[common]
server_addr = 192.168.4.10
server_port = 7000

[qwer]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6022

浏览器访问服务器IP:7500端口就可以访问到frp服务器,左边第二个选项TCP可以看见有没有可连接的主机,以及连接的端口号。

eaa6bd9d8c704c3d82f9a0be76c2cce8.png

0caec68ee7f544d6949a2c399bc72af2.png


远程登录通过端口6022即可访问4.10的服务器就可以访问到客户端。

cde1fa23f15e42eb87ae88da0a9af844.png

 

二、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@y ~]# yum -y install vsftpd
[root@y ~]# systemctl restart vsftpd
[root@y ~]# systemctl enabled vsftpd
[root@y~]# firewall-cmd --set-default-zone=trusted   修改默认区域
[root@y ~]# firewall-cmd --get-default-zone     查看默认区域

5.FTP的配置⽂件详解


[root@y ~]# 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@y ~]# 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、ftp服务的搭建

[root@y ~]# yum -y install vsftpd
[root@y ~]# rpm -ql vsftpd                    查看相关的配置文件
[root@y ~]# systemctl status vsftpd            查看启动状态
[root@y ~]# systemctl start vsftpd
root@y ~]# netstat -lpunt |grep                 ftp查看端口情况
[root@y ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent   
                                                 打开ftp端口
[root@y ~]# firewall-cmd --reload
[root@y ~]# firewall-cmd --zone=public --list-ports        查看打开的端口
[root@y ~]# setenforce 0                        关闭selinx
[root@y ~]# vim /etc/selinux/config                 永久关闭selinx

ef253a645a4f4b61ab5be3a118b9baf1.png

换一台主机设置为ftp的客户端
[root@localhost frp]# yum -y install ftp
[root@localhost frp]# ftp 192.168.4.30

57687482fc654f9489e58f3c7d287362.png

[root@localhost frp]# yum -y install lftp            
[root@localhost frp]# lftp 192.168.4.30                默认是匿名访问

d3c81a6e12a44d84b34fd2c3da80be7f.png

这里是因为ls时端口是随机的所以找不到。

换回服务器
[root@y ~]# useradd kehu
[root@y ~]# echo kehu |passwd --stdin kehu
[root@y ~]# vim /etc/vsftpd/vsftpd.conf 

17        local_root=/data/kehu                                    指定账号访问目录,需要写的
101    chroot_local_user=YES                    去掉这里的注释,禁锢kehu中i能在/data/kehu活动

[root@y ~]# systemctl start vsftpd
[root@y ~]# cd /data/kehu/
[root@y kehu]#  dd if=/dev/zero of=./syg.txt bs=3M count=1
[root@y kehu]# firewall-cmd --set-default-zone=trusted                设置信任所有端口

回到客户机

cea3f49db93d456c9a4819f4aaa603d9.png

要下载的话就输入get 文件名,要上传就输入pull 文件名。

7、一般可能会遇见的问题

2ccf09141813432eb11662c87d37bc11.png

ca7bde0c2f1142208c0d03feacd38331.png

08daed9d60f34cf9be4831ebd3cc5fc9.png

c2edbd7cff8d4f169bf84a99b1262021.png

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1943046.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于内容的音乐推荐网站/基于ssm的音乐推荐系统/基于协同过滤推荐的音乐网站/基于vue的音乐平台

获取源码联系方式请查看文末🍅 摘 要 随着信息化时代的到来,系统管理都趋向于智能化、系统化,音乐推荐网站也不例外,但目前国内的有些公司仍然都使用人工管理,公司规模越来越大,同时信息量也越来越庞大&…

C++中const关键字的多方面应用

const 的基本作用 const有且只有一种作用,那就是限定被修饰的对象无法被修改,在c中,被const修饰的对象被看作常量,存储在只读存储区(.rodata)。 测试代码 const int a 5;char arr[a];对测试代码进行汇编编译 – gcc -S test.c …

机械学习—零基础学习日志(高数09——函数图形)

零基础为了学人工智能,真的开始复习高数 函数图像,开始新的学习! 幂函数 利用函数的性质,以幂函数为例,因为单调性相同,利用图中的2和3公式,求最值问题,可以直接将式子进行简化。这…

Git之repo sync -c与repo sync -dc用法区别四十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

blender使用(四)-物体吸附与晶格形变、阵列、曲线、蒙皮修改器

1.缩放注意点 尽量不要在物体模式下缩放,尽量在编辑模式下缩放。 若在物体模式下做过缩放,右键单击物体,选择应用缩放 2.物体吸附及衰减 吸附:一个物体移动到另一个物体表面时,自动吸附上去 衰减:编辑模式下…

Nginx学习-相关概念

Nginx学习-相关概念 主要学习几个概念:Nginx,正向代理、反向代理、负载均衡、动静分离。–2020年05月29日 什么是Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。 特点是占有内存少&…

探索未知,惊喜连连 —— 盲盒一番赏小程序,开启你的幸运之旅!

在这个充满惊喜与期待的时代,每一份未知都藏着无限可能。我们精心打造的“盲盒一番赏”小程序,正是为了满足您对惊喜的渴望,让每一次点击都成为一次心跳加速的旅程。 🌟 【沉浸式体验,触手可及】 想象一下&#xff0c…

【源码阅读】Sony的go breaker熔断器源码探究

文章目录 背景源码分析总结 背景 在微服务时代,服务和服务之间调用、跨部门调用都是很常见的事,但这些调用都存在很多不确定因素,如核心服务A依赖的部门B服务挂掉了,那么A本身的功能将会受到直接的影响,而这些都会影响…

vue this.$refs 动态拼接

业务需要&#xff0c;refs是不固定的 <vxe-grid refgridWarehouse v-bind"gridWarehouseOptions" v-if"tableHeight" :height"tableHeight":expand-config"{iconOpen: vxe-icon-square-minus, iconClose: vxe-icon-square-plus}"c…

(Qt) 文件读写基础

文章目录 &#x1f5c2;️前言&#x1f4c4;ref&#x1f4c4;访问标记&#x1f5c3;️enum 标记 &#x1f5c2;️Code&#x1f4c4;demo&#x1f4c4;分点讲解&#x1f5c3;️继承体系&#x1f5c3;️打开/关闭&#x1f5c3;️写&#x1f5c3;️读 &#x1f5c2;️END&#x1f…

2024年,人工智能行业哪些证书权威?

人工智能领域颁发的证书有很多&#xff0c;但哪些更权威呢&#xff1f;看颁发证书的单位&#xff01; 工信部电子标准院的人工智能从业人员认证证书是由工业和信息化部电子工业标准化研究院&#xff08;以下简称“电子标准院”&#xff09;颁发&#xff0c;旨在评价和认证人工…

【嵌入式开发之标准I/O】文件I/O的基本概念,打开、关闭、定位函数及实例

文件I/O和标准I/O 什么是文件I/O?什么是标准I/O? 文件I/O&#xff1a;文件I/O又称系统IO&#xff0c;系统调用&#xff0c;称之为不带缓存的IO&#xff08;unbuffered I/O)。是操作系统提供的API接口函数。不带缓存指的是每个read&#xff0c;write都调用内核中的一个系统调…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十三)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 33 节&#xff09; P33《32.通知-进度条通知》 下载按钮对应的逻辑&#xff1a; 取消按钮对应的逻辑&#xff1a; 暂停按钮对应的…

Java | Leetcode Java题解之第274题H指数

题目&#xff1a; 题解&#xff1a; class Solution {public int hIndex(int[] citations) {int left0,rightcitations.length;int mid0,cnt0;while(left<right){// 1 防止死循环mid(leftright1)>>1;cnt0;for(int i0;i<citations.length;i){if(citations[i]>mi…

【Django】在anaconda虚拟环境中创建Django项目

文章目录 进入工作目录创建django项目及进入vscode(打开项目目录)选择解析器 进入工作目录 cd C:\WF\developer\djangodemo创建django项目及进入vscode(打开项目目录) django-admin startproject antproject选择解析器 ctrlshiftP打开命令面板

【杰理蓝牙开发】AC695x VM接口原理与使用(1)

本文主要记录 杰理蓝牙VM接口的使用,包括原理的介绍和API接口的使用。 【杰理蓝牙开发】AC695x VM接口原理与使用(1) 0. 个人简介 && 授权须知1. 系统 flash 区域划分1.1 系统区域划分1.2 在配置文件中配置flash区域2. 系统配置项读写接口2.1 读接口:2.2 写接口:2…

MATLAB实验五:MATLAB数据分析

1. 某线路上不同时间对应的电压如下表所示&#xff1a; 1&#xff09;用 3 次多项式拟合(polyfit)该实验曲线&#xff0c;要求绘制 2 原始采样 点&#xff0c;并在 1~8 范围内&#xff0c;使用时间间隔为 0.2 的数据绘制拟合曲线。 建立一个脚本文件&#xff1a;text5_1.m 如下…

【Hot100】LeetCode—279. 完全平方数

目录 题目1- 思路2- 实现⭐完全平方数——题解思路 3- ACM 实现 题目 原题连接&#xff1a;279. 完全平方数 1- 思路 思路 动规五部曲 2- 实现 ⭐完全平方数——题解思路 class Solution {public int numSquares(int n) {// 1. 定义 dpint[] dp new int[n1];//2. 递推公式…

1Panel面板配置java运行环境及网站的详细操作教程

本篇文章主要讲解&#xff0c;通过1Panel面板实现java运行环境&#xff0c;部署网站并加载的详细教程。 日期&#xff1a;2024年7月21日 作者&#xff1a;任聪聪 独立博客&#xff1a;https://rccblogs.com/501.html 一、实际效果 二、详细操作 步骤一、给我的项目进行打包&am…

报考安全工程师,这些人千万别考!

近几年&#xff0c;注安证书的缺口很大&#xff0c;而这两年题目的难度也在逐步增大&#xff0c;考生能越早考越好。但在大环境不好时&#xff0c;很多人都想着增加点副业&#xff0c;因此很多人都会有想学习考证&#xff0c;基本上为了注安挂靠才去考的&#xff0c;有这种念头…