前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用腾讯云轻量应用服务器运用FRP搭建内网穿透服务器

使用腾讯云轻量应用服务器运用FRP搭建内网穿透服务器

原创
作者头像
青阳
修改2021-08-09 10:44:55
13.1K2
修改2021-08-09 10:44:55
举报
文章被收录于专栏:玩转云服务

使用腾讯云轻量应用服务器运用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)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、小程序/小游戏、电商、云盘/图床以及各类开发测试和学习环境,相比普通云服务器更加简单易用,提供高带宽流量包并以套餐形式整体售卖基础云资源,将热门开源软件融合打包实现一键构建应用,是您使用腾讯云的最佳入门途径。 【腾讯云】轻量应用服务器Lighthouse,上云「轻」而易举,1核1G3M低至128元/年,高带宽首选 (连接有博主的AFF)

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

三、服务器安装frp

下载地址 下载linux版本
代码语言:javascript
复制
wget https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz
解压到/usr/local/frp目录
代码语言:javascript
复制
tar zxf frp_0.31.1_linux_amd64.tar.gz
mv frp_0.31.1_linux_amd64 /usr/local/frp
配置服务端frps.ini
代码语言:javascript
复制
vim frps.ini

[common]
bind_port = 7000
vhost_http_port = 8080

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

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

./frps -c ./frps.ini

四、客户端配置

  1. 下载地址https://github.com/fatedier/frp/releases 下载win版本
  2. 解压到C:\Program Files\frp目录
  3. 配置frpc.ini
代码语言:javascript
复制
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
 
[RDP]
type = tcp
local_ip = 0.0.0.0
local_port = 3389
remote_port = 6666
  1. 在命令行中启动frp客户端(建议用管理员模式运行)
代码语言:javascript
复制
C:\Program Files\frp\frpc.exe -c C:\Program Files\frp\frpc.ini
等待启动完成
代码语言:javascript
复制
2020/01/11 13:18:22 [I] [service.go:250] [e126185cb2716a8e] login to server success, get run id [e126185cb2716a8e], server udp port [0]
2020/01/11 13:18:22 [I] [proxy_manager.go:144] [e126185cb2716a8e] proxy added: [RDP]
2020/01/11 13:18:22 [I] [control.go:164] [e126185cb2716a8e] [RDP] start proxy success
连接测试

五、 配置服务开机启动

linux下配置服务
代码语言:javascript
复制
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
代码语言:javascript
复制
sudo systemctl start frps
# 启动服务 
sudo systemctl enable frps
# 开机自启
sudo systemctl status frps
# 状态查询
sudo systemctl restart frps
# 重启服务
sudo systemctl stop frps
win下配置服务

借助 winsw 工具可以将frpc注册为windows系统中的服务

将下载的winsw.exe放到frpc.exe同目录下,并填写winsw.xml配置文件

代码语言:javascript
复制
<service>
    <id>frp</id>
    <name>frp</name>
    <description>用frp发布本地电脑网站到外网</description>
    <executable>frpc</executable>
    <arguments>-c frpc.ini</arguments>
    <logmode>reset</logmode>
</service>

然后使用winsw install将frpc安装为系统服务。

winsw 下载地址: https://github.com/kohsuke/winsw/releases

创建与winsw同名的配置文件,后缀为xml

此处以配置FRP客户端为例:

代码语言:javascript
复制
<service>
	<!-- 该服务的唯一标识 -->
    <id>frp</id>
    <!-- 该服务的名称 -->
    <name>frp0.27.1-windows-amd64</name>
    <!-- 该服务的描述 -->
    <description>frpc客户端 这个服务用 frpc 实现内网穿透</description>
    <!-- 要运行的程序路径 -->
    <executable>D:\Software\frp\frp_0.27.1_windows_amd64\frpc.exe</executable>
    <!-- 携带的参数 -->
    <arguments>-c frpc.ini</arguments>
    <!-- 第一次启动失败 60秒重启 -->
    <onfailure action="restart" delay="60 sec"/>
    <!-- 第二次启动失败 120秒后重启 -->
    <onfailure action="restart" delay="120 sec"/>
    <!-- 日志模式 -->
    <logmode>append</logmode>
    <!-- 指定日志文件目录(相对于executable配置的路径) -->
    <logpath>logs</logpath>
</service>
使用的方法
代码语言:javascript
复制
//注册服务
winsw.exe install
//卸载服务
winsw.exe uninstall
//启动服务
winsw.exe start
//停止服务
winsw.exe stop
//重启服务
winsw.exe restart
//查看状态
winsw.exe status

最后以上所有的操作都最好是管理员模式运行。

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

博主站点

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

最后

安利一下,腾讯云限时秒的活动,优惠力度非常大,当前买到就是赚到了,1核2G的配置最低99元一年。

为了保证博主的写作兴趣,请大家有需要的一定要多多支持。以下连接内含(AFF)

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元 腾讯云限时秒杀

【腾讯云】轻量应用服务器Lighthouse,上云「轻」而易举,1核1G3M低至128元/年,高带宽首选

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用腾讯云轻量应用服务器运用FRP搭建内网穿透服务器
    • FRP是什么
      • 为什么使用 frp ?
        • 部署环境准备
          • 三、服务器安装frp
            • 四、客户端配置
              • 五、 配置服务开机启动
                • 博主站点
                  • 最后
                  相关产品与服务
                  云服务器
                  云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档