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

87 天前
 simplove

最近一直在折腾刚买的 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 污染问题。
各位有什么好的建议?
还有我这样操作有没有什么问题?

1865 次点击
所在节点    DNS
21 条回复
lcy630409
87 天前
想 dns 没有污染 必须解决隧道问题,你把软路由作为一个全局翻墙的设备 ,那么我建议你把软路由 openwrt 的 dns 不要关,把他当做一个专门解析国外的 dns
然后在 adguardhome 中设置 upstream_dns_file 配置,默认使用国内 dns 解析,gfwlist 的域名解析上游 dns 设置为 openwrt 的 ip 地址
1423
87 天前
并发 9 个服务器查询
有必要吗
lcy630409
87 天前
分享我的 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
87 天前
丢配置的问题可不是埋炸弹,启动的时候可能出现磁盘挂载失败或者 loop0 初始化异常都会丢的
povsister
87 天前
你这配置的相当于没配置,解决 dns 污染要靠社区的 gfwlist ,这些黑名单网站直接走代理请求海外 dns 服务器。

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

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

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

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

依赖于 gfwlist 自动生成,gfwlist 走谷歌和 cf ,其余走阿里和 dnspod ,感觉这样最好用。
HalloCQ
85 天前
adh 没开缓存

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1065887

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX