FRP



frp 是一个可用于内网穿透的应用

前言


  • FRP

内网穿透技术众多,比如花生壳、Ngrok、Frp 等都是现在主流的穿透技术。
但我个人认为 Frp 是目前最好用配置最简单的。上手简单功能强大

  • 为什么我们要用内网穿透

因为现在的IPV4IP数量越来越稀少,所以不单单是小运营商,连电信联通都逐步的开始加入到将用户丢到私有IP里(可以电话投诉问外网IP,比较麻烦,而且也不是每个地区的投诉有用)

18.0版本开始,新版与旧版不兼容,并且配置字段不同,建议选择最新版安装

frps-服务端配置

1. 下载软件

首先到 frp 的下载页面选择对应的软件压缩包下载(建议下载最新版)
下载地址
如何查看处理器架构?
输入代码

arch
或者
uname -r

一般来说都会显示为x86_64架构,那么则需要下载名为linux_amd64的安装包
如果不是,则寻找相应的下载
找到后右键复制链接
在SSH客户端输入

sudo -i 切换到root账户,如果已经是root账户就不用输入
wget --no-check-certificate 复制的链接

然后解压文件

tar 文件名

注意解压文件名包含后面的tar.gz
然后进入FRP解压目录,可以输入ls指令查看目录名

cd 目录名

给予frps程序权限

chmod +x frps

然后可以尝试运行一下程序,查看是否能运行成功。
./frps --help正常情况下会显示帮助信息,如果没显示请查看是否在frp目录下执行的指令,且没下错版本

2. 配置程序

frp目录输入

vi frps.ini

然后按I,开启编辑模式

[common]
bind_port = 7000
vhost_http_port = 8080
dashboard_port = 7500
dashboard_user = 用户名
dashboard_pwd = 密码
authentication_timeout = 1500
auth_token = 和客服端 token 对应
subdomain_host = nisekoi.club (不需要www)

[ssh]
listen_port = 7777

简单的解释一下作用

[common] 必填的
bind_port Frp 服务主端口(可自定义)
vhost_http_port http 访问端口(可自定义)
dashboard_port dashboard web界面端口
dashboard_user web界面用户名
dashboard_pwd web界面密码
max_pool_count 最大连接池数量
authentication_timeout 超时验证时间,如果服务端和客户端的系统时间超过这个数值就会验证失败。单位为秒
subdomain_host 输入你的域名,此域名须解析到VPS的ip上,且后续会用到此域名的二级域名
auth_token 用户身份认证

[ssh]
listen_port ssh访问端口

如果安装了宝塔之类的软件需放行端口
配置完成后按ESC输入:wq保存配置文件
详细参数可以查看官方中文文档

3. 启动程序

当配置完成和可以尝试启动程序了

./frps -c frps.ini

如果没有报错就代表运行成功了。这时可以输入服务器IP+上面配置的WEB界面端口访问
接着按下Ctrl + C终止程序运行,因为这样运行的程序在关闭SSH之后就会停止运行,我们要让程序在后台保持运行
那么可以输入

nohup /root/frp/frps -c /root/frp/frps.ini &

停止程序

pkill frps

frpc-客户端配置

vi frpc.ini

编辑配置文件如下
I开启编辑模式

#[common]的属性为必填项
[common] 
server_addr = ip
server_port = 7000和服务器对应
auth_token = 和服务器端对应

[ssh]名称可以随便改
type = tcp 协议
local_ip = 需要使用的设备局域网IP
local_port = 需要穿透的设备本地端口
remote_port = 服务端所使用的端口,我上面配置的是6000 那么就填6000

[nas]
type = http 协议
local_ip = 需要使用的设备局域网IP
local_port = 5000 本地端口因为群晖默认是5000
subdomain = nas二级域名 假如服务端输入的域名是 123.com 那么访问nas.123.com就可以访问这个设备 

按照这种格式可以配置多个二级域名,分别穿透不同的端口,单域名穿透多端口暂时不知怎么实现。

配置完成后按ESC输入:wq保存配置文件并且运行程序

./frpc -c ./frpc.ini

此时在服务端会看到"start proxy sucess"字样,即连接成功。

同理需要后台运行则先停止,再输入

nohup ./frpc -c ./frpc.ini &

测试运行

打开浏览器输入subdomain参数配置的二级域名+域名+服务端口,端口可以在服务端的WEB面板里面看见,也可以自定义

Last modification:January 11th, 2020 at 01:44 pm