V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yikyo
V2EX  ›  路由器

不聊苹果,聊点家庭网络出国方案

  •  
  •   yikyo · 223 天前 · 3197 次点击
    这是一个创建于 223 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近又折腾了一下软路由,从原来的 esxi+xxx ,直接换成了 vyos (基于 debian 的路由系统),上面跑了 adguardhome + mosdns + clash ( tun + fake ip )

    大概逻辑是用 mosdns 做分流,国内的域名请求国内 dns 、国外的域名用 fake ip ,未知的域名先走国内 dns ,如果返回的不是国内 ip 段,则丢弃重新用 fake ip 走国外,clash 不做任何规则判断,路由器添加一条路由 fake ip 段指向 clash 容器就完事了,规则简单、维护方便,只需要 20 行不到的配置(不包含代理节点)

    碰到的几个问题聊一下

    1 、dns 泄漏问题,假设有未知域名 example.com ,先走国内 dns ,那国内 dns 就知道你在访问 example.com ,造成 dsn 泄漏,大佬们一般是怎么来避免 dns 泄漏

    2 、clash 、clash.meta tun 实现是否有区别,clash.meta 用这个方案实现后,vyos 能翻墙,但是下面的机器都无法翻墙,而 clash 没问题。在 clash.meta 日志中能看到一些 udp 流量,tcp 流量看不到,要解决这个问题要使用 iptables?

    3 、dns 缓存问题,mosdns 不支持写入缓存过滤逻辑,某些原因 clash 重启后,fake ip 从 dns 缓存中获取,当 clash 反查域名进行代理,可能获取不到域名,或者得到错误的域名,表现就是打不开网页,或者提示证书错误,在调试中经常遇到,clash meta 有 fake ip 域名映射持久化配置,所以可能这个问题不太严重,要解决这个问题最好是有 dns 服务器有缓存过滤功能,有没有第三方的 dns 服务器有这个功能推荐一下

    4 、以前手机上是使用 quantumult x ,需要独立配置规则,能不能使用 tailscale 连到 vyos ,通过家庭网络进行翻墙

    19 条回复    2024-03-09 15:54:16 +08:00
    MrGba2z
        1
    MrGba2z  
       223 天前
    4 可以的 开个简单的 wg/tailscale 就行
    我是手机上做了广告判断( reject )和国内常见服务( direct )判断,减少额外的延迟,剩余的情况全部回家里再出去

    3 把 clash 上 fake ip 的 ttl 设置小一点试试 (比如 5s )这样你的 mosdns 在你 clash 挂了之后会很快请求新的解析
    yikyo
        2
    yikyo  
    OP
       223 天前
    @MrGba2z
    3. ttl 相当于缓存时间?设置足够小也就等于无缓存??

    4.谢谢,过几天有空我再试下


    感谢
    slowmist
        3
    slowmist  
       223 天前   ❤️ 2
    https://github.com/daeuniverse/dae/
    试试大鹅 ebpf 层的
    dns 泄漏 设置好国内外的域名 一般没事
    MeteorVIP
        4
    MeteorVIP  
       223 天前 via iPhone
    clash 的 fake IP 就可以防止泄露了
    Jirajine
        5
    Jirajine  
       223 天前 via Android
    因为你使用的是大部分正常用户的 dns 分流方案,而大部分正常用户身正不怕影子斜,会主动避免访问不该访问的内容,并不在乎让国内部门知道他在访问什么。
    beneasy
        6
    beneasy  
       223 天前   ❤️ 1
    最近折腾的一个比较好解决 dns 泄露的就是只用 adguardhome ,配合 dnsmasq-china-list 所生成的 upstream_dns_file ,国内域名走阿里 doh ,剩下的走海外传统 udp dns ( doh 用不了)兜底,这应该算比较完美的了。遇到未知域名直接走海外 dns ,然后 adguardhome 会产生乐观缓存,其实体验还挺不错的。至于 clash 的话,能不用就不用吧,折腾真的好累
    yikyo
        7
    yikyo  
    OP
       223 天前
    @slowmist
    感谢,我去了解一下
    stonesirsir
        8
    stonesirsir  
       223 天前 via Android
    大胆点,未知域名直接走 fack 模式不就好了
    linuxgo
        9
    linuxgo  
       221 天前
    我用的是 routeros 分流,v2raya 做代理,routeros 上的 gfw 列表地址发往 v2raya 处理。vyos 没用过,有空弄个折腾下😁
    journalist
        10
    journalist  
       200 天前 via iPhone
    @slowmist 感谢,这就是我一直在找的东西
    yyysuo
        11
    yyysuo  
       187 天前
    1:dns 泄露的话,clash 后面 nameserver 和 fallback 同时接入另外一个 mosdns 即可,参考一下 sbwml 的配置
    3:mosdns 不要开缓存。
    hugovk
        12
    hugovk  
       153 天前
    请问一下,Vyos 怎么安装 clash ?好用吗?
    yikyo
        13
    yikyo  
    OP
       149 天前
    @hugovk 滚动发布版本有 container 支持,挺稳定,没什么问题,就是一开始要稍折腾下。
    hugovk
        14
    hugovk  
       148 天前
    @yikyo 你是说像用 Docker 那样,在 Docker 上安装 Clash ,和 Vyos 同网段,然后,内网要 FQ 的终端,把网关地址指向 Clash ,就跟旁路由类似是吗?如果不用容器,那能不能在 vyos 上直接安装?另外,vyos 的长期稳定版好像也有 container 或 docker 吧
    yikyo
        15
    yikyo  
    OP
       142 天前
    @hugovk 我是用容器跑 clash,mosdns ,clash 用 fake-ip ,由 mosdns 解析域名,国内域名指向国内 DNS 服务器,国外域名指向 clash,这样就可以自动翻墙了,clash 也不需要分流策略。
    sldaniel
        16
    sldaniel  
       129 天前
    @yikyo 你这个问题 2 解决了么,我也发现 clash premium 和 meta 的 tun 实现好像不一样,开了 meta 之后,机器上的 docker 端口映射会出问题
    yikyo
        17
    yikyo  
    OP
       118 天前
    @sldaniel 没有,用的 clash premium
    hugovk
        18
    hugovk  
       60 天前
    @yikyo 请问一下,你用容器跑 clash ,network 是用 host 还是 bridge 模式呀?现会不会导致 nftable 出问题?谢谢
    yikyo
        19
    yikyo  
    OP
       49 天前
    @hugovk 用的 bridge 模式,但是对 clash 指定了容器 IP ,路由上对 fake ip 的下一跳指向了 clash 容器 IP ,没有发现问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1174 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:56 · PVG 01:56 · LAX 10:56 · JFK 13:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.