【Nas/群晖/服务器】FRP内网穿透实现外网访问

news/2024/12/29 7:30:26/

一般来说,在同一局域网下的终端设备可以相对自由地互相访问。但是,如果想要通过外网远程访问家中或者公司局域网中的服务器或者Nas,这种情况该怎么办呢?

解决的方法大致分为3种:
1. QuickConnect(QC):白群晖官方连接方式(黑群晖不可用!!!),但是由于服务器在台湾,所以并不那么Quick,不过尚可接受。
2. 外网映射:最推荐的方式!网络带宽可以跑满,流量无限制!是最简单也最困难的方式,因为需要公网IP!(这里指的是IPv4公网IP,因为IPv6全部都是公网IP,但是目前仅移动端4G/5G普及,运营商及路由器尚未普及IPv6)只要有了公网IP,那么恭喜你,自由的网络世界向你敞开,只需简单设置路由器的端口映射(动态IP需DDNS解析),即可实现外网访问。三大运营商中,电信和联通较容易通过打运营商电话获得公网IP(借口安装监控或者威胁投诉),移动就别想了(移动公网IP很少,不会给你的,洗洗睡吧~)。
3. 内网穿透:通过花生壳或者其他第三方服务进行内网穿透,缺点是免费版仅供体验,付费版收费太贵(土豪请忽略~)

本文主要介绍内网穿透,内网穿透具体有几种表现形式:
1. 第三方服务(如花生壳),优点省心,缺点贵!
2. Nas伴侣硬件
3. 蒲公英X1旁路组网,优点:便宜(100软妹币左右),缺点:有连接终端数量限制。
4. FRP(有其他网络的公网IP)。
它们原理相似,大致都是通过局域网内网IP绑定已有公网IP(第三方提供/硬件/云服务器),然后通过公网IP转发出去。

接下来详细介绍FRP,什么是FRP呢?Fast Reverse Proxy(FRP)是一种高性能的反向代理技术,能够使内网的机器对外网环境提供 http 或 https 服务。具体如何实现呢?首先你需要有两台机器,一台位于外网环境(云服务器或具有公网IP的机器)和一台处于内网环境(局域网)中的机器。本文以腾讯云Win10服务器(外网)和猫盘Plus刷的黑群晖(内网)为例,介绍FRP的具体实现步骤。首先在两台机器上根据操作系统和架构分别下载对应的压缩包,下载地址:GitHub地址 

Github地址(可能需要翻墙)

 Server端(外网端)配置

1.将压缩包解压至任意位置,右击编辑frps.ini。

 2.按以下提示修改frps.ini的内容,并保存。

[common]
bind_port = 7000        #供客户端主机连接的端口,默认为7000
dashboard_port = 7001   #用于查看连接状态的端口,可以不设置

 3.在解压目录下打开终端命令行,输入启动命令:

frps -c frps.ini# 成功启动后会输出以下信息:
[root.go:200] frps uses config file: frps.ini
[service.go:192] frps tcp listen on 0.0.0.0:7000
[service.go:294] Dashboard listen on 0.0.0.0:7001
[root.go:209] frps started successfully

 4.登录localhost:7001 (dashboard端口)查看状态,若能打开此页面即为启动成功。

 FRP dashboard页面
FRP dashboard页面

Client端(内网端)配置

1.将下载好的Linux的FRP压缩包放到任意路径下,并解压。

2.打开并按以下提示修改frpc.ini文件,并保存。

[common]
server_addr = 120.88.88.88  #外网端机器的公网IP地址,必须修改为你自己的
server_port = 7000 #连接到服务器端的端口,必须与上面的bind_port保持一致[ssh]
type = tcp
local_ip = 127.0.0.1   #局域网本机地址,默认为127.0.0.1,无需修改
local_port = 5000      #内网机器监听端口,群晖默认为5000
remote_port = 6002     #外网机器用于转发的端口

3.启动服务

由于无法直接输入终端指令,因此可以使用Putty等工具连接到群晖,IP填写Nas的局域网IP,端口默认22,连接后输入Nas的账号密码即可连接到群晖。进入刚刚解压后的文件路径,输入启动命令:

cd xxxx  # xxxx为解压后的文件路径
./frpc -c frpc.ini
Putty

4. 成功连接后可以在外网服务器端查看连接状态,也可登录FRP的dashboard页面查看连接状态。

[service.go:449] [***] client login info: ip [xx.xx.xx.xx:xxxx] version [0.37.1] hostname [] os [linux] arch [arm64]
[tcp.go:63] [***] [ssh] tcp proxy listen port [5000]
[control.go:444] [***] new proxy [ssh] success

 5.群晖每次开关机后都需要重新连接FRP,比较繁琐,因此可以按下图设置自定义脚本实现Nas开机自动启动FRP进行内网穿透。

cd xxxx && nohup ./frpc -c frpc.ini >/dev/null 2>&1 &
#xxxx为压缩包解压后的文件路径,可右击文件夹查看文件路径

那么现在,你应该已经可以通过 http://你的公网IP:6002(或者你自定义的端口号)来访问处于内网的服务器或Nas了,恭喜你!下面是我整理的网络通信示意图,来方便你理解FRP是如何工作的。


http://www.ppmy.cn/news/840566.html

相关文章

折腾黑群晖之域名直接访问群晖

去年一年攒了几百块私房钱为自己添置了一款矿难暴风2期,然后折腾了黑群晖,安装了很久,但是一直无法外网访问,前些天再研究了一下,发现是脚本的问题,在B站找到了最新的脚本,终于成功了&#xff0…

群晖外网访问终极解决方法:IPV6+阿里云ddns+ddnsto

写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法,这是后发现移动没有公网IP,只有ipv6(公网的),时候有小伙伴要问,要是没有ipv6就没办法访问群晖了吗? 不&…

【虚拟机】配置外网访问NAS黑群晖6.17

【准备】 1、有公网ip的服务器 2、frp_0.31.2_linux_arm64.tar.gz (github下载或者链接:https://download.csdn.net/download/xmzmqx/12458867) 【配置】 1、打开黑群晖的控制面板,点击终端和SNMP 2、新建homes文件夹&#xf…

IPv6/IPv4 + aliddns 实现黑群晖外网控制和访问

前言 一直想弄台黑群NAS,但因为穷!一直没入,一直用的是玩客云,但玩客云满足不了我的需求,但正好搭上蜗牛星际的车! J19004G内存16G固态4盘位千兆网口才380元,性价比是真的高,再买两…

“深入解析Redis:高性能键值存储的内部工作原理“

标题:深入解析Redis:高性能键值存储的内部工作原理 摘要:本文将深入解析Redis高性能键值存储的内部工作原理,包括数据结构、内存管理、持久化机制、事件驱动模型以及分布式特性。通过详细分析Redis的内部机制,读者将对…

初识FreeRTOS

一、FreeRTOS 介绍 什么是 FreeRTOS ? Free即免费的,RTOS的全称是Real time operating system,中文就是实时操作系统。 注意:RTOS不是指某一个确定的系统,而是指一类操作系统。比如:uc/OS,Fre…

css写一个小圆点

.mark {width: 10px;height: 10px;border: 1px solid #8c8c8c;border-radius: 20px;background-color: #8c8c8c;opacity: 0.5;}<div class "mark"></div> <span>指示器名称</span>

markdown实心圆点空心圆点、层级

标题目录如何层次分明&#xff0c;需要用到实心圆点、空心圆点、方点&#xff0c;而这些需要用到表示无序列表的标记 * 或 - 或 。不同层级可以使用 Tab 键控制。 - 本程序的主要内容。- 调用接口 align_api.py- predict 用于生成预测结果- 输入文件- 输出文件- content_alig…