云服务器新手配置内网穿透服务(frp)

📅 2026/7/21 17:15:01 👁️ 阅读次数 📝 编程学习
云服务器新手配置内网穿透服务(frp)

首先你得有一个公网服务器,有了它你就可以借助它,将自己电脑进行配置内网穿透,让自己内网电脑也可以异地轻松访问。网上教程较多,特此记录我自己的配置,避免迷路,我这里只记录我自己云服务小白,在搭建内网穿透过程中遇到的一些问题及解决方法。

目录

    • 前言
    • 服务端配置
    • 客户端配置
    • alread exists 连接问题
      • 问题原因
        • 第一种可能
        • 第二种可能
      • 解决方案:

前言

别人写的都比我详细,另可参考:
FRP内网穿透工具:从基础配置到高级功能的完整指南

首先要理解frp内网穿透的原理是啥,它就是服务器和客户端模式,服务器端只要用服务器程序frps(frp server的缩写)运行服务器配置(frps.ini或frps.toml,不管后缀如何,本质就是一个规范格式的txt文件)即可,客户端也只要用客户端程序frpc(frp client的缩写)运行客户端配置(frpc.ini或frpc.toml,不管后缀如何,本质就是一个规范格式的txt文件)即可。

所以一般下载frp压缩包后有主要有四个文件,分别是frps.exe 、frps.ini/frps.toml 、frpc.exe 、frpc.ini/frpc.toml,根据服务器端或者客户端实质使用对应的程序和对应的配置就行了。下面讲怎么配置

服务端配置

所谓服务端就是你拥有公网IP的那个服务器,我的配置

bindPort=7000(该端口必须在防火墙上进行开通) auth.method="token"(默认即可) auth.token="AAAA"(自定义,可以复杂度高一些,内网穿透很重要的东西,记住它) webServer.addr="0.0.0.0"(默认即可) webServer.port=7555(该端口必须在防火墙上进行开通) webServer.user="zhangSan"(frp 网页监控平台的登录名) webServer.password="BBBB"(frp 网页监控平台的密码)

前三行配置特别重要:
第一个为端口号,这个端口好后面要与客户端配置一致;
第二行配置默认;
第三行特别注意auth.token的配置,该配置也要与客户端配置信息一致;

下面的webServer的一系列配置为监控面板配置,配置好后可以通过网页进行外部访问你frp工作情况,登录后如下:

配置好后执行命令运行服务即可

./frps-cfrps.ini 小技巧,如果在后面增加&符号,则这个进程会在后台持续运行,而不会随着这个shell关闭,程序就会退出,所以建议写成 ./frps-cfrps.ini&

注意:如果服务端运行后,不能登录到监控界面,就可以联系一下云服务的客服,要不然后面客户端配置就没啥意义了,肯定失败。
我当时就是这个情况,第一次使用云服务器,心里很慌,以为是自己问题,监控界面一直弹不出来,联系阿里云客服后,他让怎么操作了一下,该监控界面就可以显示了。后面操作也都很简单,没啥问题了。

客户端配置

所谓客户端就是你想远程访问,苦于没有外网,对于远程桌面还好,但是有时候你想在内网机器上部署一个外网可以访问的网页,或者用git、svn做版本控制,就必须需要一个公网IP了,下面以内网机器部署一个svn的服务端为例,进行配置

[common]server_addr=你公网IP地址 server_port=7000(注意与服务端配置一致,该端口必须在防火墙上进行开通) token="AAAA"(注意与服务器端配置一致)[svn](服务的名称,自定义,可以是svn、 ssh、远程桌面服务等,注意:如果多个客户端配置时,这个名称不能起相同名称,否则有冲突造成异常)type=tcp (默认吧) local_ip=127.0.0.1(这个IP就是本机,默认即可) local_port=3690(SVN客户端默认的本地端口,本质就是内网IP+该端口可以访问svn服务,如果设置有变化可以进行相应更改) remote_port=8888(需要将本地端口映射到外网的端口,本质就是外网IP+该端口可以通过外网访问svn服务,该端口必须在防火墙上进行开通)

配置好后执行命令运行服务即可

frpc-cfrpc.ini&

以上,只是粗略记载。 辉 2025.3.14

如果有多个客户端进行内网穿透时,服务端配置不用改动,只用改动客户端的配置,除了端口不能相同外(端口也必须要在防火墙进行设置放开),第一个中括号的名称也不能相同,否则会有冲突造成的异常。

alread exists 连接问题

问题描述如下图:
客户端启动的时候有下面黄字,并且使用公网IP连接不上

同时,如果细心去看服务器端也会有类似的提示,如下图:

这是什么原因造成的呢,经过仔细分析,借助豆包给的提醒,终于改好了。

问题原因

第一种可能

出现这种状况,还有一种可能是进程本来就运行了,需要先杀死进程再运行,所以在写Run_Frp.sh的时候先默认杀死一次frpc,再开始运行进程

pkill-9frpc ./frpc-c./frpc.ini&
第二种可能

我有两台,或者多台机器要进行内网穿透的时候,有时候偷懒,只将ini文件中的端口进行了更改,其他东西并没有进行更改,导致同样的一个ini文件中的服务器命名重复导致的,如下图:

解决方案:

把所有部署内网穿透的ini文件进行检查,中括号中的服务名称不能重复。如果重复了,则会导致内网穿透失败。