2021-08-14

详解 frpc.ini 配置文件

作者 admin

请详细阅读每条参数的说明并修改,错误的参数会直接导致 frp 无法启动.

frpc.ini

frpc.ini 是 frp 客户端中重要的配置文件,错误的配置会导致服务无法访问,部分重要的参数会直接导致 frp 客户端无法启动,点击下载 frpc.ini 样本,并参考以下文档仔细修改每条参数.

frpc.ini 主要分为两部分,其中第一部分 [common] 为服务器连接配置,第二部分为所需穿透的各项服务配置,服务配置又分为需要 Web 访问的 HTTP/HTTPS 协议穿透服务和 TCP 协议穿透服务.

[common]

server_addr = frp.freefrp.net
服务提供商提供的 frp 服务器 IP 地址或者域名地址
server_port = 7000
服务提供商提供的 frp 服务端口号
token = freefrp.net
服务提供商提供的密码

HTTP/HTTPS

同一个域名只能穿透一个 HTTP/HTTPS 服务,如需穿透多个 Web ,请分别为每个 Web 服务分配各自的域名,并正确的将 CNAME 或 A 记录指向 frp 服务器的域名或 IP .
例如 : 示例中 nas.yourname.com 已经分别配置到了群晖 NAS 的 HTTP 和 HTTPS 端口.如果本地还有其他例如博客的 Web 服务器需要穿透,请再分配例如 www.yourname.com 或 blog.yourname.com 的二级域名来使用.

[nas_yourdomain_com_http]
服务名称 : 重点参数,此处为该条穿透服务的名称,必须修改,且不能与其他用户重复.为保证唯一性,建议以类似示例中 [xxx_xxx_com_http] 的方式命名.此条记录重复会导致 frp 客户端无法启动.
type = http
协议类型 : 确保本条穿透服务使用此协议能够在内网正常使用或访问.例如,尝试在本地访问 http://内网IP:内网端口 确保能够正常浏览.
local_ip = 192.168.1.4
内网 IP : 本地服务所在设备的内网 IP 地址.由于 frp 客户端有可能安装在 docker 容器中,所以请不要使用 127.0.0.1 来表示本机 IP.
local_port = 5000
本地端口 : 本地服务的端口号.例如群晖 NAS 的 HTTP 管理端口号为 5000.
custom_domains = nas.yourdomain.com
自定义域名 : 为本条穿透服务提供的域名,请确保在域名服务商后台将该域名的 CNAME 指向了本 frp 服务器地址,也就是上文的 server_addr 地址,如果 server_addr 为 IP ,则指向 A 记录到服务器 IP .配置成功后可以使用 http://nas.yourdomain.com 访问你的群晖 NAS.
subdomain = nas
子域名 : 如果没有自己的域名,并且 frp 服务商提供了免费子域名,可以使用 subdomain 参数来为本条穿透服务设置子域名,例如本站开启了 *.frp.freefrp.net 的免费子域名,此处填写 nas 即代表使用 http://nas.frp.freefrp.net 来访问本条穿透服务.确保不要与其他用户重复,如果访问的内容不是自己的服务,则表示该子域名已被其他用户使用.
重点提示 : 当 type = http 或者 https 协议时, custom_domains 和 subdomain 至少需要任意一条参数,也可以同时存在,如果没有此参数会导致 frp 客户端无法启动.

[nas_yourdomain_com_https]
服务名称 : 重点参数,此处为该条穿透服务的名称,必须修改,且不能与其他用户重复.为保证唯一性,建议以类似示例中 [xxx_xxx_com_https] 的方式命名.此条记录重复会导致 frp 客户端无法启动.
type = https
协议类型 : 确保本条穿透服务使用此协议能够在内网正常使用或访问.例如,尝试在本地访问 https://内网IP:内网端口 确保能够正常浏览.
local_ip = 192.168.1.4
内网 IP : 本地服务所在设备的内网 IP 地址.由于 frp 客户端有可能安装在 docker 容器中,所以请不要使用 127.0.0.1 来表示本机 IP.
local_port = 5001
本地端口 : 本地服务的端口号.例如群晖 NAS 的 HTTPS 管理端口号为 5001.
custom_domains = nas.yourdomain.com
自定义域名 : 为本条穿透服务提供的域名,请确保在域名服务商后台将该域名的 CNAME 指向了本 frp 服务器地址,也就是上文的 server_addr 地址,如果 server_addr 为 IP ,则指向 A 记录到服务器 IP .配置成功后可以使用 https://nas.yourdomain.com 访问你的群晖 NAS.
subdomain = nas
子域名 : 如果没有自己的域名,并且 frp 服务商提供了免费子域名,可以使用 subdomain 参数来为本条穿透服务设置子域名,例如本站开启了 *.frp.freefrp.net 的免费子域名,此处填写 nas 即代表使用 https://nas.frp.freefrp.net 来访问本条穿透服务.确保不要与其他用户重复,如果访问的内容不是自己的服务,则表示该子域名已被其他用户使用.
重点提示 : 当 type = http 或者 https 协议时, custom_domains 和 subdomain 至少需要任意一条参数,也可以同时存在,如果没有此参数会导致 frp 客户端无法启动.

TCP

[yourname_linux_ssh]
服务名称 : 重点参数,此处为该条穿透服务的名称,必须修改,且不能与其他用户重复.为保证唯一性,建议以类似示例中 [yourname_linux_ssh] 的方式命名.此条记录重复会导致 frp 客户端无法启动.
type = tcp
协议类型 : 确保本条穿透服务使用此协议能够在内网正常使用或访问.例如,尝试在本地终端执行 ssh root@192.168.1.5 确保能够正常登录.
local_ip = 192.168.1.4
内网 IP : 本地服务所在设备的内网 IP 地址.由于 frp 客户端有可能安装在 docker 容器中,所以请不要使用 127.0.0.1 来表示本机 IP.
local_port = 22
本地端口 : 本地服务的端口号.例如,本地 linux 服务器的默认 SSH 登录端口为 22.
remote_port = 22222
远程端口 : 远程服务的端口号.自定义填写一个远程服务端口号,例如 22222 ,成功连接后,可以使用 ssh -p 22222 root@frp.freefrp.net 来远程登录你的内网 Linux 服务器.远程端口号必须根据服务提供商提供的服务端口范围进行自选填写,确保不要与其他用户重复,如果访问的内容不是自己的服务,则表示该端口号已被其他用户使用.此条记录重复或者超出端口号范围会导致无法连接或者 frp 客户端无法启动.
重点提示 : 当 type = tcp 时,无需配置上文的两条域名记录,可以直接使用 frp 服务器的地址作为域名,也可以将自己的域名 CNAME 或 A 记录 指向 frp 服务器的域名或 IP .

[yourname_windows10_rdp]
服务名称 : 重点参数,此处为该条穿透服务的名称,必须修改,且不能与其他用户重复.为保证唯一性,建议以类似示例中 [yourname_windows10_rdp] 的方式命名.此条记录重复会导致 frp 客户端无法启动.
type = tcp
协议类型 : 确保本条穿透服务使用此协议能够在内网正常使用或访问.例如,尝试在本地使用 Microsoft Remote Desktop 来远程访问该电脑,确保能够正常登录.
local_ip = 192.168.1.6
内网 IP : 本地服务所在设备的内网 IP 地址.由于 frp 客户端有可能安装在 docker 容器中,所以请不要使用 127.0.0.1 来表示本机 IP.
local_port = 3389
本地端口 : 本地服务的端口号.例如,本地 Windows 的默认远程访问端口为 3389.
remote_port = 33333
远程端口 : 远程服务的端口号.自定义填写一个远程服务端口号,例如 33333 ,成功连接后,可以使用 Microsoft Remote Desktop 将地址填写为 frp.freefrp.net:33333 来远程登录你的内网 Windows.远程端口号必须根据服务提供商提供的服务端口范围进行自选填写,确保不要与其他用户重复,如果访问的内容不是自己的服务,则表示该端口号已被其他用户使用.此条记录重复或者超出端口号范围会导致无法连接或者 frp 客户端无法启动.
重点提示 : 当 type = tcp 时,无需配置上文的两条域名记录,可以直接使用 frp 服务器的地址作为域名,也可以将自己的域名 CNAME 或 A 记录 指向 frp 服务器的域名或 IP .