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

Fortigate 基于地址位置 IP 分流+adguardhome 如何实现 DNS 分流?

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

    最近一直在折腾刚买的 Fortigate 防火墙,发现它有基于地理位置的 IP 组。 正好公司的 openwrt 经常出问题(用的 openwrt.ai 定制的 x86 固件,遇到多次重启就恢复默认配置!)
    同事说他固件里面埋了炸弹,在一定时候会触发恢复默认操作。我在 ESXI,PVE,物理机上都遇到过!
    现在的拓扑图如下:

    新增两条 SD-WAN 规则,规则 1 ,中国地址走 sd-wan 组(三线),规则 2 ,所有地址走 WAN4.
    以前是没有单独的 DNS 服务器和这个物理软路由的,用的 X86 虚拟机 192.168.1.254 做为软路由和 dns 服务器。
    此次新增一台软路由 openwrt(用 istore 固件,passwall 全局模式科学)
    单独用了一台 linux 做为 dns 服务器,安装了 adguardhome 来处理 DNS 污染和加速问题。
    上游 DNS 那里只添加了国外的 doh 服务器,测试发现 DNS 泄露没了,污染也没了,但是访问某些国内网站特别慢。
    比如 B 站,F12 才发现他全部给我解析的是国外 IP 地址!
    于是又添加了两个国内的 dot 地址,访问 B 站没问题了。

    可污染又回来了!!!

    Fortigate 的 IP 分流显然不能解决 DNS 污染问题。
    各位有什么好的建议?
    还有我这样操作有没有什么问题?

    第 1 条附言  ·  126 天前

    感谢各位的回复
    目前已经解决B站访问的问题。


    所用文件是这个: https://photo.233444.xyz/file/dns-China.txt
    之所以不用域名而用IP是少一道解析。

    但是DNS泄露问题还是存在,只是比之前好很多。
    明天设备全部调整好以后再试试其它办法。
    可能需要在软路由上面下功夫才能解决DNS泄露问题。

    23 条回复    2024-12-05 23:46:06 +08:00
    lcy630409
        1
    lcy630409  
       126 天前
    想 dns 没有污染 必须解决隧道问题,你把软路由作为一个全局翻墙的设备 ,那么我建议你把软路由 openwrt 的 dns 不要关,把他当做一个专门解析国外的 dns
    然后在 adguardhome 中设置 upstream_dns_file 配置,默认使用国内 dns 解析,gfwlist 的域名解析上游 dns 设置为 openwrt 的 ip 地址
    1423
        2
    1423  
       126 天前
    并发 9 个服务器查询
    有必要吗
    lcy630409
        3
    lcy630409  
       126 天前   ❤️ 1
    分享我的 upstream_dns_file 配置文件: https://whzxc.cn/b.txt
    下载: https://whzxc.cn/b.zip
    因为我的网络结构里,8.8.8.8 可以直连,所以 gfwlist 的上游为 8888 ,你的就需要把 8.8.8.8 改为你的 openwrt 即可
    kk2syc
        4
    kk2syc  
       126 天前
    丢配置的问题可不是埋炸弹,启动的时候可能出现磁盘挂载失败或者 loop0 初始化异常都会丢的
    povsister
        5
    povsister  
       126 天前
    你这配置的相当于没配置,解决 dns 污染要靠社区的 gfwlist ,这些黑名单网站直接走代理请求海外 dns 服务器。

    其他黑名单以外的网站,首先用运营商 DNS 解析,如果 ip 地址为国内(这才是你地理位置 ip 组起作用的时候),就采用。
    如果返回解析地址为国外,则使用地理位置较近的海外 dns 服务器进行解析,以海外 dns 解析结果为准。

    这也会引入俗称的“dns 泄露”,但个人觉得无伤大雅,只要你不是五十万,谁在意你 dns 查询了啥网站。

    另外一些个人需求的网站,可以手动往 gfwlist (或同级规则里添加就行了)
    Yien
        6
    Yien  
       126 天前 via Android
    Fortigate 订阅贵吗?
    JensenQian
        7
    JensenQian  
       126 天前
    passwall 开全局干啥啊
    直接绕过大陆 ip 模式
    国内的走运营商 dns
    国外的走代理不就完事了吗
    别折腾 adgurad 什么 smart dns 了

    重启就丢配置怎么多半硬盘系统,硬盘年纪太大,或者文件格式什么的问题都有可能
    simplove
        8
    simplove  
    OP
       126 天前
    @Yien 看设备型号,最基础版本的带防病毒和 ISP 的也是设备价格的一半,还是挺贵的
    Yien
        9
    Yien  
       126 天前
    @simplove 家用的话这价格太高了
    Kinnice
        10
    Kinnice  
       125 天前 via Android
    adg 去掉国内 dns ,境外 dns 只选择带 ecs 功能的,然后 启用 edns 子网,edns 自定义地址填省内随便一个 ip
    yyysuo
        11
    yyysuo  
       125 天前
    这也太乱了,你知道自己在干什么不?
    simplove
        12
    simplove  
    OP
       125 天前
    @yyysuo 你倒是说说你的看法。。。欢迎有理的批评
    Liku
        13
    Liku  
       125 天前
    adguardhome 规则没处理好,按照 https://www.nodeseek.com/post-53701-1 分流下就行了,飞塔那边不用动
    yyysuo
        14
    yyysuo  
       125 天前
    @yyysuo dns 分流 Adguard Home 不太好用,可以用 mosdns ,国内 real ip ,国外 fakeip ,不在列表中的,统一带 ecs 发到 8888 ,如果有中国 ip 就采用,没有中国 ip 就向 passwall 请求 fakeip 。网关上把 fakeip 段、8888 等 IP 静态路由发到 passwall 。多线的问题我没经验,你得自己研究一下,这是基于你现有的架构,其实旁路科学网关弄个 alpine 跑 sing-box core 就行。
    raycheung
        15
    raycheung  
       125 天前
    整个 https://github.com/kkkgo/PaoPaoDNS 直接自己搞递归?
    simplove
        16
    simplove  
    OP
       125 天前
    @yyysuo 有研究过 mosdns 。 就是 mosdns+adguardhome
    也看到网上有人用 smartdns+adguardhome
    只是这样又了一次转发,尽管没多大影响
    simplove
        17
    simplove  
    OP
       125 天前
    @Liku https://photo.233444.xyz/file/dns-China.txt
    我现在用的是这个,感觉够用。
    把 DNS 的域名换成了 IP ,又少一次解析
    yyysuo
        18
    yyysuo  
       125 天前
    @simplove #16 smartdns 的分流跟 Adguard Home 也没多大分别吧,还是 mosdns 好用,主要是 dns 和科学得结合起来,要不然所有的机器都把网关搞成 passwall 那台机器吗,那也太不优雅了。
    HalloCQ
        19
    HalloCQ  
       123 天前

    依赖于 gfwlist 自动生成,gfwlist 走谷歌和 cf ,其余走阿里和 dnspod ,感觉这样最好用。
    HalloCQ
        20
    HalloCQ  
       123 天前
    adh 没开缓存
    smg
        21
    smg  
       92 天前
    你这个方案是没有问题的,只是需要一个靠谱的 DNS 服务器,推荐我用的 paopaodns 已经在公司多个分支站点稳定运行 1 年以上。内网 DHCP 默认分发的 DNS 就是 2 台 paopaodns 服务器, 在 paopaodns 上做了内网域名转发到域控(配置文件里面直接写很方便)。另外公司用的话 openwrt 设备如果有预算的话,还是尽快换成海外专线吧。
    Mjshadow
        22
    Mjshadow  
       17 天前
    这个 geoip 的功能,如果不订阅的话是不是干脆就不给用?
    simplove
        23
    simplove  
    OP
       17 天前
    @Mjshadow 这个不清楚,可能 IP 数据没那么完善吧,用应该可以用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   929 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:32 · PVG 03:32 · LAX 11:32 · JFK 14:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.