NAS群晖

NAS的内网穿透--frp

2018-09-12  本文已影响36人  peterzen

NAS的基本功能目前已经搭建OK:

这些功能有了以后,家庭多媒体以及资料存储的功能就有了;除了在局域网内部访问以外,从外网访问也是NAS的基本需求,目前主要的内网穿透方式有:

DDNS需要家里的宽带分配有公网IP,在目前来看,有公网IP的概率太低,网络上有很多交你如何与运营商客服沟通,分得公网IP的方法,个人还是觉得太麻烦,放弃。
花生棒的话,也是有考虑,不过看到买了硬件,还有流量问题,还是算了。
ngrok和frp基本算是同一类方式,之前看到同事搭建的ngrok不太稳,自己还是动手尝试一下frp好了(公司有在使用的AWS EC2,正好用来搭建frps)。

frp的github地址
frp的使用非常简单,文档也是非常清晰,整个搭建过程比较容易。
为了能够在公司访问家里的NAS,需要借助有公网IP的服务器(我是使用AWS EC2),通过服务器的撮合来连接公司电脑与NAS的连接

下载frp

frp下载地址
目前最新版本是v0.21.0
下载后解压,对应的服务器(frps)客户端(frpc)程序都在一起。
下面来说明一下每个部分的配置和使用。

服务器端设置

服务器端的配置文件有两个: frps_full.ini, frps.ini
这两个配置文件任选一个就好了(根据名字可以区分出一个包含了完整的配置,一个是基本的配置),为了很简单的搭建起frp环境,我采用了frps.ini
运行服务器的方式为

frps -c frps.ini  # 使用-c来指定对应的配置文件

为了让frps作为一个服务在后台运行(且开机自动启动),我会使用supervisor来做对应的管理,对应的使用方法在另外一篇中再说明。

NAS客户端设置

刚开始最基础的部分,我需要让SSH和emby server的默认服务(port 8096)可以在外网可以访问,对应设置frpc.ini

# frpc.ini
[common]
server_addr = x.x.x.x    # AWS EC2 Elastic IP
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 9988

[emby]
type = http
local_ip = 127.0.0.1
local_port = 8086
remote_port = 8096

运行frpc

frpc -c frpc.ini

对应也是一样,为了让frpc作为一个服务来运行,使用supervisor来做管理

访问端

当服务器和NAS客户端都设置好以后,就可以远程用公司PC来访问NAS了,对应的SSH和Emby连接方式如下:

1. Emby 访问

使用浏览器访问,地址为
http:// x.x.x.x:8096

x.x.x.x为AWS EC2 Elastic IP, 8096为frpc.ini中指定的remote_port

2. SSH连接

使用SSH客户端(推荐XShell)进行连接,与emby一样,对应的地址为服务器地址,port为frpc.ini中指定的remote port( 9988).

总结

到这里,NAS的外网访问就已经OK了,实测emby看《国土安全》还是蛮流畅的,打开耗时稍微长一点,打开以后基本无缓冲。
不过这样流量应该都要走服务器转发,EC2我看说有15G流量限制,这个要小心,我要一直留意EC2账单才行。

上一篇 下一篇

猜你喜欢

热点阅读