上午
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 也存在一些局限性:
安全性相对较低:传输的数据通常是明文形式,容易被窃取。
配置和管理相对复杂。
在实际应用中,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可以允许多人同时使用一个账户进行操作)