frp
frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp,udp,http,https等协议。frp 项目官网是 https://github.com/fatedier/frp
frp工作原理
服务端运行,监听一个主端口,等待客户端的连接;客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;服务端fork新的进程监听客户端指定的端口;外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。
[root@localhost ~]# ls
[root@localhost ~]# ls -lh
[root@localhost ~]# tar -zxvf frp.tar.gz
[root@localhost ~]# tree
[root@localhost ~]# cp -r frp_0.33.0_linux_amd64/ frp/
[root@localhost ~]# ls
[root@localhost ~]# cd frp/
[root@localhost frp]# ls
[root@localhost frp]# vi frpc.ini
[root@localhost frp]# ls
froc.ini frpc_full.ini frps frps.ini systemd
frpc frpc.ini frps_full.ini LICENSE
[root@localhost frp]# ./frpc -c frpc.ini
A 内网主机 不可以被网络访问
B 外网主机 可以被外网通过ip或者域名访问
使用b代理a主机 通过访问b主机管理a主机
ftp 访问b主机的特定端口去管理a主机的22端口
b为服务端 提供服务
a为客户端 被服务
打开客户端的主机
完成文件下载
[root@localhost ~]# scp root@192.168.1.22:~/frp.tar.gz ~
root@192.168.1.22's password:
frp.tar.gz 100% 8817KB 61.1MB/s 00:00
解压
[root@localhost ~]# ls
[root@localhost ~]# tar -zxvf frp.tar.gz
[root@localhost ~]# cp -r frp_0.33.0_linux_amd64/ frp/
[root@localhost ~]# ls
配置服务器的ini文件
[root@localhost ~]# vi frp/frps.ini
打开端口7000frp 7500面板 6000-6100 客户端的代理端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=7000/tcp --permanent
[root@localhost ~]# firewall-cmd --zone=public --add-port=7500/tcp --permanent
[root@localhost ~]# firewall-cmd --zone=public --add-port=6000-6100/tcp --permanent
[root@localhost ~]# firewall-cmd --reload
不要stop firewalld
[root@localhost ~]# ls
Frp
反向代理
GitHub上的开源软件
底层von私有的局域网
使用加速器在GitHub,
客户端
Frpc frpc.Ini frpc.full.ini
服务器
Frps frps.ini fps.Full.ini
分别部署到服务器和客户端
安装vsftpd
[root@localhost ~]# yum -y install vsftpd
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
软件包 vsftpd-3.0.2-22.el7.x86_64 已安装并且是最新版本
无须任何处理
查看是否安装
[root@localhost ~]# yum list installed |grep ftp
vsftpd.x86_64 3.0.2-22.el7 @cangku
[root@localhost ~]# rpm -ql vsftpd
[root@localhost ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# netstat -lpunt |grep ftp
关闭selinux
[root@localhost ~]# setenforce 0
永久关闭
[root@localhost ~]# vim /etc/selinux/config
设置vsftpd服务开机自启
[root@localhost ~]# systemctl enable vsftpd
[root@localhost ~]# hostnamectl set-hostname ftpserver
[root@localhost ~]# hostname
Ftpserver
查看vsftpd的配置文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
[root@localhost ~]# useradd kefu
[root@localhost ~]# echo kefu|passwd --stdin kefu
更改用户 kefu 的密码 。
passwd:所有的身份验证令牌已经成功更新。
创建ftp登录的账户
修改配置文件 不允许内容登录
重启服务
[root@localhost ~]# systemctl restart vsftpd
指定用户访问的路径
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
创建配置文件对应的目录
[root@localhost ~]# mkdir /data/fefu/ -p
[root@localhost ~]# tree /data/
限定目录
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
重启服务
[root@localhost ~]# systemctl restart vsftpd