云计算实训10——frp服务的搭建、ftp服务的搭建

一、frp服务的搭建

frp⽀持 tcp, udp, http, https等 协议

frp的底层----vpn

1.frp的工作原理

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

2.frp的下载安装

(1)frp下载

百度云盘下载

https://pan.baidu.com/s/1PbKa8DkK5lq3bgEFTNLNog

密码:i8vm

网址直接下载

https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz

(2)解压缩包

root@localhost \~\]# tar -zxvf frp_0.33.0_linux_amd64.tar.gz 解压完成后查看 \[root@localhost \~\]# ls anaconda-ks.cfg frp_0.33.0_linux_amd64 inotiftest.sh folder frp_0.33.0_linux_amd64.tar.gz nohup.out

(3)将解压后的内容复制一份到frp目录

root@localhost \~\]# cp -r frp_0.33.0_linux_amd64 frp/ 再次查看 \[root@localhost \~\]# ls anaconda-ks.cfg frp frp_0.33.0_linux_amd64.tar.gz nohup.out folder frp_0.33.0_linux_amd64 inotiftest.sh

(4)进入frp目录

root@localhost \~\]# cd frp 查看 \[root@localhost frp\]# ls frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE systemd

(4)编辑配置文件

root@localhost frp\]# vim frpc.ini

(5)启动

首先查看

root@localhost frp\]# ls frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE systemd 然后进行启动操作 \[root@localhost frp\]# ./frpc -c frpc.ini 2024/07/19 10:19:57 \[I\] \[service.go:282\] \[66fe0d3f86ac5221\] login to server success, get run id \[66fe0d3f86ac5221\], server udp port \[0

2024/07/19 10:19:57 [I] [proxy_manager.go:144] [66fe0d3f86ac5221] proxy added: [dongdong]

2024/07/19 10:19:57 [I] [control.go:179] [66fe0d3f86ac5221] [dongdong] start proxy success

在浏览器进行访问http://123.249.27.70:7500/

输入账号密码后得到以下页面

点击tcp查看连接情况

可以看到成功进入了云主机

3.frp反向代理

内⽹主机 不可以被⽹络访问

外⽹主机 可以被外⽹通过ip或者域名访问

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

现在我们说b为服务端,提供代理服务

a主机是客户端,被代理了

服务器操作

(1)同步

另准备一台主机,将原主机上的内容同步给新主机

root@dongdong \~\]# scp root@192.168.1.20:\~/frp_0.33.0_linux_amd64.tar.gz \~ root@192.168.1.20's password: frp_0.33.0_linux_amd64.tar.gz 100% 8817KB 38.9MB/s 00:00 查看 \[root@dongdong \~\]# ls frp_0.33.0_linux_amd64.tar.gz todolist.jar

(2)解压

root@dongdong \~\]# tar -zxvf frp_0.33.0_linux_amd64.tar.gz 再次查看 \[root@dongdong \~\]# ls frp_0.33.0_linux_amd64 frp_0.33.0_linux_amd64.tar.gz

(3)复制

将解压后的内容复制一份到frp目录

root@dongdong \~\]# cp -r frp_0.33.0_linux_amd64/ frp/ 查看 \[root@dongdong \~\]# ls frp_0.33.0_linux_amd64 frp_0.33.0_linux_amd64.tar.gz

(4)编辑配置文件

root@dongdong \~\]# vim frp/frps.ini ![](https://i-blog.csdnimg.cn/direct/aa4eed0293cb430eb65bb1c5f0b61f68.png) (5)打开端口 > 打开控制台⾯板端⼝ > > \[root@hcss-ecs-e083 \~\]# firewall-cmd --zone=public --add-port=7500/tcp - -permanent > > 打开frp服务端⼝ > > \[root@hcss-ecs-e083 \~\]# firewall-cmd --zone=public --add-port=7000/tcp - -permanent > > 打开⼀组客户端⼝ > > \[root@hcss-ecs-e083 \~\]# firewall-cmd --zone=public --add-port=6000- 6100/tcp --permanent (6)加载防⽕墙更新 > \[root@hcss-ecs-e083 \~\]# firewall-cmd --reload (7)浏览器访问 在浏览器输入:服务器的IP地址:7500进行访问 ![](https://i-blog.csdnimg.cn/direct/1f19bf77024542ab9cad29040bcf6576.png) 此时我们发现,客户端的数量和服务器的数量都为0 ##### **客户端操作** (1)修改配置文件 \[root@localhost frp\]# vim frpc.ini ![](https://i-blog.csdnimg.cn/direct/b968ccdca71944508258e78b05fd3d6f.png) (2)运行 > \[root@localhost frp\]# ./frpc -c frpc.ini > > 2024/07/19 12:33:36 \[I\] \[service.go:282\] \[c17db3917894f5b2\] login to server success, get run id \[c17db3917894f5b2\], server udp port \[0

2024/07/19 12:33:36 [I] [proxy_manager.go:144] [c17db3917894f5b2] proxy added: [dongdong]

2024/07/19 12:33:36 [I] [control.go:179] [c17db3917894f5b2] [dongdong] start proxy success

(3)再次浏览器访问

如下图所示:发现客户端和服务器的数量都变成1

点击tcp,j就可以看到我们创建的代理服务器了

此处我们可以看到我们的代理服务器是online状态

至此,frp反向代理测试成功

二、搭建ftp

1.安装vsftpd服务

root@dongdong frp\]# yum -y install vsftpd

查看vsftpd服务的状态

root@dongdong \~\]# systemctl status vsftpd

查看版本信息

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

开启vsftpdf服务

root@dongdong \~\]# systemctl start vsftpd

查看端口情况

root@dongdong \~\]# netstat -lpunt \| grep ftp tcp6 0 0 :::21 :::\* LISTEN 1926/vftpd

开启21端口

root@dongdong \~\]# firewall-cmd --zone=public --add-port=21/tcp --permanent success

加载防火墙更新

root@dongdong \~\]# firewall-cmd --reload success

列出开启的端口

root@dongdong \~\]# firewall-cmd --zone=public --list-ports 7000/tcp 7500/tcp 6000-6100/tcp 21/tcp

关闭selinux

root@dongdong \~\]# setenforce 0

永久关闭selinux

root@dongdong \~\]# vim /etc/selinux/config SELINUX=permissive

设置开机自启

root@dongdong \~\]# systemctl enable vsftpd

2.ftp配置文件

创建客服账号

更改服务器的名字为ftpserver

root@dongdong \~\]# hostnamectl set-hostname ftpserver 查看主机名 \[root@dongdong \~\]# hostname ftpserver 让其重启生效 \[root@dongdong \~\]# reboot \[root@ftpserver \~\]# useradd kefu \[root@ftpserver \~\]# echo kefu \| passwd --stdin kefu 更改用户 kefu 的密码 。 passwd:所有的身份验证令牌已经成功更新。

查看配置文件

root@ftpserver \~\]# cat /etc/vsftpd/vsftpd.conf

重启vsftpd服务

root@ftpserver \~\]# systemctl restart vsftpd

下载ftp和lftp服务

root@ftpserver \~\]# yum -y install ftp lftp

编辑配置文件

root@ftpserver \~\]# vim /etc/vsftpd/vsftpd.conf 12行 anonymous_enable=NO

创建多级目录

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

查看目录

root@ftpserver \~\]# tree /data/ /data/ └── kefu 1 directory, 0 files

编辑配置文件

root@ftpserver \~\]# vim /etc/vsftpd/vsftpd.conf 100行 chroot_local_user=YES 101行 chroot_list_enable=YES 103行 chroot_list_file=/etc/vsftpd/chroot_list

重启vsftpd服务

root@ftpserver \~\]# systemctl restart vsftpd

进入data下的kefu目录

root@ftpserver \~\]# cd /data/kefu/

创建文件

root@ftpserver kefu\]# dd if=/dev/zero of=bigfile0 bs=3M count=1 记录了1+0 的读入 记录了1+0 的写出 3145728字节(3.1 MB)已复制,0.00492861 秒,638 MB/秒

重启vsftpd服务

root@ftpserver kefu\]# systemctl restart vsftpd

查看端口信息

root@ftpserver \~\]# netstat -lpunt \| grep ftp tcp6 0 0 :::21 :::\* LISTEN 1566/vftpd

在客户端连接,发现主机找不到路由,ls也看不到服务器所创建的文件

开启防火墙

root@ftpserver \~\]# systemctl start firewalld 列出启用的端口 > > > \[root@ftpserver \~\]# firewall-cmd --zone=public --list-ports > > 7000/tcp 7500/tcp 6000-6100/tcp 21/tcp 再次查看端口信息 > \[root@ftpserver \~\]# netstat -lpunt \| grep ftp > > tcp6 0 0 192.168.1.10:61938 :::\* LISTEN 1628/vftpd > > tcp6 0 0 :::21 :::\* LISTEN 1566/vftpd 关闭防火墙 > \[root@ftpserver \~\]# systemctl stop firewalld 再次从客户端连接,发现我们所创建的bigfile0文件被成功的上传到了客户端![](https://i-blog.csdnimg.cn/direct/cdfb4f282f5a4bc99bfcf65013a193d2.png) 随后进行下载测试 在客户端的tmp目录下创建一个名为bf000的文件 > \[root@localhost \~\]# cd /tmp > > \[root@localhost tmp\]# dd if=/dev/zero of=bf000 bs=300M count=1 > > 记录了1+0 的读入 > > 记录了1+0 的写出 > > 314572800字节(315 MB)已复制,4.65597 秒,67.6 MB/秒 服务器上操作并重启服务: > \[root@ftpserver \~\]# echo kefu \>\> /etc/vsftpd/chroot_list > > \[root@ftpserver \~\]# systemctl restart vsftpd 使用ftp连接,传输成功 ![](https://i-blog.csdnimg.cn/direct/5e32906b7cc340cca49e583032915bb2.png) 在服务器去查看,发现bf000的文件下载成功 > \[root@ftpserver \~\]# tree /data/ > > /data/ > > └── kefu > > ├── bf000 > > └── bigfile0

相关推荐
lxmyzzs2 小时前
基于深度学习CenterPoint的3D目标检测部署实战
人工智能·深度学习·目标检测·自动驾驶·ros·激光雷达·3d目标检测
Wy_编程2 小时前
Linux-文本搜索工具grep
linux·运维·服务器
xujiangyan_2 小时前
linux的sysctl系统以及systemd系统。
linux·服务器·网络
Lovyk2 小时前
Linux Shell 常用操作与脚本示例详解
linux·运维·服务器
算法_小学生5 小时前
循环神经网络(RNN, Recurrent Neural Network)
人工智能·rnn·深度学习
努力还债的学术吗喽6 小时前
【速通】深度学习模型调试系统化方法论:从问题定位到性能优化
人工智能·深度学习·学习·调试·模型·方法论
yuanpan7 小时前
ubuntu系统上的conda虚拟环境导出方便下次安装
linux·ubuntu·conda
AOwhisky7 小时前
Linux 文本处理三剑客:awk、grep、sed 完全指南
linux·运维·服务器·网络·云计算·运维开发
大千AI助手7 小时前
GitHub Copilot:AI编程助手的架构演进与真实世界影响
人工智能·深度学习·大模型·github·copilot·ai编程·codex
Gavin_9158 小时前
从零开始部署经典开源项目管理系统最新版redmine6-Linux Debian12
linux·ruby on rails·开源·debian·ruby·redmine