【Tools】使用 frp 实现内网穿透:详尽教程


摇来摇去摇碎点点的金黄
伸手牵来一片梦的霞光
南方的小巷推开多情的门窗
年轻和我们歌唱
摇来摇去摇着温柔的阳光
轻轻托起一件梦的衣裳
古老的都市每天都改变模样
                     🎵 方芳《摇太阳》


1. 什么是内网穿透?

内网穿透是一种技术,允许位于防火墙或路由器后面的设备(即内网设备)被外部网络访问。由于 NAT(网络地址转换)和防火墙的存在,内网设备通常无法直接从外网访问。内网穿透技术通过中继服务器或反向代理等方式,突破这一限制,实现内网设备的外网访问。

常见的内网穿透工具包括:

  • frp(Fast Reverse Proxy)
  • ngrok
  • 自己搭建的 VPN

在众多工具中,frp 因其高效、灵活和开源的特性,受到了广泛的关注和使用。

2. frp 简介

frp 是一个高性能的反向代理应用,专注于将内网中的服务安全地暴露到公网。它由两部分组成:

frps(frp Server):部署在拥有公网 IP 的服务器上,负责接收来自客户端的连接请求。
frpc(frp Client):部署在内网中的客户端机器上,负责将本地服务通过 frps 暴露到公网。
frp 支持多种协议,包括 HTTP、HTTPS、TCP、UDP 等,适用于各种场景,如远程桌面、Web 服务、SSH 等。

3. frp 的安装与配置

3.1 准备工作

一台拥有公网 IP 的服务器(如 VPS),用于部署 frps。
内网中的一台或多台需要被访问的设备。

3.2 下载 frp

首先,从 frp 的官方 GitHub 仓库下载适合你系统的 frp 版本。

以 Linux 系统为例:

# 下载 frp(假设版本为 v0.44.0)
wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz

# 解压
tar -zxvf frp_0.44.0_linux_amd64.tar.gz

# 进入目录
cd frp_0.44.0_linux_amd64

4. 实战演练:通过 frp 访问内网 mongo数据库服务

4.1 在 VPS 上配置 frps

frps.toml

bindPort = 7000
webServer.port = 7700
# dashboard's username and password are both optional
webServer.user = "admin"
webServer.password = "admin"

  1. bindPort = 7000
    作用:
    bindPort 是 frp 服务器(frps)用于监听客户端(frpc)连接的端口。当客户端启动并连接到 frp 服务器时,会通过这个端口进行通信。
  2. webServer.port = 7700
    作用:
    webServer.port 指定 frp 服务器的 Web 仪表盘(Dashboard)所使用的端口。通过访问这个端口,您可以监控和管理 frp 服务器的状态和连接情况。
  3. webServer.user = “admin”
    作用:
    webServer.user 设置访问 Web 仪表盘所需的用户名。
  4. webServer.password = “admin”
    作用:
    webServer.password 设置访问 Web 仪表盘所需的密码。

启动 frps:

复制代码
./frps -c frps.toml
4.2 在家中服务器上配置 frpc

frpc.toml

serverAddr = "公网ip"
serverPort = 7000

[[proxies]]
name = "mongo"
type = "tcp"
localIP = "127.0.0.1"
localPort = 27017
remotePort = "公网开放端口"

启动 frpc:

./frpc -c frpc.toml

这样就可以通过公网ip:公网开放端口访问内网mongodb服务

5. 总结

frp 是一款功能强大且易于使用的内网穿透工具,适用于多种场景。通过本文的介绍,你应该已经掌握了 frp 的基本安装与配置方法,并了解了其一些高级功能。无论是远程访问内网服务、搭建个人服务器,还是实现跨网络的应用部署,frp 都能提供便捷的解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值