配置文件 frpc.toml 详解

一、frpc.toml实例

请参照阅读下述各参数的说明进行修改,错误的参数会导致 frpc 无法启动。 点击下载 frpc.toml 实例
frpc.toml 是 frpc 客户端中重要的配置文件,错误的配置会导致服务无法连接,重要的参数错误会导致 frpc 客户端无法启动。

使用 frpc 服务内网穿透到您本地 DSM 、路由器、自建网站等时,您需要解析域名的 CNAME 或 A 到服务商提供的 fprs 服务器地址或 IP ,可以使用泛域名,省去解析其他子域名的麻烦。
Windows 远程桌面、Linux 系统 ssh 连接,可不用自行解析域名,直接使用服务器地址连接即可,您也可以使用自己的域名,只需要解析域名的 CNAME 或 A 到服务商提供的 fprs 服务器地址或IP。
如果登陆不是您自己的主机,说明您的端口可能跟别的用户冲突了,您可以更换远程端口后重试。


二、frpc.toml详解

frpc.toml 主要分为成两部分配置,第一部分为服务器连接配置,第二部分为需内网穿透的服务配置,服务配置包括 Web 访问的 HTTP / HTTPS 协议(服务器开放端口为 80 / 443 )和 TCP / UDP 协议(服务器开放端口为 10001 - 60000 )。

  • 服务器连接配置

    serverAddr = "us.afrp.net"
    frps 服务器的 IP 地址或者域名地址。
    IPv6 的文字地址或主机名必须括在方括号中,例如“[::1]:80”、“[ipv6-host]:http”或“[ipv6-host%zone]:80”
    对于单个IPv6服务器地址,不需要方括号,例如 serverAddr = "::"。
    serverPort = 7000
    frps 服务器连接端口。
    auth.method = "token"
    frps 服务器的认证方式。
    auth.token = "afrp.net"
    frps 服务器的连接口令( token )。
    user = "your_name"
    配置唯一的代理用户名,用于区分其他用户。非常重要的参数,重复会导致 frpc 客户端无法启动。


  • 内网穿透的服务配置
    1. HTTP / HTTPS 协议 Web 穿透服务
      同一个域名只能穿透一个 HTTP / HTTPS 服务,如需穿透多个 Web,请分别为每个 Web 服务分配各自的域名,并正确的将 CNAME 或 A 记录指向 frps 服务器的域名或 IP,可以使用泛域名。
      例如:示例中 nas.yourdomain.com 已经分别配置到了群晖 NAS 的 HTTP 和 HTTPS 端口。如果本地还有其他诸如博客的 Web 服务需要穿透,请再分配例如 www.yourdomain.com 或 blog.yourdomain.com 的二级域名来使用。
      name = "nas.http"
      服务名称: 重点参数,此处为该条穿透服务的名称,必须修改,且不能与其他用户重复。为保证唯一性,建议以 [服务名称.协议] 的方式命名。此条记录重复会导致 frpc 客户端无法启动。加上连接配置中有用户名一般不会出现重复现象,以上述配置为例此条连接在服务器上会显示为:your_name.nas.http
      type = "http"
      协议类型: 确保本条穿透服务使用此协议能够在内网正常使用或访问。
      localIP = "192.168.100.8"
      内网 IP:本地服务所在设备的内网 IP 地址。由于 frpc 客户端有可能安装在 docker 容器中,所以请不要使用 127.0.0.1 来表示本机 IP。
      localPort = 5000
      本地端口:本地服务的端口号。例如群晖 NAS 的 HTTP 管理端口号为 5000。
      customDomains = ["nas.yourdomain.com"]
      自定义域名:为本条穿透服务提供的域名,请确保在域名服务商后台将该域名的 CNAME 指向了本 frps 服务器地址,也就是上文的 serverAddr 地址,如果 serverAddr 为 IP,则指向 A 记录到服务器 IP。配置成功后可以使用你设置的网址访问你的群晖 NAS。
      subdomain = "nas"
      子域名:本站提供了免费的子域名,可以使用 subdomain 参数来为本条穿透服务设置子域名。如果服务商未提供子域名此条配置无效。
      重点提示:当 type = "http" 或者 "https" 协议时, custom_domains 和 subdomain 至少需要任意一条参数,也可以同时存在。如果没有此参数会导致 frpc 客户端无法启动。
      HTTPS 协议参数配置同上述 HTTP 协议,只是协议类型改为 https ,本地端口根据实际情况配置,群晖 NAS 的 HTTPS 管理端口号为 5001
    2. TCP / UDP 协议常用连接
      name = "debian.ssh.tcp"
      服务名称: 重点参数,此处为该条穿透服务的名称,必须修改,且不能与其他用户重复。为保证唯一性,建议以 [服务名称.协议] 的方式命名。此条记录重复会导致 frpc 客户端无法启动。加上连接配置中有用户名一般不会出现重复现象,以上述配置为例此条连接在服务器上会显示为:your_name.debian.ssh.tcp
      type = "tcp"
      协议类型: 确保本条穿透服务使用此协议能够在内网正常使用或访问。例如,尝试在本地终端执行 ssh [email protected] 确保能够正常登录。
      localIP = "192.168.100.21"
      内网 IP:本地服务所在设备的内网 IP 地址。由于 frpc 客户端有可能安装在 docker 容器中,所以请不要使用 127.0.0.1 来表示本机 IP。
      localPort = 22
      本地端口:本地服务的端口号。例如,本地 linux 服务器的默认 SSH 登录端口为 22。
      remotePort = 10022
      远程端口:远程服务的端口号。自定义填写一个远程服务端口号,例如 10022,成功连接后,可以使用 ssh -p 10022 [email protected] 来远程登录你的内网 Linux 服务器。
      远程端口号必须根据服务提供商提供的服务端口范围进行自选填写,确保不要与其他用户重复,如果访问的内容不是自己的服务或无法访问,则表示该端口号已被其他用户使用。此条记录重复或者超出端口号范围会导致无法连接或者 frpc 客户端无法启动。
      重点提示:当 type = "tcp" 时,无需配置上文的两条域名记录,可以直接使用 frpc 服务器的地址作为域名,也可以将自己的域名 CNAME 或 A 记录 指向 frps 服务器的域名或 IP。
      UDP 协议参数配置同上述 TCP 协议,只是协议类型改为 udp ,本地端口根据实际情况配置,一般情况同一服务项目 UDP 协议端口与 TCP 协议端口相同。

      name = "windows11.rdp.tcp"
      服务名称: 重点参数,此处为该条穿透服务的名称,必须修改,且不能与其他用户重复。为保证唯一性,建议以 [服务名称.协议] 的方式命名。此条记录重复会导致 frpc 客户端无法启动。加上连接配置中有用户名一般不会出现重复现象,以上述配置为例此条连接在服务器上会显示为:your_name.windows11.rdp.tcp
      type = "tcp"
      协议类型:确保本条穿透服务使用此协议能够在内网正常使用或访问。例如,尝试在本地使用 Microsoft Remote Desktop 来远程访问该电脑,确保能够正常登录。
      localIP = "192.168.100.10"
      内网 IP:本地服务所在设备的内网 IP 地址。由于 frp 客户端有可能安装在 docker 容器中,所以请不要使用 127.0.0.1 来表示本机 IP。
      localPort = 3389
      本地端口:本地服务的端口号。例如,本地 Windows RDP 的默认端口为 3389。
      remotePort = 13389
      远程端口:远程服务的端口号。自定义填写一个远程服务端口号,例如 13389,成功连接后,可以使用 Microsoft Remote Desktop 将地址填写为 us.afrp.net:13389 来远程登录你的内网 Windows。
      远程端口号必须根据服务提供商提供的服务端口范围进行自选填写,确保不要与其他用户重复,如果访问的内容不是自己的服务,则表示该端口号已被其他用户使用。此条记录重复或者超出端口号范围会导致无法连接或者 frp 客户端无法启动。
      重点提示:当 type = tcp 时,无需配置上文的两条域名记录,可以直接使用 frpc 服务器的地址作为域名,也可以将自己的域名 CNAME 或 A 记录 指向 frps 服务器的域名或 IP。
      UDP 协议参数配置同上述 TCP 协议,只是协议类型改为 udp ,本地端口根据实际情况配置,一般情况同一服务项目 UDP 协议端口与 TCP 协议端口相同,建议使用 Windows 远程桌面时同时穿透 UDP 协议。