惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
Martin Fowler
Martin Fowler
罗磊的独立博客
The GitHub Blog
The GitHub Blog
L
LangChain Blog
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
DataBreaches.Net
宝玉的分享
宝玉的分享
U
Unit 42
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
N
Netflix TechBlog - Medium
The Cloudflare Blog
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
美团技术团队
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog

林中阴影

林中阴影 | 关于蓝光刻录的一些调查 林中阴影 | 与IPv6地址战斗 林中阴影 | 半年前的NAS升级 林中阴影 | “智能” 家居笔记:一→两年后的回顾 林中阴影 | 旧手机做RDP客户端的一些尝试 林中阴影 | 一些矿渣的耗电量 林中阴影 | 穷人的IP-KVM远程访问 林中阴影 | 内网访问第三季:在运营商的CGNAT网络下 林中阴影 | “智能”家居笔记,其之二 林中阴影 | “智能”家居笔记,其之一 林中阴影 | 下载装小蜜监理拍摄的图片 林中阴影 | 几物互联 林中阴影 | 整了个“新”平板 林中阴影 | 获取招商信用卡账单的另一种方法 林中阴影 | 我在GitHub的⭐ 林中阴影 | Python与光学计算,2021 林中阴影 | 你可能并不需要内网穿透 林中阴影 | 2020 林中阴影 | 和(基本上)什么也不能连的电脑传递信息 林中阴影 | 我将贻笑于大方之家 林中阴影 | 一个新主题 林中阴影 | 2019过去了,我…… 林中阴影 | Beancount试用,半年后 林中阴影 | 自动输入剪贴板中的内容 林中阴影 | Unicode与数学公式 林中阴影 | Python中光学计算相关的库/Awesome Python for Optics 林中阴影 | 一本厕纸小说 林中阴影 | 震惊!为了在Windows上访问EXT4分区,他竟然做出了这样的事! 林中阴影 | 我的2018 林中阴影 | 笔记软件踩雷
林中阴影 | 仅IPv6家庭内网服务实现v6+v4双栈访问
2023-02-07 · via 林中阴影

是的,连回家里NAS的正常手段,当然是ZeroTier/Tinc/OpenVPN之类。但是如果还有其他人想要看照片的话,不要期待手机上会有除了浏览器之外的东西。

在这种场景,如果:

  1. 有一台常开的NAS、矿渣或whatever,
  2. 在Cloudflare上有一个自己的域名,
  3. 家里的宽带有IPv6,而且防火墙可以自己控制(aka 光猫桥接),
  4. 不想或者不能打开80、443端口,没办法直接使用Cloudflare代理;

那么可以通过本文的方案,获得高位端口的CF代理。这样,在没有IPv6的地方也能够访问家里的服务了。

如果上面的条件不满足的话,可以尝试FRPCloudflare Tunnel之类的东西。

打开端口、DDNS

首先我们需要保证NAS上的IPv6端口能从公网访问,并把域名指向家里的IPv6地址。打开端口的部分可以看看之前的博文;DDNS我在使用ddns-go(这里可能需要科学上网)。注意,此时先不要开启Cloudflare代理。

完成这部分之后,我们的域名(比如说home.example.net)指向了家里的IP,并且防火墙打开了端口(比如38000)。可以在NAS上开个python -m http.server 38000,并用移动网络测试一下。

对了,Cloudflare的token不要扔,待会还有用。

Caddy

安装包含Cloudflare DNS插件的Caddy。因为家里没有80和443端口,所以需要用DNS-01方式申请TLS证书:

## cat /etc/caddy/Caddyfile
(cloudflare) {
      tls {
        dns cloudflare abcdefgh #刚才说的Cloudflare的token
      }
}
home.example.net:38000 {
      reverse_proxy http://localhost:1234 #这里是内网服务的地址
      import cloudflare #申请证书的部分

开启Caddy。这里结束后,移动网络(就是有IPv6地址的网络)应该能够通过https://home.example.net:38000访问服务了。

Cloudflare

把SSL/TLS加密模式改为完全;

添加Origin Rules,把请求转至高位端口;

开启Cloudflare代理。在DDNS服务上也开启Cloudflare代理

好了,大概就是这样。通过CF,也许自家的网络也能稍微安全一点。