frp内网穿透以及服务化
# 在 Linux (服务端) 和 Windows (客户端) 上安装 FRP
本指南将指导您如何在 Linux 服务器上安装 frps (服务端),并将其配置为 systemd 服务;同时,指导您如何在 Windows 客户端上安装 frpc (客户端),并将其设置为开机自启的 Windows 服务。
FRP 包括两个主要组件:
- frps: 服务端,部署在具有公网 IP 的服务器上。
- frpc: 客户端,部署在需要进行内网穿透的本地 Windows 机器上。
# 服务端 (Linux) 安装步骤
# 步骤 1: 在服务器上下载并解压 FRP
首先,我们需要从 FRP 的 GitHub Releases (opens new window) 页面下载最新的 Linux 版本。请确保选择与您的服务器系统架构相匹配的版本(例如 amd64, arm64)。
获取最新版本链接 访问发布页面,找到最新的
frp_*_linux_*.tar.gz格式的压缩包链接。下载并解压 通过 SSH 登录到您的服务器,执行以下命令。将下面的
FRP_VERSION和FRP_ARCH替换为您选择的版本和架构。# 下载 wget "https://github.com/fatedier/frp/releases/download/v0.65.0/frp_0.65.0_linux_amd64.tar.gz" # 解压 tar -zxvf "frp_0.65.0_linux_amd64.tar.gz" # 进入解压后的目录 cd "frp_0.65.0_linux_amd64"1
2
3
4
5
6
7
8
# 步骤 2: 在服务器上安装 FRP 程序文件
# 将 frps 可执行文件移动到 /usr/local/bin
sudo mv frps /usr/local/bin/frps
# 创建 frp 配置目录
sudo mkdir -p /etc/frp
# 移动服务端配置文件
sudo mv frps.toml /etc/frp/frps.toml
sudo mv frps_full.toml /etc/frp/frps_full.toml.example
2
3
4
5
6
7
8
9
# 步骤 3: 配置服务端 (/etc/frp/frps.toml)
在您的 公网服务器 上,编辑 frps.toml 文件:
sudo nano /etc/frp/frps.toml
这是一个基本的服务端配置示例:
# frp 服务端监听的端口,用于接收客户端连接
bindPort = 7000
# 身份验证令牌,客户端连接时必须提供相同的令牌
auth.token = "YOUR_STRONG_SECRET_TOKEN"
# Dashboard 配置(可选)
# 可以通过浏览器访问 Dashboard 监控 frp 状态
webServer.addr = "0.0.0.0" # 改为 0.0.0.0
webServer.port = 7500
webServer.user = "admin"
webServer.password = "YOUR_DASHBOARD_PASSWORD"
2
3
4
5
6
7
8
9
10
11
12
安全提示: 请务必将
YOUR_STRONG_SECRET_TOKEN和YOUR_DASHBOARD_PASSWORD替换为强密码。如果您的服务器有防火墙,请确保开放7000和7500端口(或其他您自定义的端口)。
# 步骤 4: 为服务端创建 systemd 服务
在您的 公网服务器 上,创建并编辑 frps.service 文件:
sudo nano /etc/systemd/system/frps.service
将以下内容粘贴到文件中:
[Unit]
Description=FRP Server
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.toml
[Install]
WantedBy=multi-user.target
2
3
4
5
6
7
8
9
10
11
12
13
# 步骤 5: 启动并管理服务端 (frps)
在 公网服务器 上执行:
# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 启动 frps 服务
sudo systemctl start frps
# 设置 frps 开机自启
sudo systemctl enable frps
# 查看 frps 服务状态
sudo systemctl status frps
# 实时查看 frps 服务日志 (按 Ctrl+C 退出)
sudo journalctl -u frps -f
2
3
4
5
6
7
8
9
10
11
12
13
14
如果服务状态显示 active (running),则表示 frps 已成功启动。您可以通过 journalctl -u frps -f 命令实时查看服务日志,以便排查问题或监控运行状态。
# 客户端 (Windows) 安装步骤
# 步骤 1: 在 Windows 上下载并解压 FRP
下载 FRP 访问 FRP 的 GitHub Releases (opens new window) 页面,下载最新的适用于 Windows 的压缩包(文件名通常为
frp_*_windows_amd64.zip)。解压并移动 将下载的
.zip文件解压。为了方便管理,建议将解压后的整个文件夹重命名为frp并移动到一个稳定的位置,例如C:\frp。完成此步骤后,您的
frpc.exe和frpc.toml文件应该位于C:\frp目录中。
# 步骤 2: 配置客户端 (C:\frp\frpc.toml)
在您的 本地 Windows 机器 上,用记事本或其他文本编辑器打开 frpc.toml 文件。
这是一个将本地远程桌面服务(端口 3389)穿透到公网的配置示例:
# 您的公网服务器 IP 或域名
serverAddr = "YOUR_SERVER_IP"
# 与服务端 bindPort 保持一致
serverPort = 7000
# 与服务端 auth.token 保持一致
auth.token = "YOUR_STRONG_SECRET_TOKEN"
[[proxies]]
name = "rdp"
# 代理类型
type = "tcp"
# 本地需要暴露的服务的 IP 地址
localIP = "127.0.0.1"
# 本地需要暴露的服务的端口(3389 是远程桌面默认端口)
localPort = 3389
# 在公网服务器上监听的端口
remotePort = 6001
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
说明: 这个配置会将您本地机器的 3389 端口映射到公网服务器的 6001 端口。您可以通过远程桌面连接
YOUR_SERVER_IP:6001来访问本地机器。
# 步骤 3: 设置 FRP 为 Windows 服务 (使用 WinSW)
为了让 frpc 能在后台运行并开机自启,我们使用一个名为 WinSW (opens new window) 的工具来将其创建为 Windows 服务。
下载 WinSW
- 访问 WinSW Releases 页面 (opens new window)。
- 下载最新的
WinSW-x64.exe文件。
配置 WinSW
- 将下载的
WinSW-x64.exe文件移动到您的C:\frp目录下。 - 将它重命名为
frpc-service.exe。 - 在
C:\frp目录下创建一个新的 XML 文件,命名为frpc-service.xml。
- 将下载的
编辑 XML 配置文件 用文本编辑器打开
frpc-service.xml,并粘贴以下内容:<service> <id>frpc</id> <name>FRP Client Service</name> <description>FRP Client Service (frpc) for network penetration.</description> <executable>C:\frp\frpc.exe</executable> <arguments>-c C:\frp\frpc.toml</arguments> <logmode>rotate</logmode> <onfailure action="restart" delay="5 sec"/> <startmode>Automatic</startmode> </service>1
2
3
4
5
6
7
8
9
10
# 步骤 4: 安装并管理 FRP 客户端服务
现在,您可以使用 frpc-service.exe 来管理 FRP 服务了。
打开命令提示符 (管理员) 在开始菜单中搜索
cmd,右键点击“命令提示符”,然后选择“以管理员身份运行”。进入 FRP 目录 在管理员命令提示符中,输入以下命令并按回车:
cd C:\frp1安装和管理服务 使用以下命令来管理服务:
REM 安装服务 frpc-service.exe install REM 启动服务 frpc-service.exe start REM 停止服务 frpc-service.exe stop REM 重启服务 frpc-service.exe restart REM 卸载服务 frpc-service.exe uninstall1
2
3
4
5
6
7
8
9
10
11
12
13
14验证服务状态 您可以打开 Windows 的“服务”应用 (
services.msc),在列表中找到名为FRP Client Service的服务,检查其状态是否为“正在运行”。如果服务启动失败,可以检查C:\frp目录下的frpc-service.err.log文件来排查问题。