自建内网穿透服务器(FRP)

 

FRP概述

frp 是什么?

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

为什么使用 frp?

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

  • 客户端服务端通信支持 TCP、QUIC、KCP 以及 Websocket 等多种协议。
  • 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间,降低请求延迟。
  • 代理组间的负载均衡。
  • 端口复用,多个服务通过同一个服务端端口暴露。
  • 支持 P2P 通信,流量不经过服务器中转,充分利用带宽资源。
  • 多个原生支持的客户端插件(静态文件查看,HTTPS/HTTP 协议转换,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
  • 高度扩展性的服务端插件系统,易于结合自身需求进行功能扩展。
  • 服务端和客户端 UI 页面。

 

FRP内网穿透文档

FRP如何安装以及如何使用在官方文档里面有使用说明以及示例

 

准备工作

vps(国内、香港、日本,线路嘛看你自己钱包鼓不鼓)、ssh工具(NxshellXshellfinalShell)、充满智慧的小脑袋瓜(bushi)

 

安装FRP

frp分为服务端和客户端,服务端用在有公网ip的服务器上,客户端用在本地需要内网穿透的设备上。

 

使用ssh工具连接服务器

输入以下代码创建文件夹(便于寻找)

# 创建存放目录
mkdir /etc/frp
# 创建frps.ini文件
nano /etc/frp/frps.ini

 

# 前往frp存放目录
cd /etc/frp
# 下载frp文件
wget https://github.com/fatedier/frp/releases/download/v0.51.0/frp_0.51.0_linux_amd64.tar.gz
# 将frp文件解压
tar -zxvf frp_0.51.0_linux_amd64.tar.gz
# 前往解压出来的frp文件夹
cd frp_0.51.0_linux_amd64
# 将改文件夹内的文件移动至上级目录
mv * ../

上方步骤完成后如下图所示(此时的frps.ini为初始配置状态需要进行更改)

 

# 更改frps.ini文件
nano /etc/frp/frps.ini

配置如下,自行更改登录面板账号密码以及身份验证,然后ctrl+x,输入y然后回车保存并退出

[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置
dashboard_user = moedream
dashboard_pwd = moedream
# 设置http及https协议下代理端口(非重要)
vhost_http_port = 80
vhost_https_port = 443


# 身份验证
token = moedream

 

在frp文件夹中,输入以下命令,要是显示和我一样,诶,那你就成功一半了,这时候在浏览器输入 http://你的公网IP:7500/ 看看能不能访问出来

./frps -c ./frps.ini

 

配置开机自启

# 安装systemd(大部分都有)
# yum
yum install systemd
# apt
apt install systemd
# 创建并编辑 frps.service
nano /etc/systemd/system/frps.service
# frps.service内容
[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
User=root
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /etc/frp/frps -c /etc/frp/frps.ini

[Install]
WantedBy = multi-user.target
# systemd 命令
# 启动frps
systemctl start frps
# 停止frps
systemctl stop frps
# 重启frps
systemctl restart frps
# 查看frps状态
systemctl status frps
# frps开机自启
systemctl enable frps
# 关闭frps开机自启
systemctl disable frps

 

结语

又水一篇(bushi)

 

 

 

 

THE END