利用公网 IP 服务器搭建 FRP 内网穿透服务

疫情原因,居家办公。公司网络虽然可以接入外网,却没有公网 IP,然而开发环境大多都在公司网络环境下,所以需要将内网环境服务映射出来,以便在家可以访问。例如代码仓库 GitLab、数据库服务、容器镜像仓库服务、Maven 仓库服务等。


1. 基础条件

  • ★ 具有公网 IP 服务器一个(必要,没有的话可以不用往下看了)
  • 域名一个,用于 http 服务转发时配置子域名(不需要转发 HTTP 的话可以不用)
  • DDNS 动态域名服务(公网 IP 会改变的情况下需要,如果是阿里云之类的服务器则不需要)

2. 域名解析

在这里插入图片描述
这里有点绕,举例说一下:

  1. 假设我的域名是 abc.com
  2. 首先需要一个 A 类型的记录,记录公网 IP,由于我有个 NAS 需要使用,所以主机记录为 nas
  3. 还需要一个 CNAME 类型的记录,主机记录为 *.frp,记录值为 nas.abc.com,即与该域名保持一致 IP

3. 下载安装 FRP

Github 地址是 https://github.com/fatedier/frp
不区分客户端和服务端,都在同一个包中,但是需要区分系统版本和架构信息,下载完成后解压缩。
在这里插入图片描述


4. 服务端(具有公网 IP 服务器)

修改 frps.ini 文件

[common]
bind_port = 11100
vhost_http_port=11101
subdomain_host = frp.abc.com

启动服务

./frps -c ./frps.ini

在这里插入图片描述


5. 客户端(内网机器)

修改 frpc.ini 文件

[common]
server_addr = nas.fukang.site
server_port = 11100
  
[ssh]
type = tcp
local_ip = 172.22.1.240
local_port = 22
remote_port = 11102

[web]
type = http
local_ip = 172.22.1.240
local_port = 8080
subdomain = rancher

[web2]
type = http
local_ip = 172.22.1.171
local_port = 30880
subdomain = kubesphere

启动服务

./frpc -c ./frpc.ini

6. 访问验证

访问 http://kubesphere.frp.abc.com:11101 即可对应访问到内网 http://172.22.1.171:30880 这个服务。
同理,http://rancher.frp.abc.com:11101 也可以访问到内网 172.22.1.240:8080 这个服务。


7. 补充

FRP 是个十分强大的工具,还有许多用法,可以参考 FRP 官方文档

由于宽带运营商 IP 资源有限,即便申请到公网 IP 也不是固定的,一定要 DDNS 动态解析。

条件允许的话,建议购买阿里云、腾讯云等等的云服务器,这样就可以分配固定公网 IP。

如果不想购买云服务器,也可以搭建黑群晖 NAS,十分强大。

  • 1
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值