Loading... 在 Ubuntu 系统上搭建 FRPC 客户端(而非服务端)用于内网穿透是一项常见的需求。FRPC(Frp Client)是一个用于内网穿透的客户端工具,通过它可以使位于内网中的服务(例如 Web 服务或数据库)通过公网进行访问。 本文将详细讲解如何在 Ubuntu 系统上配置 FRPC 客户端,并进行合理的推理分析,确保每一步都易于理解且符合 Ubuntu 环境的操作要求。 ## 1. 环境准备 在进行 FRPC 的配置前,需要确保您的 Ubuntu 服务器已经具备以下环境: - **Ubuntu 18.04 或更高版本**。 - **网络连接正常**。 - **已安装 wget 或 curl,用于下载 FRPC 客户端**。 - **FRPC 客户端需要与公网服务器上的 FRPS(Frp Server)进行连接,确保公网服务器已经搭建好 FRPS 服务端**。 ## 2. 下载并安装 FRPC 客户端 首先,从 Frp 的官方 GitHub 项目中下载最新版本的 FRPC 客户端。 1. 使用 `wget` 下载最新版本的 FRP: ```bash wget https://github.com/fatedier/frp/releases/download/v0.41.0/frp_0.41.0_linux_amd64.tar.gz ``` 解释:此命令使用 `wget` 从官方仓库中下载最新的 FRP 客户端文件包,`frp_0.41.0_linux_amd64.tar.gz` 表示适用于 64 位 Linux 系统的压缩包。 2. 解压下载的文件包: ```bash tar -zxvf frp_0.41.0_linux_amd64.tar.gz ``` 解释:`tar -zxvf` 命令用于解压 tar.gz 格式的文件,解压后会得到一个包含多个文件的目录。 3. 进入解压后的目录: ```bash cd frp_0.41.0_linux_amd64 ``` 解释:`cd` 命令用于切换到解压后的文件目录,这里将包含 FRPC 可执行文件及配置文件模板。 ## 3. 配置 FRPC 客户端 解压完成后,我们需要配置 FRPC 客户端。FRPC 通过配置文件定义内网穿透的相关参数。 1. 使用文本编辑器(如 `vim` 或 `nano`)创建并编辑 FRPC 的配置文件: ```bash vim frpc.ini ``` 2. 在 `frpc.ini` 中编写 FRPC 的配置信息,假设您要将本地 8080 端口的服务暴露到公网,基本配置如下: ```ini [common] server_addr = 公网服务器IP server_port = 7000 [web] type = http local_ip = 127.0.0.1 local_port = 8080 remote_port = 8080 ``` **配置解释**: - `[common]`:这是 FRPC 与 FRPS 的公共配置部分。 - `server_addr`:这是 FRPS 服务器的公网 IP 地址。 - `server_port`:这是 FRPS 服务器端监听的端口,默认是 7000。 - `[web]`:这是一个自定义的名称,表示该段配置是关于 HTTP 服务的。 - `type`:指定穿透服务的类型为 `http`。 - `local_ip`:指向本地运行服务的 IP 地址,这里通常是 `127.0.0.1`。 - `local_port`:本地服务监听的端口,在这里是 `8080`,即本地服务端口。 - `remote_port`:远程服务器上的映射端口,在这里也是 `8080`,表示 FRPC 会将公网请求转发至本地的 8080 端口。 3. 保存并退出配置文件。 ## 4. 启动 FRPC 客户端 完成配置文件后,可以启动 FRPC 客户端,连接 FRPS 服务端并开始工作。 1. 启动 FRPC: ```bash ./frpc -c ./frpc.ini ``` 解释:此命令使用 `-c` 参数指定了配置文件 `frpc.ini`,FRPC 会根据配置文件的内容开始运行并连接到 FRPS 服务器。 2. 验证 FRPC 是否启动成功: 启动成功后,FRPC 会显示与 FRPS 服务器建立连接的日志。可以通过以下命令查看日志输出: ```bash tail -f frpc.log ``` 解释:`tail -f` 命令实时查看日志文件,您可以检查连接是否正常以及是否有错误输出。 ## 5. 设置 FRPC 为系统服务 为了确保 FRPC 在服务器重启后依然自动启动,我们可以将 FRPC 配置为系统服务。 1. 创建 systemd 服务文件: ```bash sudo vim /etc/systemd/system/frpc.service ``` 2. 在文件中添加以下内容: ```ini [Unit] Description=FRPC Client Service After=network.target [Service] Type=simple User=root ExecStart=/path/to/frpc -c /path/to/frpc.ini Restart=on-failure [Install] WantedBy=multi-user.target ``` **配置解释**: - `[Unit]`:定义服务的描述和依赖项。`After=network.target` 确保 FRPC 在网络服务启动后才会启动。 - `[Service]`:定义如何启动服务。`ExecStart` 用于指定 FRPC 的执行路径和配置文件路径,`Restart=on-failure` 确保服务在失败时自动重启。 - `[Install]`:定义服务的安装选项,`multi-user.target` 确保服务在系统进入多用户模式时启动。 3. 重新加载 systemd 配置: ```bash sudo systemctl daemon-reload ``` 解释:此命令用于重新加载 systemd 配置,使新的服务文件生效。 4. 启动 FRPC 服务: ```bash sudo systemctl start frpc ``` 解释:使用 `systemctl start` 启动 FRPC 服务。 5. 设置开机自动启动: ```bash sudo systemctl enable frpc ``` 解释:此命令将 FRPC 设置为开机自动启动。 ## 6. 验证内网穿透 启动 FRPC 并成功连接 FRPS 后,您可以在公网服务器上通过浏览器或其他客户端访问您的本地服务。例如,假设您的公网 IP 是 `123.456.789.0`,可以通过 `http://123.456.789.0:8080` 访问本地 8080 端口的服务。 --- ## 7. FRPC 配置与运行原理表 | 配置项 | 功能描述 | | -------------------- | ---------------------------------------------------- | | `server_addr` | 指定 FRPS 公网服务器的 IP 地址 | | `server_port` | 指定 FRPS 服务器的监听端口,通常为 7000 | | `local_ip` | 指定本地服务的 IP 地址,通常为 127.0.0.1 | | `local_port` | 指定本地服务的监听端口,比如 8080 | | `remote_port` | 指定公网服务器上的映射端口,外部访问时使用此端口 | | `type` | 指定内网穿透的类型,可以是 http、tcp 等 | | `systemd` 服务配置 | 定义 FRPC 作为系统服务,确保其在开机时自动启动并运行 | --- ## 8. 总结 在 Ubuntu 上搭建 FRPC 客户端是实现内网穿透的重要步骤。通过正确的配置和系统服务的设置,您可以确保 FRPC 持续稳定地将内网服务暴露到公网。这一过程通过明确的配置文件定义本地与远程服务之间的映射关系,结合系统化的服务管理,能够为用户提供便捷的访问方式。 最后修改:2024 年 09 月 16 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏