【玩转Lighthouse】使用腾讯云轻量应用服务器运用FRP搭建内网穿透服务器并在群晖上面配置使用内网穿透

2022-05-17 09:14:57 浏览数 (1)

【玩转Lighthouse】使用腾讯云轻量应用服务器运用FRP搭建内网穿透服务器并在群晖上面配置使用内网穿透

有的时候我们需要在外网能够访问当内网中的内容。比如公司内网的 git 、数据库、远程操作。有时候为了方便调试一些三方服务,比如微信、支付宝这一类需要异步回调的调试的服务内容,我们通常需要一个外网服务器,但是外网服务器对代码调试不是太方便,虽说 PHP 有像 Xdebug这一类的开发工具,但是配置远程调试却是非常麻烦,而且还很容易失败。 所以我们就需要一个方便好用的内网穿透的服务存在。

青阳今天给大家带来的是使用腾讯云轻量应用服务器运用FRP搭建内网穿透服务器并在群晖上面配置使用内网穿透。FRP是什么

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

一、为什么使用 frp ?

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

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

二、部署环境准备

外网服务器1台:个人推荐使用腾讯云的轻量应用服务器

来自腾讯云官网:轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、小程序/小游戏、电商、云盘/图床以及各类开发测试和学习环境,相比普通云服务器更加简单易用,提供高带宽流量包并以套餐形式整体售卖基础云资源,将热门开源软件融合打包实现一键构建应用,是您使用腾讯云的最佳入门途径。

内网机器1台(内网没有机器穿透个寂寞么)

三、服务器安装frp

这里可以直接使用腾讯云的控制台面板的登录就可以了,记得使用sudo -i切换到管理员权限进行下面的操作

下载地址 下载linux版本这里建议大家使用最新版本
代码语言:txt复制
wget https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz
解压到/usr/local/frp目录
代码语言:txt复制
tar zxf frp_0.31.1_linux_amd64.tar.gz
mv frp_0.31.1_linux_amd64 /usr/local/frp
配置服务端frps.ini
代码语言:txt复制
vim frps.ini

[common]
bind_port = 7000
vhost_http_port = 8080

使用ins或i插入,完成复制完成之后,按esc退出 :wq 保存退出

启动
代码语言:txt复制
cd /usr/local/frp

./frps -c ./frps.ini

四、群晖端配置

  1. 下载地址https://github.com/fatedier/frp/releases 下载cpu对应版本 一般 系列amd64 j系列arm 不管什么版本下面配置步骤都是一样的。 群晖应该下载linux版本的1650287914452.png1650287914452.png
  2. 在群晖新建一个文件夹,建议命名frp(可以自拟不影响,修改之后后面的请一起修改1650288013173.png1650288013173.png1650288112301.png1650288112301.png
  3. 上次我们刚刚下载好的文件,然后直接在群晖内解压缩1650288237814.png1650288237814.png
  4. 进入到文件夹中配置frpc.ini1650288348611.png1650288348611.png
代码语言:txt复制
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
 
[dsm]
type = tcp
local_ip = 0.0.0.0
local_port = 5000
remote_port = 5000
  1. 查看刚刚解压的文件夹属性找到文件夹位置复制(我这里的位置是:/volume1/homes/admin/frp/frp_0.41.0_linux_amd64)
  2. 配置计划任务 服务-任务计划-新增-计划的任务-用户定义的脚本-新增脚本写下面的代码内容 1650288703748.png1650288703748.png1650288834198.png1650288834198.png
代码语言:txt复制
cd /volume1/homes/admin/frp/frp_0.41.0_linux_amd64
#这个是根据刚才的位置来配置的

./frpc -c ./frpc.ini
1650288877827.png1650288877827.png
1650289006933.png1650289006933.png

这个提示直接确定即可。

1650289106629.png1650289106629.png

五、 配置服务开机启动

linux下配置服务
代码语言:txt复制
vim /etc/systemd/system/frps.service

[Unit]
Description=frps daemon
After=syslog.target  network.target
Wants=network.target
 
[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
Restart= always
RestartSec=1min
 
[Install]
WantedBy=multi-user.target
配置开机启动配置开机启动
启动frps
代码语言:txt复制
sudo systemctl start frps
# 启动服务 
sudo systemctl enable frps
# 开机自启
sudo systemctl status frps
# 状态查询
sudo systemctl restart frps
# 重启服务
sudo systemctl stop frps

至此所有教程部分到此结束,FRP还有其他更多的玩法,朋友可以到我博客和我交流,也可以可以写邮件讨论 me@email.hb.cn

博主站点

博主的个人博客地址是:https://www.hipyt.cn/

期待下一次给大家带来更好的教程,我们下次再见。

0 人点赞