(第十天)

上午
frp与ftp

rsyncd服务端口号873

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

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

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

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

例如,如果您想远程访问家中的 SSH 服务,就可以通过配置 FRP 来实现。

它还提供了一些高级功能,如负载均衡、加密传输等,以满足更复杂的需求和保障数据安全。

在实际使用中,您需要在服务器端和客户端分别进行配置文件的修改,包括服务器的地址、端口、映射的本地端口等信息。

总的来说,FRP 为解决内网服务外网访问的问题提供了一种有效的解决方案。

2、frp客户端安装使用
(服务端老师已做好直接访问即可)

百度网盘下载

百度云盘 | 百度网盘 请输入提取码

密码:i8vm

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

[root@1 ~]# mv frp_0.33.0_linux_amd64.tar.gz frp.tar.gz
 [root@1 ~]# tar -zxvf ftp.tar.gz 
 [root@1 ~]# mv frp_0.33.0_linux_amd64/ frp/
 [root@1 ~]# tree frp
 frp
 ├── frpc
 ├── frpc_full.ini
 ├── frpc.ini         //c表示客户端
 ├── frps
 ├── frps_full.ini
 ├── frps.ini         //s表示服务端 .ini表示初始文件(配置文件)
 ├── LICENSE
 └── systemd
     ├── frpc.service
     ├── frpc@.service
     ├── frps.service
     └── frps@.service
 1 directory, 11 files

[root@1 ~]# cd frp/
 [root@1 frp]# vim frpc.ini 
 [common]
 server_addr = 123.249.27.70    //公网ip地址
 server_port = 7000
 token=knee@588588         //口令
 [lijiaqi]                 //不能与其他人冲突
 type = tcp                
 local_ip = 127.0.0.1
 local_port = 22
 remote_port = 6064       //选择一个服务器开放的端口号
 [root@1 frp]# ./frpc -c frpc.ini    //启动

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

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

查看端口号

输入公网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    //启动服务

浏览器刷新(已连接一台主机)

总结:
frp反向代理,github上的开源软件,底层是vpn私有局域网

使用加速器在github,uu加速器(收费),steam++免费开源。

客户端:frpc frpc.ini frcp.full.ini

服务器: frps frps.ini fps.full.ini

分别部署到服务器和客户端(软件包)

 1、配置服务器:
 [服务器名称]
 bind_port=7000 #必须的
 #配置面板 也叫控制台
 dashboard_user=xxxx
 dashboard_pwd=xxxx
 dashboard_port=6100
 #标识
 token=xxxx

 访问之前开启端口
 firewall-cmd --zone=public  --add-port=7000,7500,6000-6100/tcp --permanent
 启动
 ~/frp/frps -c frps.ini
 2、配置客户端:
 [服务器的名称]
 server_addr=x.x.x.x
 server_port=7000
 token=xxxx
 [自定义被代理的名称]
 local_ip=被代理的主机的ip
 local_port=被代理的端口 22 80 443 8080
 remote_port=6089
 启动
 ~/frp/frpc -c frpc.ini

浏览器访问
 x.x.x.x:7500

frp不止可以在linux和mac安装,也可以在window安装frp

下午
1、ftp介绍
一个文件在同一时间内,无论有多少人在r,但是只能有一个w。

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

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

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

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

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

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

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

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

  2. 配置和管理相对复杂。

在实际应用中,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)
注意:一定是要在文件所在目录才可以进行上传

(ftp可以允许多人同时使用一个账户进行操作)

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值