基础流程
- 路由器开启端口映射(如果有猫则要配置猫为转发模式,由路由器直接拨号即可
- 使用第三方程序让内网ip发布到公网上
- (如果有云服务器)需要开启防火墙端口
好用的第三方程序
FRP穿透
优点:开源免费,速度快,轻量化,部署方便,比某生壳好用太多且相对便宜
缺点:必须要有云服务器且受限于云服务器带宽
安装/配置
去github下载包https://github.com/fatedier/frp/releases
frp分为frps和frpc,顾名思义,frps是放在云服务器上的,frpc则是放在nas里,两个都启动了之后frpc就会向frps发送数据,frps接收到之后用户就可以在云服务器对应的ip上访问nas的服务了
frps配置
我云服务器是linux系统,所以下载了linux_amd版本的,解压之后可以看到这些文件
我们修改frps.ini这个文件就可以,改成以下的样子,XXXX要你们自己填
[common]
bind_port = 7000
# frp服务端可视化界面管理控制面板相关配置
dashboard_port=7001# 可视化管理界面的端口
dashboard_user=XXXXXX# 可视化管理界面的登录密码
dashboard_pwd=XXXXXXXX# 客户端与服务端连接认证密码
token=XXXXXXXXXXXXXXXX# 随机生成字符串,之后配置frpc的时候要用到
修改好之后,建立一个快速启动脚本,脚本名称自定,我这边定义为frps.sh,脚本内容如下(注意路径要修改成自己的
nohup /frp/frp_0.42.0_linux_amd64/frps -c /frp/frps.ini >/frp/logs/log 2>&1 &
创建完成之后,直接输入命令./frps.sh
这样frps就成功启动了
frpc配置
我不太想污染nas环境,而且nas的linux版本也奇奇怪怪的,所以nas的所有安装程序我都基于docker了,包括这个frpc
因为一开始没有统一规划使用docker-compose来管理,所以就盲打了一个docker-compose,可以参考一下(注意:这个容器会默认使用/frp/frpc.ini这个配置,所以如果要启动多个frpc服务的话记得区分。像我就分了两个服务,一个是用于系统的和一些基础服务的,这些服务是稳定上线的。而另一个是一些应用功能的映射,有时会频繁上下线
version: '3'
services:
frpc-os:
image: oldiy/frpc:latest #镜像名称
container_name: zz-frpc-os #指定容器名
restart: always #在容器退出时总是重启容器
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai #指定容器运行所属时区
volumes:
- ./config/frpc-os.ini:/frp/frpc.ini
network_mode: "host"
frpc-app:
image: oldiy/frpc:latest #镜像名称
container_name: zz-frpc-app #指定容器名
restart: always #在容器退出时总是重启容器
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai #指定容器运行所属时区
volumes:
- ./config/frpc-app.ini:/frp/frpc.ini
network_mode: "host"
创建好docker-compose之后就可以创建frpc.ini文件了。
[common]
server_addr = XXX.XXX.XXX.XXX #部署了frps的云服务器公网ip,记得要开放端口
server_port = 7000
token = XXXXXXXXXXXXXXXXXXXXXX #frps文件里面的token,一定要对应上
[nas]
type = tcp
local_ip = 127.0.0.1
local_port = 5001
custom_domains = XXX.taotaojs.top
remote_port = XXXX
[nasssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
custom_domains = XXX.taotaojs.top
remote_port = XXXX
···都是这种格式,复制黏贴就行,当然frp还有其他好玩的模式也可以自行尝试···
然后根据docker-compose中的volumes配置,把创建的ini文件放到正确的目录下,就可以输入sudo docker-compose up -d
启动了(什么?不知道怎么开启ssh?百度一下对应nas的开启方式就可以了
可视化管理界面
frps自带了可视化管理界面,就是之前frps.ini文件中配置的端口,进入之后输入用户名密码就可以看到所有在转发的端口了
ipv6动态ddns
优点:满速度!不挑运营商,无需云服务器,只要一个廉价域名即可,轻量化,部署方便
缺点:部分网络会禁用ipv6
不多说,提供一个docker-compose,自己去页面上研究吧
version: "3.9"
services:
ddns-go:
image: jeessy/ddns-go
restart: always
network_mode: "host"
volumes:
- ./config:/root
差不多就是
- 配置DNS服务商
- 启用IPV6,通过网卡获取,domains填入自己的域名
- 测试+保存就好了
ipv4静态ip
反正移动是不能设置,移动只有固定ipv6,没有固定ipv4,其他运营商不清楚。就不细说了,这个最简单,找运营商开通即可
黑群晖
最后放一张我黑群的截图吧,从618升级一次配置后一直稳定运行到现在。目前这台机器是16G内存,250G固态,4T+8T硬盘,6T云盘。其中固态仅用于docker,4T用来安装其他套件和临时存放/下载东西,8T则是仅备份,云盘用于备份8T那个盘的数据。以后有机会也会分享一些nas的相关东西。敬请期待!
评论区