回顾
Rsync文件远程同步
-
yum -y install rsync
-
rsync -av 源文件 目标目录
-
细节
源目录/ 同步目录下的文件
源目录 同步整个目录+目录下的文件
Rsync -avR 保证文件的相对路径 会复制相对路径包含的目录
同步的内容
新增
修改
删除 --delete
-
免密
-
Rsyncd 启动关闭 端口号:873
6.Vim /etc/rsyncd.conf
7.abc
Path=项目所在的目录
Log file=日志文件保存的位置
-
重启rsyncd服务
-
在备份机检测 rsync -a 用户@ip::
-
Rsync -av 源::abc 保存的位置
-
设置每分钟推送一次
-
-
监听修改之后再推送
yum -y install notify-tools
/usr/bin/inotifywait -mrq 目录 -e modify delete arrirs moved create
/usr/bin/inotifywatch
自动同步:
写脚本:
2024.7.19
frp
frp 是⼀个开源、简洁易⽤、⾼性能的内⽹穿透和反向代理软件,⽀持 tcp, udp, http, https等
协议。frp 项⽬官⽹是 https://github.com/fatedier/frp
底层 vpn
frp⼯作原理
服务端运⾏,监听⼀个主端⼝,等待客户端的连接;
客户端连接到服务端的主端⼝,同时告诉服务端要监听的端⼝和转发类型;
服务端fork新的进程监听客户端指定的端⼝;
外⽹⽤户连接到客户端指定的端⼝,服务端通过和客户端的连接将数据转发到客户端;
客户端进程再将数据转发到本地服务,从⽽实现内⽹对外暴露服务的能⼒。
应用安装
#解压
[root@localhost ~]# tar -zxvf frp.tar.gz
[root@localhost ~]# ls
anaconda-ks.cfg frp.tar.gz.0
apache-tomcat-10.1.25.tar.gz openjdk-17.0.1_linux-x64_bin.tar.gz
apache-tomcat-9.0.91.tar.gz Python-3.12.4
a.txt Python-3.12.4.tgz
bak.tar.gz redis-7.0.15
frp_0.33.0_linux_amd64 redis-7.0.15.tar(1).gz
frp.tar.gz todolist.jar
#改名
[root@localhost ~]# mv frp_0.33.0_linux_amd64/ frp/
[root@localhost ~]# tree frp
frp
├── frpc
├── frpc_full.ini
├── frpc.ini
├── frps
├── frps_full.ini
├── frps.ini
├── LICENSE
└── systemd
├── frpc.service
├── frpc@.service
├── frps.service
└── frps@.service
1 directory, 11 files
#进到frp目录下
[root@localhost ~]# cd frp/
#修改配置文件
[root@localhost frp]# vim frpc.ini
[common]
server_addr = 123.249.27.70
server_port = 7000
token=knee@588588
[huifengyan]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6054
#启动服务
[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:29 [I][service.go:282] [b60f7accc15fe586] login to server success, get run id [b60f7accc15fe586], server udp port [0]
2024/07/19 10:19:29 [I][proxy_manager.go:144] [b60f7accc15fe586] proxy added: [huifengyan]
2024/07/19 10:19:29 [I][control.go:179] [b60f7accc15fe586][huifengyan] start proxy success
浏览器访问
a 内网主机 不可以被网络访问
b 外网主机 可以被外网通过ip或域名访问
使用b代理a主机 ,通过访问b主机管理a主机
访问b主机的特定端口,管理a主机的22端口
现在我们说b为服务端,提供代理访问
a主机是客户端,被代理了
b服务器:
[root@b_server ~]# scp root@192.168.2.5:~/frp.tar.gz ~ The authenticity of host '192.168.2.5 (192.168.2.5)' can't be established. ECDSA key fingerprint is SHA256:EfMzVBUrczaT3PIJrQ9HR+sbSb5B8+MbwUyl0QH7ZBo. ECDSA key fingerprint is MD5:6b:c3:cd:8e:75:b5:37:33:77:50:99:f8:c9:4f:1a:10. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.2.5' (ECDSA) to the list of known hosts. root@192.168.2.5's password: frp.tar.gz 100% 8817KB 74.3MB/s 00:00 [root@b_server ~]# ls anaconda-ks.cfg frp.tar.gz inotifytest.sh
[root@b_server ~]# tar -zxvf frp.tar.gz
[root@b_server ~]# ls
anaconda-ks.cfg
frp_0.33.0_linux_amd64
frp.tar.gz
inotifytest.sh
[root@b_server ~]# cp -r frp_0.33.0_linux_amd64/ frp/
[root@b_server ~]# ls
anaconda-ks.cfg
frp
frp_0.33.0_linux_amd64
frp.tar.gz
inotifytest.sh
[root@b_server ~]# #配置服务端的ini文件 frps.ini
[root@b_server ~]# vim frp/frps.ini
[common]
bind_port = 7000
dashboard_user=aaa
dashboard_pwd=aaa
dashboard_port=7500
[root@b_server ~]# #打开端口 7000frp
[root@b_server ~]# #7500 面板
[root@b_server ~]# #6000-6100 客户端的代理端口
[root@b_server ~]# firewalld-cmd --zone=public --add-port=7000/tcp --permanent
-bash: firewalld-cmd: 未找到命令
[root@b_server ~]# firewall-cmd --zone=public --add-port=7000/tcp --permanent
success
[root@b_server ~]# firewall-cmd --zone=public --add-port=7500/tcp --permanent
success
[root@b_server ~]# firewall-cmd --zone=public --add-port=6000-6100/tcp --permanent
success
[root@b_server ~]# firewall-cmd --reload
success
[root@b_server ~]# #不要stop firewalld
[root@b_server ~]# cd frp/
[root@b_server frp]# ls
frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE systemd
[root@b_server frp]# ./frps -c frps.ini
2024/07/19 11:18:32 [I] [service.go:178] frps tcp listen on 0.0.0.0:7000
2024/07/19 11:18:32 [I] [service.go:277] Dashboard listen on 0.0.0.0:7500
2024/07/19 11:18:32 [I] [root.go:209] start frps success
a客户端:
[root@localhost ~]# cd frp/
[root@localhost frp]# vim frpc.ini
[common]
server_addr = 192.168.71.136
server_port = 7000
[huifengyan]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6054
[root@localhost frp]# ./frps -c frps.ini
2024/07/19 11:23:01 [I][service.go:178] frps tcp listen on 0.0.0.0:7000
2024/07/19 11:23:01 [I][root.go:209] start frps success
通过b服务器代理a的22端口
浏览器访问服务器的ip地址:
上午回顾
FRP
反向代理
github上的开源软件
底层 vpn 私有的局域网
使用加速器github,uu加速器(收费),steam++免费开源
客户端
frpc frpc.ini frpc.full.ini
服务器
frps frps.ini frpc.full.ini
分别部署服务器和客户端:
配置服务器的frps.ini
[服务器名称]
bind_port=7000 #必须的
#配置面板 也叫控制台
dashboard_user=xxxxxx
dashboard_pwd=xxxxxxxx
dashboard-port=6100
#标识
token=xxxxxx
访问之前开启端口
firewall-cmd --zone=public --add-port=7000,7500,6000-6100/tcp --permanent
启动
~/frp/frps -c frps.ini
配置客户端
frpc.ini
[服务器的名称]
server_addr=x.x.x.x
server_port=7000
token=xxxxx
[自定义被代理的名称]
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安装,也可以在windows安装frp
以后需要远程协助就可以直接发端口号和ssh账号密码
ftp
ftp概述
一个文件在同一时间内,无论有多少人在,但是只能有一个w权限,x其实是r权限
部署vsftpd
阿里云仓库 epel
[root@ftp ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@ftp ~]# yum -y install epel-release
安装vsftpd
[root@ftp ~]# yum -y install vsftpd
查看是否安装了ftp服务
[root@ftp ~]# rpm -qa|grep ftp
vsftpd-3.0.2-22.el7.x86_64
[root@ftp ~]# yum list installed|grep ftp
vsftpd.x86_64 3.0.2-22.el7 @a
查看相关的配置文件
[root@ftp ~]# yum list installed|grep ftp
查看服务状态
[root@ftp ~]# systemctl status vsftpd
启动服务
[root@ftp ~]# systemctl start vsftpd
查看端口情况
[root@ftp ~]# netstat -luput|grep ftp
tcp6 0 0 [::]:ftp [::]:* LISTEN 1921/vsftpd
关闭防火墙
[root@ftp ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent
success
[root@ftp ~]# firewall-cmd --reload
success
查看开放的端口
[root@ftp ~]# firewall-cmd --zone=public --list-ports
21/tcp
关闭selinux
[root@ftp ~]# setenforce 0
[root@ftp ~]# #永久关闭
[root@ftp ~]# vim /etc/selinux/config
设置vsftpd服务开机启动
[root@ftp ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
修改配置文件
[root@ftp ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO(将yes改为no--不允许匿名用户访问)
重启服务
[root@ftp ~]# systemctl restart vsftpd
FTP、NFS、SAMBA系统服务
⼀、rsync托管xinetd
1、为什么要进⾏服务托管
独⽴服务:独⽴启动脚本 ssh ftp nfs dns ...
依赖服务: 没有独⽴的启动脚本 rsync telnet 依赖xinetd服务(独⽴服务)
2、如何将rsync托管给xinetd服务去管理?
第⼀步:在系统中安装xinetd服务
第⼆步:编写xinetd.conf⽂件(/etc/xinetd.conf)
第三步:⼿⼯创建/etc/xinetd.d/rsync
第四步:重启xinetd服务(xinetd服务重启后,rsync服务也会随之重启,检查端⼝占⽤)
在查询873端⼝占⽤时,发现只有xinetd服务,没有rsync服务,原因:rsync => xinetd
常⻅问题(经验值)
⼆、FTP服务概述 统信os
⼀个⽂件在同⼀时间内,⽆论有多少⼈在r,但是只能有⼀个w权限,x其实r权限
1、FTP服务介绍
FTP(File Transfer Protocol)是⼀种应⽤⾮常⼴泛并且古⽼的⼀个互联⽹⽂件传输协议。
⽂件传输:⽂件上传与⽂件下载
主要⽤于互联⽹中==⽂件的双向传输==(上传/下载)、⽂件共享
跨平台 Linux、Windows
FTP是==C/S==架构,拥有⼀个客户端和服务端,使⽤==TCP协议==作为底层传输协议,
提供可靠的数据传输
FTP的默认端⼝ ==21号==(命令端⼝) ==20号==(数据端⼝,主动模式下) 默认被
动模式下
FTP程序(软件)==vsftpd==
FTP软件名称 => vsftpd => vs(very secure ftp daemon)
2、FTP服务的客户端⼯具
Linux:ftp、lftp(客户端程序)
Windows:FlashFXP(虚拟主机)、FileZilla、IE、Chrome、Firefox
lftp和ftp⼯具区别:
lftp:默认是以==匿名⽤户==访问
ftp:默认是以==⽤户名/密码==⽅式访问
lftp可以批量并且下载⽬录
3、FTP的两种运⾏模式(了解)
在FTP服务中,其⼀共拥有两种模式(主动模式 + 被动模式)
参考点,FTP的服务器端。如果是FTP服务器端主动连接客户端=>主动模式,如果是
客户端主动连接FTP服务器端=>被动模式。
主动模式
cmd:命令端⼝(发送FTP请求)
data:数据端⼝(后期⽤于传输数据)
☆ 被动模式
FTP默认使⽤的就是被动模式!
4、搭建FTP服务(重要)
第⼀步:关闭防⽕墙与SELinux
第⼆步:配置YUM源
第三步:安装vsftpd软件(FTP => vsftpd)
第四步:启动ftp服务并添加到开机启动项中
第五步:测试FTP是否安装成功