雪山深处

用 frp 来在 OpenWrt 下实现内网穿透

3 分钟

写在前面

最近从 PandoraBox 转到 OpenWrt 阵营,无奈原本的 phddns 无法使用了,今天摸索了下 frp,发现出乎意料的简单!frp 与普通内网穿透最大的不同是它需要一个有固定公网 IP 的主机或是云服务器(VPS),如果你恰好有那么一个正在挂着博客网站的云服务器,那么它就能派上用场!下面以 Windows Server 2016 来作服务端,以 OpenWrt 18.06.8 来作客户端进行演示。

准备步骤

  1. 下载 frp 作为服务端

    比如我的 VPS 的系统是 Windows、CPU 是 E5,那么我就要下载 windows_amd64。

  2. 解压

    解压后会发现里面主要分为 frps 和 frpc 两种,前者是给服务端后者是给客户端用的,由于我们只需要服务端所以把 frps 相关的发送给你的 VPS 就好,客户端我们使用下面的 openwrt-frp。

  3. 下载 openwrt-frp 作为客户端

    下载客户端端所需的程序,比如我的路由器的系统是 OpenWrt、CPU 是 MT7621,那么我就要下载 mipsel_24kc。

  4. 下载 luci-app-frpc 让我们可以在路由器管理页面操作 frpc

把路由器的 Web 管理页放到公网去

服务端配置

  1. 修改服务端的 frps.ini 文件,设置 http 访问端口为 8000:

    # frps.ini
    [common]
    bind_port = 7000
    vhost_http_port = 8000
  2. 在防火墙 里开放 7000 和 8000 端口,另外安全起见建议你在调试结束后修改默认的 7000 端口或添加客户端身份验证

  3. 启动 frps:

    ./frps -c ./frps.ini

出现 start frps success 即说明启动成功。

客户端配置

修改服务端配置

服务端配置

添加/修改规则

添加/修改规则

启动 openwrt-frpc

启动 openwrt-frpc

成果

当出现服务端出现 http proxy listen for host [router.talaxy.site] 时,说明服务端与客户端已成功建立连接,这之后就能通过访问 http://router.talaxy.site:8000 访问到内网中路由器的 Web 管理页了。

TopNep

让 frp 在后台运行

服务端

Windows: 只要不关掉控制台即可。

Linux: frp 解压后有一份 service 文件,可以添加至系统服务中。

客户端

完全不用其它操作,openwrt-frp 会做好他的工作。

最后

frp 能做的事有很多,你可以查看 这里 学习更多操作,比如把内网的 ssh 放到公网上,或是用来给游戏服务器做内网穿透。

15 Comments
  • Latest
  • Oldest
  • Hottest
匿名2024-11-27

我安装的frpc 没有穿透端口及规则怎么弄

Heresy2024-11-03

frp一定要加端口才能访问吗?openwrt搭建客户端能不能访问其他内网设备,比如openwrt192.168.1.1,nas192.168.1.2。

Talaxy博主2024-11-03

@Heresy:

是的。可以。

匿名2024-01-07

主题好看

匿名2024-01-07

@匿名:

@匿名: 有分享不?

Talaxy博主2024-01-07

@匿名:

@匿名: 谢谢,如果你是指路由器操作界面的主题的话,我用的是:[luci-theme-rosy]https://github.com/rosywrt/luci-theme-rosy

Anonymous2020-11-14

在openwrt上安装frps,使用阿里云ddns,可将openwrt作为frp服务端,省去了云服务器的费用 cool

Talaxy2020-12-02

@Anonymous:

@Anonymous , 确实可以这样 not easy

小董同学2021-12-30

@Anonymous:

@Anonymous , 具体咋操作的,可以介绍下吗?

Anonymous2022-03-29

@Anonymous:

@Anonymous , 那需要公网吧,大内网可以么

Anonymous2022-06-14

@Anonymous:

@Anonymous , 有公网ip何必折腾frp呢

Anonymous2022-08-23

@Anonymous:

有公网ip不需要这样折腾吧

匿名2023-03-23

@Anonymous:

@Anonymous: 云服务器内存和存储不够,只有带宽呢?

Talaxy2020-08-16

测试测试~ dog

匿名2023-08-17

@Talaxy:

77

Powered by Waline v3.15.2