frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
有些时候我们需要将本地的服务让别人可以在外网访问,而我们是没有公网IP的,这时候就需要内网穿透的技术。使用 frp 这个工具实现上面的功能,以 SSH 远程连接本地的Linux电脑作为演示。文章源自合一学院-https://unvmax.com/frp%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f-%e8%bf%9c%e7%a8%8b%e7%99%bb%e5%bd%95%e5%86%85%e7%bd%91%e6%9c%ac%e5%9c%b0linux.html
需要准备:一台VPS 和本地内网Linux文章源自合一学院-https://unvmax.com/frp%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f-%e8%bf%9c%e7%a8%8b%e7%99%bb%e5%bd%95%e5%86%85%e7%bd%91%e6%9c%ac%e5%9c%b0linux.html
VPS推荐1:Bandwagon搬瓦工VPS注册、购买和连接SSH登录教程文章源自合一学院-https://unvmax.com/frp%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f-%e8%bf%9c%e7%a8%8b%e7%99%bb%e5%bd%95%e5%86%85%e7%bd%91%e6%9c%ac%e5%9c%b0linux.html
VPS推荐2:Vultr VPS最新注册充值购买与使用教程文章源自合一学院-https://unvmax.com/frp%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f-%e8%bf%9c%e7%a8%8b%e7%99%bb%e5%bd%95%e5%86%85%e7%bd%91%e6%9c%ac%e5%9c%b0linux.html
一、在VPS上配置frp服务端
1.ssh访问登录VPS服务器,查看VPS服务器架构
输入文章源自合一学院-https://unvmax.com/frp%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f-%e8%bf%9c%e7%a8%8b%e7%99%bb%e5%bd%95%e5%86%85%e7%bd%91%e6%9c%ac%e5%9c%b0linux.html
arch
输出结果x86_64代表amd64;aarch64代表arm64文章源自合一学院-https://unvmax.com/frp%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f-%e8%bf%9c%e7%a8%8b%e7%99%bb%e5%bd%95%e5%86%85%e7%bd%91%e6%9c%ac%e5%9c%b0linux.html
现在一般都是x86_64 其对应的是包是amd64文章源自合一学院-https://unvmax.com/frp%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f-%e8%bf%9c%e7%a8%8b%e7%99%bb%e5%bd%95%e5%86%85%e7%bd%91%e6%9c%ac%e5%9c%b0linux.html
官方下载地址:https://github.com/fatedier/frp/releases 目前是0.33.0版,请根据自己的需求选择最新版本文章源自合一学院-https://unvmax.com/frp%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f-%e8%bf%9c%e7%a8%8b%e7%99%bb%e5%bd%95%e5%86%85%e7%bd%91%e6%9c%ac%e5%9c%b0linux.html
2.下载frp文件包
输入文章源自合一学院-https://unvmax.com/frp%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f-%e8%bf%9c%e7%a8%8b%e7%99%bb%e5%bd%95%e5%86%85%e7%bd%91%e6%9c%ac%e5%9c%b0linux.html
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
3.解压frp文件包
输入:文章源自合一学院-https://unvmax.com/frp%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f-%e8%bf%9c%e7%a8%8b%e7%99%bb%e5%bd%95%e5%86%85%e7%bd%91%e6%9c%ac%e5%9c%b0linux.html
tar -xzvf frp_0.33.0_linux_amd64.tar.gz
4.进入解压frp文件包解压目录
输入
ls -l
cd frp_0.33.0_linux_amd64
5.配置frps.ini文件
输入
ls -l
vim frps.ini
这里我们保持默认就好,按【Esc】键退出编辑,再按 :q 退出
注意:要保证VPS服务器的7000端口是开启的,如果有安装宝塔面板7000端口默认是关闭的,需要到宝塔面板里面开启。
6.启动 frps
试一下能不能成功
./frps -c ./frps.ini
保持frps后台运行
按键盘【Ctrl】+【C】,输入如下命令
nohup ./frps -c ./frps.ini &
查看frps是否后台运行
按键盘【Ctrl】+【C】,输入如下命令
tail -f nohup.out
二、在本地内网Linux上配置frp客户端
前4步和配置frp服务端一样的,就不配图了。
1.登录自己的内网Linux,查看内网Linux架构
输入
arch
2.下载frp文件包
输入
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
3.解压frp文件包
输入:
tar -xzvf frp_0.33.0_linux_amd64.tar.gz
4.进入解压frp文件包解压目录
输入
ls -l
cd frp_0.33.0_linux_amd64
5.配置frpc.ini文件
输入
ls -l
vim frpc.ini
修改配置如图
按键盘【i】进入编辑,按【Esc】键退出编辑,再按 :wq 保存并退出
6.启动frpc
原理和上面的frps原理是一样的,就不配图了
./frpc -c ./frpc.ini
按键盘【Ctrl】+【C】,输入如下命令
nohup ./frpc -c ./frpc.ini &
三、远程登录内网的Linux
设置连接,以Finalshell为例
1.点击 【SSH连接Linux】
2.输入IP地址、用户名、密码
6000端口对应的是本地内网的ssh端口22,填的时候填入6000
3.登录成功
可以远程访问家里或者公司的Linux电脑了。
四、补充说明
frp的功能不仅限于此,还可以通过自定义域名访问部署于内网的 web 服务、转发 DNS 查询请求等。
可以参考:https://github.com/fatedier/frp/blob/master/README_zh.md