实训第十天(frp与ftp文件传输)

Morning

一、frp


1.frp介绍


     在 Linux 中,FRP 通常指的是一款用于内网穿透的工具。

        FRP 可以帮助您在具有公网 IP 的服务器和处于内网环境的机器之间建立安全可靠的连接,实现内网 服务的外网访问。

       比如说,如果您在家中有一台电脑运行着一个 Web 服务,但您的家庭网络没有公网 IP,通过在具有 公网 IP 的服务器上部署 FRP 服务端,在内网电脑上部署 FRP 客户端并进行相应配置,您就可以从外网访 问到家中电脑上的 Web 服务。

        FRP 的配置相对灵活,支持多种协议的穿透,如 TCP、UDP 等。您可以根据不同的服务类型和需求 进行配置。

       例如,如果您想远程访问家中的 SSH 服务,就可以通过配置 FRP 来实现。 它还提供了一些高级功能,如负载均衡、加密传输等,以满足更复杂的需求和保障数据安全。 在实际使用中,您需要在服务器端和客户端分别进行配置文件的修改,包括服务器的地址、端口、 映射的本地端口等信息。 总的来说,FRP 为解决内网服务外网访问的问题提供了一种有效的解决方案。

2、frp客户端安装使用


(服务端已做好直接访问即可)

百度网盘下载

百度云盘 | https://pan.baidu.com/s/1PbKa8DkK5lq3bgEFTNLNog

密码:i8vm

将其拖拽到vm虚拟机中并解压

在浏览器中输入用户名与密码可以登录服务器

登录成功(可以查看连接主机数量,可以访问其他人

查看端口号

输入公网ip与他人对应的端口号

输入对方用户名与密码后就可以连接到对方主机了

3、frp服务端安装使用


主机1 内网主机 不可以被网络访问

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

使用2代理1主机,通过访问2主机管理1主机

ssh访问2主机的特定端口,管理1主机的22端口

 服务端配置
 [root@2 ~]# scp -r -P9999 root@10.0.0.11:/root/frp.tar.gz   /root/
 [root@2 ~]# tar -zxvf frp.tar.gz 
 [root@2 ~]# mv frp_0.33.0_linux_amd64/  frp
 [root@2 ~]# cd frp
 [root@2 frp]# vim frps.ini    //配置面板,添加3行
 dashboard_user=aaa
 dashboard_pwd=aaa
 dashboard_port=7500
 [root@2 frp]# firewall-cmd --zone=public --add-port=7000 --permanent
 FirewallD is not running     //需要开启防火墙服务
 [root@2 frp]# systemctl start firewalld
 [root@2 frp]# firewall-cmd --zone=public --add-port=7000/tcp --permanent    //打开7000端口(frp端口)
 success
 [root@2 frp]# firewall-cmd --zone=public --add-port=7500/tcp --permanent     //7500端口(面板端口)
 success
 [root@2 frp]# firewall-cmd --zone=public --add-port=6000-6100/tcp --permanent   //6000-6100端口(客户端的代理端口)
 success
 [root@2 frp]# firewall-cmd --reload   //重新加载防火墙配置
 success
 [root@2 frp]# ./frps -c frps.ini   //启动服务

浏览器访问服务端控制面板(输入aaa用户名与aaa用户密码)

客户端
 [root@1 ~]# cd frp/
 [root@1 frp]# vim frpc.ini 
 [common]
 server_addr = 10.0.0.20
 server_port = 7000
 [lijiaqi]
 type = tcp
 local_ip = 127.0.0.1
 local_port = 22
 remote_port = 6064
 [root@1 frp]# ./frpc -c frpc.ini    //启动服务

Afternoon

1、ftp介绍


一个文件在同一时间内,无论有多少人在r,但是只能有一个w。

FTP 即文件传输协议(File Transfer Protocol),是用于在网络上进行文件传输的一套标准协议。

FTP 的主要作用是在客户端和服务器之间实现文件的上传、下载、删除、重命名等操作。它允许用户通过互联网连接到远程服务器,并访问和管理存储在服务器上的文件。

以下是 FTP 的一些特点和优势:

高效性:能够快速传输大量文件。 例如,在企业中,大量的文档、数据文件可以通过 FTP 进行高效的传输和共享。

稳定性:在网络连接不稳定的情况下,FTP 通常能够恢复中断的传输。

广泛支持:被众多操作系统和软件所支持。

然而,FTP 也存在一些局限性:

安全性相对较低:传输的数据通常是明文形式,容易被窃取。

配置和管理相对复杂。

在实际应用中,FTP 常用于网站文件的更新、软件的分发、数据的备份等场景。

2、ftp服务端基础配置


 服务器配置
 [root@1 ~]# rpm -qa | grep ftp    //查看是否安装了ftp服务
 vsftpd-3.0.2-22.el7.x86_64
 [root@1 ~]# yum -y install vsftpd  //如果没有安装,此命令安装
 [root@1 ~]# rpm -ql vsftpd    //查看安装的文件列表
 /etc/vsftpd/vsftpd.conf
 [root@1 ~]# systemctl status vsftpd   //查看服务状态
 ● vsftpd.service - Vsftpd ftp daemon
    Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
    Active: inactive (dead)
 [root@1 ~]# systemctl start vsftpd   //开启服务
 [root@1 ~]# netstat -lupnt | grep ftp   //查看服务端口
 tcp6       0      0 :::21                   :::*                    LISTEN      1375/vsftpd  
 [root@1 ~]# systemctl start firewalld  //如果防火墙没开,此命令开启防火墙
 [root@1 ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent      //开启21端口
 success
 [root@1 ~]# firewall-cmd --reload 
 success
 [root@1 ~]# firewall-cmd --zone=public --list-ports
 21/tcp
 [root@1 ~]# setenforce 0   //设置selinux为宽松模式
 [root@1 ~]# vim /etc/selinux/config   //永久设置selinux
 SELINUX=permissive


3、ftp客户端安装使用ftp服务


 客户机配置
 [root@2 ~]# yum -y install ftp lftp
 [root@2 ~]# lftp 10.0.0.11    //有延迟,不好用
 lftp 10.0.0.11:~> ls
 中断                                     
 lftp 10.0.0.11:/> quit    //退出
 [root@2 ~]# ftp 10.0.0.11
 Connected to 10.0.0.11 (10.0.0.11).
 220 (vsFTPd 3.0.2)
 Name (10.0.0.11:root): ftp    //随便输入一个用户
 331 Please specify the password.
 Password:        //不输入密码,直接回车
 230 Login successful.    //允许匿名登陆
 Remote system type is UNIX.
 Using binary mode to transfer files.
 ftp> ls    //无权限,查看不了
 227 Entering Passive Mode (10,0,0,11,90,18).
 ftp: connect: 没有到主机的路由
 ftp> quit    //退出
 221 Goodbye.


4、ftp配置文件修改


 修改配置文件
 ​
 规定用户访问
 [root@1 ~]# vim /etc/vsftpd/vsftpd.conf    //查看vsftpd的配置文件
 [root@1 ~]# useradd kehu   //创建ftp登录的账户
 [root@1 ~]# echo kehu| passwd --stdin kehu
 更改用户 kehu 的密码 。
 passwd:所有的身份验证令牌已经成功更新。
 [root@1 ~]# vim /etc/vsftpd/vsftpd.conf    //修改配置文件
 anonymous_enable=NO       //不允许匿名访问
 [root@1 ~]# systemctl restart vsftpd   //重启服务
 ​
 测试用户登录
 [root@2 ~]# ftp 10.0.0.11
 Connected to 10.0.0.11 (10.0.0.11).
 220 (vsFTPd 3.0.2)
 Name (10.0.0.11:root): kehu    //必须指定用户
 331 Please specify the password.
 Password:
 230 Login successful.
 Remote system type is UNIX.
 Using binary mode to transfer files.
 ​
 规定用户存放文件的路径并进行限定目录
 [root@1 ~]# vim /etc/vsftpd/vsftpd.conf   
 local_root=/data/kehu       //指定用户存放文件的路径
 [root@1 ~]# mkdir -p /data/kehu/
 [root@1 ~]# vim /etc/vsftpd/vsftpd.conf  
 chroot_local_user=YES       //限定目录
 [root@1 ~]# systemctl restart vsftpd
 [root@1 kehu]# dd if=/dev/zero of=bigfile0 bs=3M count=1
 记录了1+0 的读入
 记录了1+0 的写出
 3145728字节(3.1 MB)已复制,0.0039028 秒,806 MB/秒
 [root@1 ~]# systemctl stop firewalld
 [root@1 ~]# setfacl -R -m u:kehu:rwx /data/kehu/
 [root@1 ~]# vim /etc/vsftpd/vsftpd.conf
 chroot_local_user=YES     //禁锢所有⽤户 
 chroot_list_enable=YES    //开启⽤户列表⽂件
 chroot_list_file=/etc/vsftpd/chroot_list    //指定⽤户列表⽂件
 [root@1 ~]# echo kehu >> /etc/vsftpd/chroot_list        //代表客服这个账号不会被禁锢在指定⽬录
 [root@1 ~]# setfacl -R -m u:kehu:rwx /data/kehu/
这是一条在 Linux 系统中用于设置文件访问控制列表(ACL)的命令。 setfacl 是用于操作文件或目录的 ACL 规则的命令。 -R 选项表示递归地应用 ACL 规则到指定目录及其包含的所有文件和子目录。 -m 选项用于修改现有的 ACL 规则。 u:kehu:rwx 表示为用户 kehu 设置读、写、执行的权限(r 表示读权限,w 表示写权限,x 表示执行权限)。 /data/kehu/ 是要应用 ACL 规则的目录路径。 例如,如果您有一个名为 /data/kehu 的目录,其中包含多个文件和子目录,执行上述命令后,用户 kehu 将对该目录及其所有内容具有完整的读、写和执行权限。这在需要为特定用户授予更精细的权限控制时非常有用,而不仅仅是依赖于传统的文件所有者、所属组和其他用户的权限设置。

 [root@2 tmp]# dd if=/dev/zero of=/tmp/file0 bs=10M count=1
 记录了1+0 的读入
 记录了1+0 的写出
 10485760字节(10 MB)已复制,0.0253196 秒,414 MB/秒
 [root@2 tmp]# cd /tmp/
 [root@2 tmp]# ftp 10.0.0.11
 Connected to 10.0.0.11 (10.0.0.11).
 220 (vsFTPd 3.0.2)
 Name (10.0.0.11:root): kehu
 331 Please specify the password.
 Password:
 230 Login successful.
 Remote system type is UNIX.
 Using binary mode to transfer files.
 ftp> put file0     //上传本地文件到服务器中,该文件会上传到服务器中专属kehu的目录下(/data/kehu/)
 local: file0 remote: file0
 227 Entering Passive Mode (10,0,0,11,205,104).
 150 Ok to send data.
 226 Transfer complete.
 10485760 bytes sent in 0.0846 secs (123910.00 Kbytes/sec)
 ftp> get bigfile0   //下载服务器上的文件到本地,该文件会下载到当前所在目录(下载的文件也必须存在于/data/kehu中)
 local: bigfile0 remote: bigfile0
 227 Entering Passive Mode (10,0,0,11,138,177).
 150 Opening BINARY mode data connection for bigfile0 (3145728 bytes).
 226 Transfer complete.
 3145728 bytes received in 0.0198 secs (158891.20 Kbytes/sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值