一、frp
1、什么是frp
frp是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持tcp,udp,http,https
等协议。frp项目官网是https://github.com/fatedier/frp
2、frp工作原理
服务端运行,监听一个主端口,等待客户端的连接;
客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
服务端fork新的进程监听客户端指定的端口;
外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。
3、frp
3.1 解压软件包
[root@aa ~]# tar -xzvf frp_0.33.0_linux_amd64.tar.gz
3.2 复制并改名为frp
[root@aa ~]# cp -r frp_0.33.0_linux_amd64/ frp/
[root@aa ~]# cd frp/
[root@aa frp]# ls
3.3 修改配置文件
[root@aa frp]# vim frpc.ini
token=xxxxxxxx # 代理标识
在ini配置文件中 token属性要保持一致
3.4 启动 frpc
[root@aa frp]# ./frpc -c frpc.ini
4、使用b主机代理a主机
a 内网主机 不可以被网络访问
b 外网主机 可以被外网通过ip或者域名访问
使用b主机代理a主机,通过访问b主机管理a主机
frp访问b主机的特定端口,管理a主机的22端口
4.1 b主机解压 修改配置文件
[root@b_server ~]# tar -xzvf frp_0.33.0_linux_amd64.tar.gz
[root@b_server ~]# cp -r frp_0.33.0_linux_amd64/ frp/
[root@b_server ~]# ls
[root@b_server ~]# cd frp
[root@b_server frp]# ls
[root@b_server frp]# rm -rf .frp.ini.swp
[root@b_server frp]# vim frps.ini
bind_port = 7000 # 服务端口
dashboard_user=aaa # 控制台面板账号
dashboard_pwd=xxxxxxx # 控制台密码
dashboard_port=7500 # 控制台端口
4.2 开启防火墙端口
[root@b_server frp]# firewall-cmd --zone=public --add-port=7000/tcp --permanent
[root@b_server frp]# firewall-cmd --zone=public --add-port=7500/tcp --permanent
[root@b_server frp]# firewall-cmd --zone=public --add-port=6000-6100/tcp --permanent
[root@b_server frp]# firewall-cmd --reload
4.3 b主机启动frp
[root@b_server frp]# ./frps -c frps.ini
4.2 a主机修改配置文件
[root@a_server ~]# cd frp/
[root@a_server frp]# ls
frpc frpc.ini frps_full.ini LICENSE
frpc_full.ini frps frps.ini systemd
[root@a_server frp]# vim frpc.ini
4.3浏览器访问
页面出现一台代理服务器
二、FTP服务概述
1、FTP服务介绍
FTP是一种应用非常广泛且古老的一个互联网文件传输协议
文件传输:文件上传与文件下载
■ 主要用于互联网中 == 文件的双向传输 == (上传/下载)、文件共享
■ 跨平台 Linux、Windows
■ FTP是 == C/S == 架构,拥有一个客户端和服务端,使用 == TCP协议 == 作为底层传输协
议,提供可靠的数据传输
■ FTP的默认端口 == 21号 == (命令端口)
被动模式下
■ FTP程序(软件) == vsftpd ==== 20号 == (数据端口,主动模式下)默认
FTP软件名称=>vsftpd => vs
2、FTP服务的客户端工具
vsftpd
3、FTP的两种运行方式
主动模式和被动模式
4、搭建FTP服务器
4.1 下载安装vsftpd服务
[root@b_server ~]# yum -y install vsftpd
4.2 查看相关配置文件
[root@b_server ~]# rpm -ql vsftpd
4.3 查看服务状态
[root@b_server ~]# systemctl status vsftpd
[root@b_server ~]# systemctl start vsftpd 启动服务
4.4 查看端口情况
[root@b_server ~]# netstat -lpunt | grep ftp 21端口
4.5 打开端口
[root@b_server ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent
[root@b_server ~]# firewall-cmd --reload
[root@b_server ~]# firewall-cmd --list-ports 查看开放的端口
4.6 关闭selinux
[root@b_server ~]# setenforce 0
[root@b_server ~]# vim /etc/selinux/config
SELINUX=disabled
4.7 设置开机自启
[root@b_server ~]# systemctl enable vsftpd
4.8 另一台机器
[root@a_server ~]# yum -y install lftp ftp
[root@a_server ~]# lftp 192.168.8.132
[root@a_server ~]# ftp 192.168.8.132
5、FTP配置文件详解
5.1 查看配置文件
[root@b_server ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES 支持匿名用户访问
local_enable=YES 支持非匿名用户,普通账号登录,默认进入到自己家目录
write_enable=YES 写总开关
local_umask=022 反掩码 file:644 rw- r -- r -- dir:755
dirmessage_enable=YES 启用消息功能
xferlog_enable=YES 开启或启用xferLog日志
connect_from_port_20=YES 支持主动模式(默认被动模式)
xferlog_std_format=YES xferlog日志格式
listen=YES ftp服务独立模式下的监听
pam_service_name=vsftpd 指定认证文件
userlist_enable=YES 启用用户列表
tcp_wrappers=YES 支持tcp_wrappers功能(FTP限速操作)
5.2 创建ftp登录用户
[root@b_server ~]# useradd kefu
[root@b_server ~]# echo kefu | passwd --stdin kefu
5.3 不允许匿名用户访问
[root@b_server ~]# vim /etc/vsftpd/vsftpd.conf
[root@b_server ~]# systemctl restart vsftpd
5.4验证
[root@a_server ~]# ftp 192.168.8.132
5.5 指定用户访问路径
[root@b_server ~]# vim /etc/vsftpd/vsftpd.conf
[root@b_server ~]# mkdir /data/kefu -p
[root@b_server ~]# tree /data/
/data/
└── kefu
5.6 限定目录
[root@b_server ~]# vim /etc/vsftpd/vsftpd.conf 101行
[root@b_server ~]# systemctl restart vsftpd
[root@b_server ~]# cd /data/kefu/
[root@b_server kefu]# dd if=/dev/zero of=bigfile0 bs=3M count=1 创建文件
[root@b_server kefu]# systemctl stop firewalld
客户端访问:
[root@a_server ~]# ftp 192.168.8.132
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_71589190/article/details/140555945