通过FRP自己搭建内网穿透服务

2025-02-11 02:49
433
0

FRP: 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。官方网站

所以注意:本方案要进行内网穿透还是得有一个公网的服务器,可以在云服务器厂商搞活动时购买一个云服务器作为中转节点,较为便宜。

一、服务端部署

公网节点需要部署frps服务端,具体步骤如下:

1、安装 systemd

如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 yum(适用于 CentOS/RHEL)或 apt(适用于 Debian/Ubuntu)来安装它:

# 使用 yum 安装 systemd(CentOS/RHEL)
yum install systemd
# 使用 apt 安装 systemd(Debian/Ubuntu)
apt install systemd

2、下载FRP并上传到服务器

官方下载地址,我下载的是frp_0.60.0_linux_amd64,下载后上传到服务器,以我为例上传到/usr/local目录下,然后通过tar进行解压缩。

tar -zxvf frp_0.60.0_linux_amd64.tar.gz

3、配置frps.toml文件

# HTTP 类型代理监听的端口,HTTP请求访问的端口,80端口我已经用做其他,所以在此使用666作为HTTP端口
vhostHTTPPort = 666
# 服务端监听端口(用来与客户端进行通信),默认值为 7000
bindPort = 7000

# 管理页面配置,端口和账号密码
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "cyx"
webServer.password = "123456"

# 日志信息配置
log.to = "./frpslog/frps.log"
log.level = "info"
log.maxDays = 3

4、创建 frps.service 文件

使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。

$ sudo vim /etc/systemd/system/frps.service

写入内容

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /usr/local/frp_0.60.0_linux_amd64/frps -c /usr/local/frp_0.60.0_linux_amd64/frps.toml
[Install]
WantedBy = multi-user.target

5、使用 systemd 命令管理 frps 服务

# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps

6、设置 frps 开机自启动

sudo systemctl enable frps

二、客户端部署

内网电脑上部署FRP客户端,内网我用的是Windows系统具体步骤如下:(如果是Linux系统可以参考上面的服务端部署,步骤大同小异)

1、下载 FRP

访问 FRP 的 GitHub 发布页面(https://github.com/fatedier/frp/releases),下载适用于 Windows 的 FRP 版本(如 frp_0.xx.0_windows_amd64.zip)。

2.、解压文件

将下载的压缩包解压到一个目录,例如 C:\frp。

3. 配置 FRP客户端文件frpc.toml

# 服务端的地址和端口
serverAddr = "xxx.xxx.xxx.xxx"
serverPort = 7000

[[proxies]]
name = "ai"
type = "http"
localPort = 80
customDomains = ["ai.cyxcoder.cn"]

具体也可以参考官网示例

4、运行FRP客户端

打开命令提示符,进入FRP目录,运行以下命令:

frpc -c frpc.toml

5. 设置为 Windows 服务(可选)

如果你希望 FRP 在后台运行,可以使用工具(如 NSSM)将其注册为 Windows 服务。

  1. 下载 NSSM(https://nssm.cc/)。
  2. 解压,以管理员身份运行命令提示符,切换到nssm所在的目录并运行:./nssm install frpc
  3. 在 NSSM 界面中配置:
    • Path: C:\frp\frpc.exe
    • Startup directory: C:\frp
    • Arguments: -c frpc.ini
  4. 点击 "Install service",完成服务注册。

 

全部评论