一、frp简介
1、frp
frp是一个开源,简介易用、高性能的内网穿透和反向代理软件,支持tcp,udp,http,https等协议。frp官网是https://github.com/fatedier/frp
2、frp的工作原理
服务端运行,监听一个主端口,等待客户端的连接;
客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
服务端fork新的进程监听客户端指定端口;
外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。
二、frp的安装及配置
1、安装
[root@oneday ~]# tar -zxvf frp.tar.gz
[root@oneday ~]# cp -r frp_0.33.0_linux_amd64/ frp/ #改名[root@oneday ~]# tree frp
[root@oneday ~]# cd /frp[root@oneday frp]# ls
frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE systemd
[root@oneday frp]# vim frpc.ini[common]
server_addr = 123.249.27.70 #改成云服务器的端口号
server_port = 7000
token=knee@588588[xiaojiang] #不能重复
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6074 #不能重复
启动[root@oneday frp]# ./frpc -c frpc.ini
浏览器访问 http://123.249.27.70:7500/
2、配置
oneday :内网主机 不可以被网络访问
twoday :外网主机 可以被外网通过IP地址或者域名访问
使用twoday代理oneday主机,通过访问twoday主机管理oneday主机
ftp访问twoday主机的特定端口,提供代理服务
twoday为服务器,提供代理服务
oneday为被代理服务
twoday配置:
安装frp.tar.gz压缩包
[root@twoday ~]# tar -zxvf frp.tar.gz
[root@twoday ~]# cp -r frp_0.33.0_linux_amd64/ frp/
[root@twoday ~]# vi frp/frps.ini
[common]
bind_port = 7000dashboard_user=aaa
dashboard_pwd=aaa
dashboard_port=7500
打开端口 (7000frp) (7500 面板) (6000-6100 客户端的代理端口)
[root@twoday frp]# firewall-cmd --zone=public --add-port=7000/tcp --permanent
[root@twoday frp]# firewall-cmd --zone=public --add-port=7500/tcp --permanent
[root@twoday frp]# firewall-cmd --zone=public --add-port=6000-6100/tcp --permanent
[root@twoday frp]# firewall-cmd --reload
[root@twoday frp]# ./frps -c frps.ini
!!!!!!不要关闭防火墙
在oneday主机上修改frpc.ini文件
[root@oneday frp]# vim frpc.ini
[common]
server_addr = 192.168.1.15
server_port = 7000[xiaojiang]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6074[root@oneday frp]# ./frpc -c frpc.ini
浏览器访问http://192.168.1.15:7500/
三、ftp服务
1、ftp概述
FTP是一种应用非常广泛并且古老的一个互联网文件传输协议
一个文件在同一时间内,无论有多少人在r权限,但是只能有一个w权限,x权限其实是r权限
主要用于互联网中==文件的双向传输-=(上传/下载)、文件共享
跨平台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
Iftp和ftp工早区别:
(1)lftp:默认是以==匿名用户==访问
(2)ftp:默认是以==用户名/密码==方式访问
(3)lftp可以批量并且下载目录
3、FTP的两种运行方式
(1)主动模式
(2)被动模式
4、搭建FTP服务(重要)
[root@oneday ~]# yum -y install vsftpd #安装ftp服务
[root@oneday ~]# yum list installed | grep ftp #检查是否安装成功
vsftpd.x86_64 3.0.2-29.el7_9 @updates[root@oneday ~]# rpm -ql vsftpd #查看相关的配置文件
[root@oneday ~]# systemctl status vsftpd #查看服务状态
[root@oneday ~]# systemctl start vsftpd #开启服务
[root@oneday ~]# netstat -lnput | grep vsftpd #查看开启端口tcp6 0 0 :::21 :::* LISTEN 2708/vsftpd
[root@oneday ~]# systemctl restart firewalld #重启防火墙(必须启动防火墙)
[root@oneday ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent #打开21端口
success
[root@oneday ~]# firewall-cmd --reload
success
[root@oneday ~]# firewall-cmd --zone=public --list-ports
21/tcp[root@oneday ~]# setenforce 0 #永久关闭selinux
[root@oneday ~]# vim /etc/selinux/config
[root@oneday ~]# systemctl enable vsftpd #设置vsftpd服务开机启动
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.客户端(twoday)安装ftp lftp
[root@twoday ~]# yum -y install ftp lftp[root@twoday ~]# lftp 192.168.1.25
lftp 192.168.1.25:~> exit
[root@twoday ~]# ftp 192.168.1.25
Connected to 192.168.1.25 (192.168.1.25).
220 (vsFTPd 3.0.2)
Name (192.168.1.25:root): ftp
331 Please specify the password. #直接回车
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
查看vsftpd的配置文件[root@oneday ~]# 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限速操作)创建ftp登陆的账号
[root@oneday ~]# useradd kefu
[root@oneday ~]# echo kefu | passwd --stdin kefu
更改用户 kefu 的密码 。
passwd:所有的身份验证令牌已经成功更新。另一台主机访问
[root@twoday ~]# ftp 192.168.1.25
Connected to 192.168.1.25 (192.168.1.25).
220 (vsFTPd 3.0.2)
Name (192.168.1.25:root): kefu
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
221 Goodbye.[root@oneday ~]# vim /etc/vsftpd/vsftpd.conf (最后一行加)
local_root=/data/kefuchroot_local_user=YES (101行 取消注释)
创建文件对应的目录
[root@oneday ~]# mkdir /data/kefu/ -p
[root@oneday ~]# tree /data
/data
└── kefu