跳到主要内容

飞牛nas使用frp搭建内网穿透教程

提示
  • 魔法上网
  • 基础的ssh指令使用和vim的使用
  • 如果你的飞牛系统上的frpc出现了打开几秒钟就会自动关闭的情况,直接卸载重装就好了
注意

数据无价!!! 对重要数据确保3+2+1原则

非常不推荐使用frp作为长期公网使用,已经有群友因为搞了端口开放到公网没有做好防护本地文件被劫持加密了

同时还有这个原因:https://x.com/ybspro_official/status/1889198630369903085

服务器购买

本教程用雨云的国内宿迁NAT服务器搭建,点击下方直达Rainyun.com的购买链接

购买链接

注册账号后进入服务器的购买界面

image

选择江苏宿迁的NAT类型服务器

image

这里我们按照自己的家宽的上传速度来选择配置

服务器的下载==NAS的上行 而服务器的上行等于公网穿透的速度

按照国内家宽的速度基本上选择kvm标准版就可以了

image

点击下方的立即购买,在费用中心充值后就购买成功了

image

接下来登录到服务器

下载Finalshell SSH连接工具

点击上方链接下载Finalshell连接工具安装包,下载完成后双击安装完成后启动finalshell软件

点击文件夹标志

image

在弹出的第一个窗口中点击第一个文件夹image

Timeline 1

主机名称:随便写

主机:服务器的ip地址-图中的顺序查看

image

image

image 复制上方的远程连接地址 粘贴主机地址

image

接着更改端口,填写为地址冒号后面的数字

以示例机器为例,这里我们要把端口改成42813

改完后如图

image

接着复制登录用的用户名和密码,点击确定保存。

image

此时我们在连接管理器中可以看到我们的服务器配选项,双击进行连接。

第一次连接会提示是否接受密钥指纹,这里我们点击接受并保存

image

image

下载frp安装包

提示

0.61.1版本下载地址

https://github.com/fatedier/frp/releases/download/v0.61.1/frp_0.61.1_linux_amd64.tar.gz

这里我们采用本地下载上传到服务器部署的方式,因为国内服务器直连github的速度通常都是比较慢的,如果服务器是在国外的话之后会有更详细的一键脚本(挖坑

注意

如果下载后系统提示发现是病毒文件不用担心,按下Win键输入安全中心回车进入

image

image

在这里找到被删除的frp下载文件,点击允许保存在设备上就行了

编辑服务端配置文件

找到我们下载好的压缩包,解压后随便放个空闲的位置

这里我们能看到图中的这些文件

image

重点关注frps.toml文件就行

如果你没有编辑器那么右键选中frps.toml,选择用记事本打开也行

或者可以用我写的一个小工具:https://frp-config-generator.fnnas.wiki/client.html

这里的bindprot = 7000 是frps的配置文件,表示frps监听7000传入的连接并映射到指定的端口 而这个指定的端口则是在frpc文件中进行指定的,在下文中我们会提到如何编写

bindPort = 7000
auth.token = "******"

打开 https://frp-config-generator.fnnas.wiki

点击客户端配置,点击左侧的生成按钮生成认证token,防止我们宝贵的流量不被其他人扫到端口被偷用

往下翻找到代理配置,点击添加一个代理

这里的名称是作为frp标记流量用的

类型选择tcp

本地ip保持不变

本地端口填写你需要穿透的端口比如5666(飞牛的默认端口)

而远程端口则是穿透到公网的端口,这里和NAT服务器的保持一致就行

修改服务端口,只要不是默认的7000就行,建议上10000

修改好之后点击下载配置,修改下载好的文件名为frps.toml

也可以复制这份临时配置用来测试

serverAddr = "x.x.x.x" #将引号内改成你的公网服务器地址
serverPort = 7000
auth.token = "*****" #在引号内填写和上面相同的token值

[[proxies]]
name = "web" # 这个name是唯一的
type = "tcp"
localIP = "127.0.0.1"
localPort = 5666
remotePort = 5666

按Ctrl+S 保存好我们的配置文件

在/opt目录下创建一个空的文件夹,随便怎么命名都行

提示

NAT服务器frp搭建指南

NAT服务器映射

NAT端口映射管理使没有配置公网IP的服务器能将多个端口映射至公网,方便外部访问。

举个例子,飞牛os的默认http桌面服务端口是5666,我们需要把5666端口映射到NAT服务器的空闲端口(比如33899)

访问NAT服务器的33899,NAT服务器会将我们对33899端口的请求转发给内网服务器的remote端口(在frpc的配置里),内网服务器运行的frp接受到这个请求,知道说有人要访问33899端口了,配置里写的应该把连接到公网服务器的飞牛的5666端口的内容返回给这个请求,frp就帮我们转发了这个请求。

而frpc上配置的serverport则是作为连接传入的端口,数据走向是飞牛的5666端口(frpc配置)-->公网NAT服务器的7000端口(frpc配置)-->frps转发交给内网服务器的33899端口(-->映射到公网的指定端口(服务器提供方配置)

为了简化配置,我们首先需要在NAT服务器上开放端口,以本教程使用的雨云服务器为例

在服务器管理界面有NAT端口映射控制面板

image

点击新建规则

image

  • 协议选择TCP+UDP

    • 内网端口和外网端口我们填写相同的端口号(这样不会造成访问地址混乱,这里由于外网端口是公用的,可能你填写的端口号已经被占用了,选择一个别的就好,保持内网和外网端口一致就行
    • 标签建议专门写一下防止自己忘记

NAT服务器frpc配置指南

serverAddr = "x.x.x.x" #将引号内改成你的公网服务器地址  
serverPort = 7000 # 这个端口是所有转发请求传入服务器的端口
auth.token = "*****" #在引号内填写和上面相同的token值

[[proxies]]
name = "web" # 这个name是唯一的
type = "tcp"
localIP = "127.0.0.1"
localPort = 5666 这里把5666改成飞牛上的端口
remotePort = 5666 这里的remoteprot就是要在服务器上穿透的端口,这就是为什么前面要保持内外网端口一致

服务端搭建

创建安装文件夹

复制下面的命令粘贴到输入框按回车执行

cd /opt && mkdir frp

image

进入frp目录

cd /opt/frp

在地址栏输入

/opt/frp

image

现在可以用拖拽上传的方式上传我们刚刚解压的压缩包中的frps文件到这个文件和修改好的配置文件,也就是之前的frps.toml文件

接下来给frps赋予可执行权限,复制这行命令到终端中并运行

chmod +x frps

接着我们先来运行后端服务

提示

运行下面这条命令的时候要先在服务器打开7000端口并在存放frps的目录下运行这条命令

./frps -c ./frps.toml

image

此时我们来访问公网ip+配置里设定的remote端口,我们的反向代理就已经搭建好了

image

设置frps开机自启

首先我们需要安装vim

sudo apt install vim

询问是否要安装的时候按下Y然后回车

image

接着创建systemd运行配置文件

直接复制这条命令运行

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

终端会变成这样

image

按下键盘上的 i,终端会有图中的变化,vim切换到编辑模式

image

然后复制这段一下的这段文本,直接点击代码块的右上角复制按钮就行

[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple

ExecStart = /opt/frp/frps -c /opt/frp/frps.toml

[Install]
WantedBy = multi-user.target

点击一下终端界面,然后按ctl+shift+v粘贴我们的配置,终端应该显示的像这样

image

接着按ESC退出编辑模式,输入冒号(按shift+分号)和wq

终端中应当显示像这样

image

按下回车(键盘上的Enter)现在我们就能用下面的命令来启动frp了

# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps