2024年7月19日(frp FTP)

frp概念

frp是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持tcp,udp,http,https

等协议。frp项目官网是https://github.com/fatedier/frp

frp工作原理

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

客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;

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

外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;

客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。

一、基本配置
1、解压

root@qqq \~\]# tar -xzvf frp_0.33.0_linux_amd64.tar.gz

2、给文件改名字

root@qqq \~\]# cp -r frp_0.33.0_linux_amd64 frp/ ![](https://i-blog.csdnimg.cn/direct/8d2aa5eaa0a84541a0c927c6ce9e79e9.png) ![](https://i-blog.csdnimg.cn/direct/e9bafbc2380145c1859ef7a16acf188d.png) \[root@qqq \~\]# cd frp/ \[root@qqq frp\]# ls ![](https://i-blog.csdnimg.cn/direct/6ff8198baba34c8d91f0b64630c32e98.png)

3、修改客户端配置文件

root@qqq frp\]# vim frpc.ini ![](https://i-blog.csdnimg.cn/direct/bb98f09dcc5643fcbe950f1a13a422af.png)

4、启动

root@qqq frp\]# ./frpc -c frpc.ini

二、准备两台机器

q(a) 内网主机 不可以被网络访问

w(b) 外网主机 可以被外网通过ip或者域名访问

使用q主机代理w主机,通过访问q主机管理w主机

frp访问q主机的特定端口,管理w主机的22端口

w服务端
1、完成文件下载

root@w \~\]# scp root@192.168.8.142:\~/frp_0.33.0_linux_amd64.tar.gz \~

2、解压

root@w \~\]# tar -xzvf frp_0.33.0_linux_amd64.tar.gz

3、改名

root@w \~\]# cp -r frp_0.33.0_linux_amd64/ frp/

4、配置服务端的ini文件 frps.ini

root@w frp\]# rm -rf .frps.ini.swp \[root@w \~\]# vim frp/frps.ini ![](https://i-blog.csdnimg.cn/direct/e799425d2ae444a2be7d28eab1ca32bb.png) ![](https://i-blog.csdnimg.cn/direct/9d8aebfb14124f7582963f707de9ba44.png)

5、开放端口

7500端口 面板

6000-6100客户端的代理端口

不关防火墙

root@w frp\]# firewall-cmd --zone=public --add-port=7000/tcp --permanent \[root@w frp\]# firewall-cmd --zone=public --add-port=7500/tcp --permanent \[root@w frp\]# firewall-cmd --zone=public --add-port=6000-6100/tcp --permanent \[root@w frp\]# firewall-cmd --reload

6、启动

root@w frp\]# ./frps -c frps.ini

q客户端
1、进入目录

root@q \~\]# cd frp

2、修改客户端配置文件

root@q frp\]# vim frpc.ini ![](https://i-blog.csdnimg.cn/direct/d16569f815d04ae998fe68ee4119360d.png)

3、启动

root@q frp\]# ./frpc -c frpc.ini

三、FTP服务概述
1、FTP服务介绍

文件传输:文件上传与文件下载

FTP是一种应用非常广泛并且古老的一个互联网文件传输协议,主要用于互联网中 == 文件的双向传输 == (上传/下载)、文件共享, 跨平台 Linux、Windows, FTP是 == C/S == 架构,拥有一个客户端和服务端,使用 == TCP协议 == 作为底层传输协议,提供可靠的数据传输,FTP的默认端口 == 21号 == (命令端口)

被动模式下

FTP程序(软件) == vsftpd = 20号 ==(数据端口,主动模式下)默认FTP软件名称=>vsftpd => vs

2、FTP服务的客户端工具
服务端
(1)下载安装vsftpd

root@q \~\]# yum -y install vsftpd

(2)查看相关的配置文件

root@q \~\]# rpm -ql vsftpd

(3)查看服务状态

root@q \~\]# systemctl status vsftpd

(4)启动vsftpd服务

root@q \~\]# systemctl start vsftpd

(5)查看端口情况

root@q \~\]# netstat -lpunt \| grep ftp //21端口

3、FTP的两种运行方式

主动模式、被动模式

4、搭建FTP
(1)开放端口

root@q \~\]# firewall-cmd --zone=public --add-port=21/tcp --permanent \[root@q \~\]# firewall-cmd --reload \[root@q \~\]# firewall-cmd --zone=public --list-ports //查看所有的开放端口 21/tcp

(2)关闭selinux

root@q \~\]# vim /etc/selinux/config \[root@q \~\]# setenforce 0

(3)设置vsftpd服务开机自启动

root@q \~\]# systemctl enable vsftpd

root@w \~\]# lftp 192.168.8.142 //不能登录 \[root@w \~\]# ftp 192.168.8.142 //可以登录,但不能做什么,没有权限 Name (192.168.8.142:root): ftp 331 Please specify the password. Password: 230 Login successful.

5、FTP配置文件详解(重要)
(1)查看vsftpd的配置文件

root@q \~\]# 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限速操作)

(2)创建ftp登录的账户

root@q \~\]# useradd kefu \[root@q \~\]# echo kefu \| passwd --stdin kefu

(3)修改配置文件

root@q \~\]# vim /etc/vsftpd/vsftpd.conf ![](https://i-blog.csdnimg.cn/direct/627b9c1b79ff405fa8819c95dbcde5fc.png) 12行

(4)重启服务

root@q \~\]# systemctl restart vsftpd

(5)客户端测试

root@w \~\]# ftp 192.168.8.142 没有权限 Connected to 192.168.8.142 (192.168.8.142). 220 (vsFTPd 3.0.2) Name (192.168.8.142:root): kefu 331 Please specify the password. Password: 230 Login successful.

(6)指定用户访问的路径

root@q \~\]# vim /etc/vsftpd/vsftpd.conf local_root=/data/kefu 新建

(7)创建配置文件对应的目录

root@q \~\]# mkdir -p /data/kefu/

(8)限定目录

root@q \~\]# vim /etc/vsftpd/vsftpd.conf ![](https://i-blog.csdnimg.cn/direct/7390afcbabcc487d9cea4003d066f29f.png) 101行

(9)重启服务

root@q \~\]# systemctl restart vsftpd

(10)服务端创建文件

root@q \~\]# cd /data/kefu/ \[root@q kefu\]# dd if=/dev/zero of=bigfile0 bs=3M count=1

(11)客户端访问

root@w \~\]# ftp 192.168.8.142 ![](https://i-blog.csdnimg.cn/direct/ed5e455d69904b74840820ca6341fe95.png)

相关推荐
庸子2 分钟前
基于Jenkins和Kubernetes构建DevOps自动化运维管理平台
运维·kubernetes·jenkins
眠修25 分钟前
Kuberrnetes 服务发布
linux·运维·服务器
好奇的菜鸟1 小时前
Docker 配置项详解与示例
运维·docker·容器
xcs194052 小时前
集运维 麒麟桌面版v10 sp1 2403 aarch64 离线java开发环境自动化安装
运维·自动化
BAOYUCompany2 小时前
暴雨服务器成功中标华中科技大学集成电路学院服务器采购项目
运维·服务器
超龄超能程序猿2 小时前
Bitvisse SSH Client 安装配置文档
运维·ssh·github
奈斯ing3 小时前
【Redis篇】数据库架构演进中Redis缓存的技术必然性—高并发场景下穿透、击穿、雪崩的体系化解决方案
运维·redis·缓存·数据库架构
鳄鱼皮坡3 小时前
仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器
运维·服务器
即将头秃的程序媛3 小时前
centos 7.9安装tomcat,并实现开机自启
linux·运维·centos
fangeqin3 小时前
ubuntu源码安装python3.13遇到Could not build the ssl module!解决方法
linux·python·ubuntu·openssl