你是不是也遇到过这样的情况:家里的电脑存着重要文件,出门在外想调取却没办法;公司的设备需要远程操作,却因为不在一个网络里只能着急?这时候,frp 内网穿透服务器搭建就能帮你解决这些难题。今天,小编就来给大家详细讲讲 frp 内网穿透服务器搭建的方法,不管你是新手还是有一定基础的朋友,跟着步骤来操作,应该都能顺利完成。
为什么需要搭建 frp 内网穿透服务器
我们平时用的电脑、NAS 这些设备,大多处于内网环境中,就像在一个封闭的房间里,外面的网络很难直接找到它们。而 frp 就像是在这个房间和外面之间搭了一座桥,让外面的设备能通过这座桥找到内网里的设备。
比如,你在公司想访问家里的 NAS 看存的资料,或者出差时需要远程控制家里的电脑处理事情,有了 frp 内网穿透服务器,这些都能轻松实现。虽然现在也有一些其他的内网穿透工具,但 frp 免费又好用,配置起来也不算复杂,所以很多人都喜欢用它。
不过话说回来,frp 也不是没有缺点,它需要你有一台有公网 IP 的服务器,要是没有的话,可能就得去租一台云服务器,这会产生一些费用。但总体来说,性价比还是很高的。
搭建前要准备些什么
在开始搭建 frp 内网穿透服务器之前,我们得把需要的东西准备好。首先,得有一台有公网 IP 的服务器,你可以自己搭建,也可以从云服务商那里租,像阿里云、腾讯云这些都有相关的服务,新手的话,选个配置低一点的入门款就行。
然后,内网里得有你想被远程访问的设备,比如电脑、NAS 等。这些设备要能正常上网,不然也没法和外面的服务器连接。
接下来就是下载 frp 软件了,你可以去 frp 的官方网站下载,要注意根据你的服务器和内网设备的系统选择对应的版本,Windows 和 Linux 系统的版本可不一样,下载错了可就用不了了。下载好之后,把压缩包解压到你方便找到的文件夹里,比如服务器上就解压到 D 盘的 frp 文件夹,电脑上也一样。
对了,服务器和内网设备上都得安装 frp 软件,而且最好用同一个版本,不然可能会出现连接不上的情况,小编之前就遇到过,后来换了相同版本才好的。
公网服务器怎么配置
首先,你要登录到你的公网服务器。如果是 Linux 系统,你可以用 PuTTY 之类的 SSH 工具登录;如果是 Windows 系统,直接用远程桌面连接就行。登录进去后,找到你刚才解压好的 frp 文件夹。
打开文件夹,里面有个叫 frps.ini 的文件,这就是服务器端的配置文件,我们需要修改一下这个文件。用记事本或者其他文本编辑器打开它,里面默认有一些内容,我们主要改这几个地方:
bind_port 是服务器监听的端口,你可以自己设一个,比如 7000,记住这个端口,后面还会用到;token 是用来验证的,就像一个密码,设置得复杂一点,安全性更高,比如可以用字母加数字加符号的组合。改完之后保存一下。
然后就是启动服务器了。在 Linux 系统里,打开终端,进入到 frp 文件夹,输入 ./frps -c ./frps.ini 就能启动;在 Windows 系统里,打开命令提示符,进入文件夹后输入 frps.exe -c frps.ini 就行。
启动之后,你可以看看是不是成功了。在 Linux 里用 netstat -tuln 命令,在 Windows 里用 netstat -ano 命令,看看你设置的 bind_port 是不是处于监听状态,如果是,那就说明服务器启动成功了。
另外,要是你想让服务器重启后 frp 能自动启动,在 Linux 系统里可以把它设置成服务,Windows 系统里可以加到开机启动项里。具体怎么设置,不同的系统版本可能有点差别,或许暗示你可以去搜搜对应的详细步骤。
内网设备怎么配置
内网设备的配置和服务器有点像,但用的配置文件不一样,内网设备用的是 frpc.ini。同样,在你解压好的 frp 文件夹里能找到这个文件,用文本编辑器打开它。
里面要填服务器的信息,server_addr 就是你公网服务器的 IP 地址,server_port 就是刚才在服务器上设置的 bind_port,比如 7000,token 也要和服务器上设置的一样,不然连接不上。
然后,你要设置你想映射的服务。比如你想远程访问家里的电脑,电脑的本地 IP 是 192.168.1.100,远程桌面的端口是 3389,那就在配置文件里加一段:
[rdp]
type = tcp
local_ip = 192.168.1.100
local_port = 3389
remote_port = 7001
这里的 [rdp] 是这个映射的名字,你可以自己取,remote_port 是服务器上用来映射的端口,和 bind_port 不一样就行。
要是你想访问 NAS,NAS 的本地 IP 是 192.168.1.101,端口是 80,那就再加一段:
[nas]
type = tcp
local_ip = 192.168.1.101
local_port = 80remote_port = 7002
设置好之后保存文件,然后启动内网的 frp 客户端。在 Linux 系统里,终端进入文件夹后输入 ./frpc -c ./frpc.ini;在 Windows 系统里,命令提示符输入 frpc.exe -c frpc.ini 就行。
启动后,看看有没有连接成功,如果提示 connected,那就说明没问题了。要是没成功,检查一下配置文件里的 IP、端口、token 是不是填错了,服务器是不是在正常运行。
不同场景下怎么用
如果你是想远程访问家里的 NAS,配置好之后,在外面用浏览器输入 公网服务器 IP:7002(刚才设置的 nas 对应的 remote_port),就能打开 NAS 的管理界面了,这样你存的照片、文件就能随时查看了。
要是想远程控制办公室的电脑,用远程桌面工具,输入 公网服务器 IP:7001(rdp 对应的 remote_port),输入电脑的账号密码,就能连接上,和在电脑前操作差不多。
不过,在使用的时候可能会遇到一些问题,比如速度慢,这可能和你的网络带宽有关,也可能是服务器的配置太低了。这时候你可以试试换个带宽大点的服务器,或者调整一下 frp 的配置参数,具体怎么调,小编也不太清楚具体机制,还得进一步研究。
遇到问题该怎么解决
搭建过程中,最常见的问题就是连接失败。这时候你可以先检查配置文件,看看服务器 IP、端口、token 是不是都对;再看看服务器和内网设备能不能上网,能不能 ping 通对方;还有,端口是不是被防火墙挡住了,不管是服务器的防火墙还是内网的防火墙,都要把你设置的 bind_port 和 remote_port 加进去,允许通过。
要是访问的时候提示超时,可能是服务器那边没启动好,或者网络不稳定,你可以重启一下服务器和客户端试试。
还有就是,有时候能连接上,但速度特别慢,这时候可以看看是不是同时有很多设备在连接,占用了带宽,或者是不是服务器的位置离你太远了,换个地区的服务器可能会好点。
小编觉得,遇到问题不要慌,一步步排查,大部分问题都能解决。要是自己解决不了,也可以去网上的论坛或者社群问问,很多大神都会热心帮忙的。