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)

相关推荐
聆风吟º6 小时前
CANN开源项目深度实践:基于amct-toolkit实现自动化模型量化与精度保障策略
运维·开源·自动化·cann
Coder个人博客7 小时前
Linux6.19-ARM64 mm mmu子模块深入分析
大数据·linux·车载系统·系统架构·系统安全·鸿蒙系统
较劲男子汉9 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
Doro再努力10 小时前
Vim 快速上手实操手册:从入门到生产环境实战
linux·编辑器·vim
wypywyp10 小时前
8. ubuntu 虚拟机 linux 服务器 TCP/IP 概念辨析
linux·服务器·ubuntu
风流倜傥唐伯虎10 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Doro再努力10 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
senijusene10 小时前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器
不像程序员的程序媛10 小时前
Nginx日志切分
服务器·前端·nginx
忧郁的橙子.10 小时前
02-本地部署Ollama、Python
linux·运维·服务器