使用VPS等公网服务器进行内网穿透

Auth:jackyzou       Date:2025/12/24       Cat:学习       Word:共2349字       Views:8

一、环境要求

FRP、公网服务器(VPS)

FRP(Fast Reverse Proxy) 是一个开源的高性能反向代理工具,常用于:

将内网的 Web、SSH、RDP、数据库等服务暴露到公网,从而在不同外网访问内网设备服务,以实现内网穿透

内网穿透的核心思想:由内网主机主动连接一台有公网 IP 的服务器,再通过这台服务器转发外部请求。

FRP 由两个程序组成:

1️⃣ frps(服务端)

  • 部署在 有公网 IP 的服务器 上(云服务器)
  • 负责监听公网端口、转发流量

2️⃣ frpc(客户端)

  • 部署在 内网机器 上
  • 主动连接 frps,并把内网服务映射到公网

二、搭建流程

第一步:检查服务器架构

在服务器终端运行:

arch
  • 如果输出 x86_64,下载 amd64 版本(绝大多数云服务器都是这个)。
  • 如果输出 aarch64,下载 arm64 版本。

第二步:下载并解压

前往 FRP GitHub Releases 获取最新版链接,或者通过wget下载到服务器。

以 v0.61.0 为例:

# 下载
wget https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz

# 解压
tar -zxvf frp_0.61.0_linux_amd64.tar.gz

# 进入目录
cd frp_0.61.0_linux_amd64

第三步:配置服务器端并启动

文件中已经包含客户端frpc与服务端frps两个文件,

服务端只需要 frps 这个程序和 frps.toml配置文件。

  1. 修改配置文件:

    vim frps.toml
  2. 输入以下基础配置:

    bindPort = 7000  # 服务端与客户端通信的端口
    
    # 可选:如果你想查看后台面板
    webServer.port = 7500
    webServer.addr = "0.0.0.0"
    webServer.user = "admin"
    webServer.password = "123456"
    
    # 可选:设置连接密钥,增加安全性
    # auth.token = "你的安全令牌"

第四步:设置 systemd 后台运行(推荐)

为了让 frps 在后台稳定运行,并随系统自动启动,我们可以其设置为系统服务systemd

可以请在当前终端输入:

pwd

记下显示的路径(例如:/root/frp_0.61.0_linux_amd64)。

我的安装路径为/root/frp_0.61.0_linux_amd64

按照以下步骤操作即可:

1. 创建服务文件

在终端执行:

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

2. 复制并粘贴以下内容

我已经根据你的路径替换好了所有参数:

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
# 使用你的绝对路径
ExecStart=/root/frp_0.61.0_linux_amd64/frps -c /root/frp_0.61.0_linux_amd64/frps.toml
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

3. 激活并启动服务

依次执行以下四条命令:

# 重载系统服务列表
sudo systemctl daemon-reload

# 设置开机自启
sudo systemctl enable frps

# 启动 frps
sudo systemctl start frps

# 查看状态
sudo systemctl status frps

4. 验证运行情况

如果看到绿色的 active (running),说明服务端已经成功化身为后台守护进程在运行了。

如果以后想看 frps 运行得怎么样,可以用这个命令查看实时日志:

sudo journalctl -u frps -f

5.确保端口放行

放行防火墙:放行端口7000,如果你想外网访问控制台也可以放行7500端口

既然你已经在服务器上成功运行了 frps(服务端),现在我们需要在你的 Windows 电脑上配置 frpc(客户端)。

第五:配置客户端运行

由于你的服务器版本是 0.61.0,客户端也必须使用对应的 Windows 版本(通常是 windows_amd64)。

  1. 前往 FRP GitHub Releases 下载 frp_0.61.0_windows_amd64.zip
  2. 将其解压到本地一个方便的目录,例如 D:\frp

在解压后的文件夹里找到 frpc.toml(如果没有就新建一个),用记事本打开,粘贴并修改以下内容(以windows远程桌面为例):

serverAddr = "你的服务器公网IP"
serverPort = 7000              # 必须与服务器 frps.toml 中的 bindPort 一致

# 如果你在服务端设置了 auth.token,这里必须加上
# auth.token = "你在服务端设置的令牌"

[[proxies]]
name = "remote-desktop"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389               # Windows 远程桌面默认端口
remotePort = 27582             # 你在服务器上放行的那个端口

不要直接双击运行 frpc.exe!它是一个命令行程序,双击会闪退。

  1. D:\frp 文件夹的空白处,按住 Shift + 鼠标右键,选择“在此处打开 PowerShell 窗口”或“在终端中打开”。
  2. 输入以下命令并回车:

    .\frpc.exe -c .\frpc.toml
  3. 检查日志:

    • 如果看到 start proxy success,恭喜你,内网穿透已经建立成功!

最后,同样要在服务器放行配置的27582端口,同时需要在window防火墙打开3389端口,如有其他服务只需要在客户端添加proxies和服务器放行端口即可。

⚑Tags:      

除非注明,元歌的博客文章均为原创,本文地址 https://blog.jackyzou.tech/index.php/2025/12/24/107/,转载请以链接形式注明出处。

作者: 简介:

《使用VPS等公网服务器进行内网穿透》留言数:0

发表留言