Nas网络直通:打通大内网、安全可靠、教你外网轻松看电影

2026-02-14 17:19:46 0点赞 1收藏 0评论

我之前其实一直使用ipv6的方式来观看远程看电影,体验还算满意,但是受限于网络环境,在没有ipv6的情况下就无法观看了。

最近又研究了一下Lucky的STUN穿透,但是穿透后ip和端口每次都会随机变化,我还要打开lucky、修改webdav地址为新的ip端口,很是麻烦。

包括听说最近的飞牛漏洞,大部分Nas都是裸跑在公网上,所以搭建了一套基于Lucky、clash服务端+客户端的一套类似内网穿透教程,避免被黑。

网络直连、无惧网络环境,仅需要2个服务接口更新配置信息,可使用云服务器、免费托管vps、静态网站托管等。

第一步:Nas服务器部署Lucky+Classh服务端

  • 创建 config.yaml

mixed-port: 7890 allow-lan: true bind-address: '*' mode: direct # rule(规则模式)、global(全局模式)和 direct(直连模式) log-level: info external-controller: '0.0.0.0:9090' secret: "xxxxxxxx" # 随意设置 authentication: - "xxx:123456" #TODO 配置用户名和密码,下面会用到 dns: enable: true ipv6: false default-nameserver: [223.5.5.5, 119.29.29.29, 114.114.114.114] enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16 use-hosts: true nameserver: ['https://doh.pub/dns-query', 'https://dns.alidns.com/dns-query'] rules: - MATCH,DIRECT # 其他走代理

  • 创建 docker-compose.yaml

version: '3' services: lucky: image: docker.1panel.live/gdy666/lucky:2.24.0 container_name: lucky network_mode: host environment: TZ: Asia/Shanghai volumes: - ./luckyconf:/app/conf - /var/run/docker.sock:/var/run/docker.sock restart: always clash: image: docker.1panel.live/dreamacro/clash container_name: clash restart: always ports: - "9090:9090" - "7890:7890" volumes: - ./config.yaml:/root/.config/clash/config.yaml - /etc/localtime:/etc/localtime

  • 启动服务

docker-compose up -d

第二步:部署服务接口

我使用的是自己的云服务器,docker部署:

  1. data 目录下创建 proxy.nas.yaml 文件并设置您的配置:

“proxy.nas.server" proxy.nas.port 这段内容尽量不要修改,主要是为了占位做字符串替换

mixed-port: 7890 allow-lan: true bind-address: '*' mode: rule log-level: info external-controller: '127.0.0.1:9090' proxies: - { name: "Nas代理", type: http, server: proxy.nas.server, port: proxy.nas.port, username: xxxxx, password: xxxxx } #TODO 配置为nas里config.yaml中的用户名密码 proxy-groups: - { name: Nas代理组, type: select, proxies: [DIRECT,Nas代理] } rules: - 'IP-CIDR,192.168.x.0/24,Nas代理组' #TODO 配置哪个网段走Nas代理,比如我的 192.168.7.0/24,也可以配置ip:192.168.7.9/32 - MATCH,DIRECT # 其他走代理

version: '3.8' services: electerm-sync: image: jinuary/electerm-sync-server ports: - "7837:7837" volumes: - ./data:/app/data environment: - JWT_USERS=user1,user2 - JWT_SECRET=your-secret-key - CLASH_TOKEN=your-clash-token #随机字符串,用于安全校验 restart: unless-stopped

  1. docker-compose up -d 启动服务接口

部署成功后,有2个服务接口:

第三步:配置穿透

  1. 打开Lucky,找到 STUN内网穿透,配置好穿透规则(请自行参考Lucky文档,这里忽略),关键配置见截图

说明:lucky穿透成功后,会主动调用webhook,通知接口服务进行配置更新。

17710547593061771054759306

第四步:客户端使用

下载clash相关客户端,各个平台都有,百度自行搜索

  • 添加订阅:输入 http://xxx.com/api/config/getClash?token=your-clash-token 配置自动更新, 60分组

全部配置完成后,开启代理客户端(注意代理规则上,Nas代理组要选到代理上)。

17710551608541771055160854

打开浏览器、App等配置nas的内网ip+相关服务端口,即可正常访问Nas服务器的资源。

比如我的lucky:http://192.168.7.9:16601/

webdav:http://192.168.7.9:7774/

  • 额外注意事项:

  1. windows客户端要使用TUN模式

  2. 安卓要关闭【绕过网络私有地址】

  3. ios小火箭要手动改下规则:允许你的nasip可以走代理

原理说明

  1. Lucky进行STUN内网穿透,生成一个公网的ip+端口,转发到nas部署的clash代理服务端口7890

  2. Lucky调用webhook,通知服务接口修改为新的配置。

  3. 客户端(手机电脑)拉取服务接口配置,使用最新的公网ip+端口通过http代理方式访问Nas服务器

  4. 客户端和nas属于网络直连,服务接口相当于一个桥梁作用,动态修改内网穿透的地址

  5. 此方式可使用http、tcp、ssh、rdp等协议,但是不能ping

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章

值友7620791708

Ta还没有介绍自己

关注 打赏
最新文章 热门文章
1
扫一下,分享更方便,购买更轻松