内网穿透——frp(新一代高性能内网穿透工具)

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。

作者是个中国人,所以在 GitHub 上还有中文文档,写的还挺详细的,不过…… 不去看文档是很多人的特点,所以我这边还是记点东西来介绍下简单的安装和操作配置。

一、Frp 的作用

利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个 80 端口。
利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

二、安装配置

  1. 服务端

frp 提供了热门平台的程序文件,我的是 Linux 64 位平台的,目前最新版本为 v0.16.0
下载地址——> 传送门

wget https://github.com/fatedier/frp/releases/download/v0.16.0/frp_0.16.0_linux_amd64.tar.gz
tar xzf frp_0.16.0_linux_amd64.tar.gz
mv frp_*/ /root/frp/

修改 frps.ini 文件,这里使用了最简化的配置

vi /root/frp/frps.ini

官方完整版配置介绍——> 传送门

[common]
bind_port = 7000              #服务监听端口
dashboard_port = 7001         #Web的Dashboard端口
dashboard_user = xxxx         #访问Dashboard的用户名
dashboard_pwd = xxxxxxxx      #访问Dashboard的密码
privilege_token = xxxxx       #服务端和客户端的 common 配置中的 privilege_token 参数一致则身份验证通过

从 v0.10.0 版本开始后特权模式是唯一可用的模式(因为方便,不用为了一个配置而既要改服务端又要改客户端)

在修改好服务端配置文件后,我们可以启用 frp 的服务端了

./frps -c ./frps.ini

同时别忘了在防火墙开放对应端口

  1. 客户端
    客户端程序自己在 GitHub 上面下,各个平台的包里面 frps 是服务器,frpc 就是客户端
    下载地址——> 传送门

修改 frpc.ini 文件
官方完整版配置介绍——> 传送门

[common]
server_addr = x.x.x.x          #frps服务器ip
server_port = 7000             #frps监听端口
privilege_token = xxxxxx       #frps的特权ID
[ssh]
type = tcp                     #类型:tcp udp
privilege_mode = true          #启用特权模式
local_ip = 127.0.0.1
local_port = 22                #需要进行穿透的本地端口
remote_port = 81               #进行穿透的远程端口
use_encryption = true          #启用加密

在 Linux 等平台下,执行如下命令就行

./frpc -c ./frpc.ini

而在 Windows 下,需要你创建一个 frpc.exe 的快捷方式,然后将参数加到快捷方式属性的目标那一栏的 frpc.exe 后面,也可以自己百度下如果将命令注册为系统服务来实现常驻

成功运行后,使用 frps 服务器 IP,端口 81 既可以访问到 frpc 的 ssh 服务

  1. 成功运行后,访问服务器的 7001 端口会有一个 WebGUI,如下,显示当前的状态,左侧的 Proxies 里会显示客户端注册的各种转发规则

三、设置 frps 开机启动

新建一个 shell 脚本

vi /root/frp.sh

内容如下

cd /root/frp/
./frps -c ./frps.ini

将此 shell 脚本加入开机启动脚本即可

vi /etc/rc.local

结尾添加

nohup sh /root/frp.sh >/dev/null 2>&1 &

文章来自 DUKE BLOG|www.81pla.cn

最后修改:1年前
如果觉得我的文章对你有用,请随意赞赏

共有 0 条评论