<返回更多

内网穿透神器frp推荐!教你如何一劳永逸的对外暴露内网服务

2020-03-13    
加入收藏

背景

创业公司为节约运维成本,往往把应用服务放在阿里云等平台上。除了对外服务,公司还存在一些对内的测试环境、监控等服务,如果这些内部服务同时也有外网访问的需求。直接用云平台构建也蛮省事,但对于初创公司而言,会是一笔不小的成本。本文章将介绍一种更好的方式:基于frp开源工具,构建一个外网可访问的内网穿透环境。

前提条件

外网可访问,必须要有一个外网的固定ip。这个ip可以是运营商安装网络时给的(一般运营商网络多是浮动ip,要固定网络ip需额外掏钱购买),也可以是一台阿里云服务器(云服务器上有绑定对外的固定ip)。本文以一台阿里云主机作为内网穿透的跳板接入入口。即构建环境必须满足以下两个条件:

  1. 一台阿里云主机
  2. 内网环境至少一台机器能访问外网(运营商网络可以是浮动ip)

方案原理

以阿里云主机作为外网访问的跳板入口,通过内网穿透工具frp,转发请求到内网环境,以达到内网环境服务对外开放的目的。其中云主机上需安装frp内网穿透server端,公司内网环境安装frp client端,依靠frp server 到 client的连接作为内外网数据交换的通道。

frp地址

frp官方地址:

GitHub - fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.

frp下载地址:

Releases · fatedier/frp · GitHub

安装

Frp使用Go语言开发,支持linux、window、mac等操作系统。安装非常方便,选择平台下载相应安装包,解压即可使用。本文以Linux centos系统为例介绍。

安装目录执行以下命令:

wget https://github.com/fatedier/frp/releases/download/v0.31.0/frp_0.31.0_linux_amd64.tar.gz
tar xzvf frp_0.31.0_linux_amd64.tar.gz
mv frp_0.31.0_linux_amd64 frp

cd frp目录

 

内网穿透神器frp推荐!教你如何一劳永逸的对外暴露内网服务

 

其中frps前缀是服务端相关文件,frpc前缀为客户端相关文件。

服务端配置

编辑服务端frps.ini配置文件

vi frps.ini

内网穿透神器frp推荐!教你如何一劳永逸的对外暴露内网服务

 

bind_port:frps服务端监听端口,用于frpc客户端建立连接时使用。

vhost_http_port:http访问监听端口,可根据需要自行调整其他端口。

vhost_https_port:https访问监听端口,可根据需要自行调整其他端口。

subdomain_host:子域名地址定义。用于服务端请求域名地址转发,如***.com

dashboard:一个简单的frp服务监控面板设置。

注意:以上配置端口,在云主机上需开放对应端口访问权限,否则服务将无法正常访问。

 

完成配置后,启动frps服务

nohup ./frps -c frps.ini &

客户端配置

编辑frpc.ini客户端配置

内网穿透神器frp推荐!教你如何一劳永逸的对外暴露内网服务

 

server_addr:frps服务端ip地址,对应云主机外网访问ip地址。

server_port:对应frps服务端监听端口,这里7000与上一步配置端口对应。

[web]:转发规则配置分组。

type:协议类型。http或https等。

local_port:请求转发端口。

subdomain:请求转发子域名域名地址。frps.ini文件subdomain_host定义了***.com子域名,这里实际对应test.***.com格式的域名请求地址。

注意:以上配置端口,需开放防火墙对应端口限制,否则访问可能失败。

完成配置后,启动frpc服务

nohup ./frpc -c frpc.ini &

小结

完成以上步骤,内网服务器上启动相关服务。浏览器访问test.***.com域名服务,即可在外网访问内部服务。

本文介绍了内网穿透工具frp的使用背景,构建方式。通过简单的frp服务端和客户端配置,实现了内网服务的外网域名访问。实际frp的实现远远不止http/https域名的穿透访问,它也支持ssh、tcp、udp等路由功能,有兴趣的小伙伴可以自行参考官网介绍。这里仅做抛砖引玉,欢迎一起深入讨论。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>