自建内网穿透服务器 | Coder 小站

💡 原文中文,约4500字,阅读约需11分钟。
📝

内容提要

本文介绍了基于Docker的FRP内网穿透部署的步骤,包括准备云服务器和内网服务器、安装Docker、部署FRP服务端、配置连接信息、启动服务端和客户端。

🔎

延伸解读

Docker 部署的局限与备选方案

文章提到,在旧安卓手机上通过 AidLux 安装 Docker 时,个人版 AidLux 不支持 Docker,导致无法用 Docker 部署 frp 客户端。作者最终放弃 Docker,改为手动安装 frp。这提醒读者,在非标准环境(如手机上的 Linux)中,Docker 可能不可用,需准备手动部署的备选方案。

架构差异与安装包选择

云服务器通常是 amd64 架构,而内网服务器(如旧手机)可能是 arm64 架构。文章分别下载了 frp_0.38.0_linux_amd64 和 frp_0.38.0_linux_arm64 安装包。读者在部署时需确认设备架构,选择对应的 frp 版本,否则无法运行。

配置项的安全考量

frps.ini 中的 token 用于身份验证,防止未授权的客户端连接。文章示例中 token 为简单数字,实际部署时应设置为强密码。此外,dashboard 账号密码也需修改,避免管理面板被轻易访问。

systemd 管理服务的便利性

文章通过将 frpc.service 和 frps.service 文件复制到 /etc/systemd/system/ 目录,实现了用 systemctl 命令管理 frp 服务。这样可以方便地启动、停止、重启和设置开机自启,也便于查看状态日志,适合长期运行。

❓

Q&A

如何准备云服务器和内网服务器进行FRP内网穿透?

需要购买一台具有公网IP的云服务器和一台内网服务器,内网服务器可以是旧电脑或手机。

如何在云服务器上安装Docker并配置FRP服务端?

在云服务器上安装Docker后,创建frps.ini配置文件并使用docker命令启动FRP服务端。

frps.ini配置文件中各项参数的作用是什么?

frps.ini中的参数包括监听端口、面板端口、身份验证等,决定FRP服务的运行方式和安全性。

如何在内网服务器上安装FRP客户端?

需要手动安装FRP客户端,配置frpc.ini文件,并通过systemctl管理其启动和运行。

如何通过公网访问内网服务器的服务?

成功启动FRP服务后,可以通过公网IP和配置的端口访问内网服务器的服务。

在安装Docker时遇到问题该如何解决?

可以尝试更换apt源,确保安装所需的依赖包,并确保Docker服务已启动。

🏷️

标签

➡️

继续阅读