找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 16319|回复: 4

[策略设置] 实在不行,来此求助,关于DNS解析分流

[复制链接]
发表于 2015-4-6 17:51:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本人绝非伸手党,routeros VPN分流本人已搞掂,为了防止DNS污染和DNS劫持,已经设置DNS SErver为香港的公共DNS,同时,将DNS的流量也走VPN,这样,可以防止更上级的ISP劫持,实际上,在测试中,发现,如果DNS解析不走VPN的话,就算你把DNS Server设成国外的DNS,一样也会被劫持,进而被污染。
那么问题来了,由于我将所有DNS解析走了VPN,在实际使用中,发现国内的一些域名会被解析为一些莫名其妙的IP,以下为例 :
当走VPN解析时,nslookup得到的alibaba.com的IP是:205.204.96.36,这是一个美国的ip,而实际上,如果在nslookup时,指定server 202.96.134.133,会发现www.alibaba.com的真正ip是42.156.172.33,这才是阿里真正的ip另一个例子是www.ip138.com这个网址,走vpn解析,得到的是: 203.133.25.28,这是一个台湾ip,而如果指定server 114.114.114.114,则可以得到正确IP: 220.112.203.94,这是网宿CDN的IP.

从上面的分析发现,国内的一些站点应该是按来访问位置来解析ip,这是CDN的基本手法。
我的问题是,我想避免DNS污染的时,将我指定的域名的解析,路由到国内的DNS上,其他的,路由到国外的DNS上,这样,就可以完美解决问题。
我在RouterOS官网和google上看到一些人的解决方法是L7标记,但那个,我认为太浪费资源了。
有一些人提出利用NAT中的DST-NAT将content包含域名的数据包路由到指定的dns server,但在测试中,发现这招不灵。

恳请大家集思广议,给小弟些指教。
routeros
发表于 2015-4-6 21:55:52 来自手机 | 显示全部楼层
用代理配合标记路由解决
routeros
回复

使用道具 举报

 楼主| 发表于 2015-4-7 04:14:27 | 显示全部楼层
已经解决:
我利用了DNS染染的特点,根据content标记发往目标dns服务器的udp 53端口的数据包,对于想让国内解析的域名,就标记为novpn,然后将novpn标记的数据包走普通线路,由于isp会劫持这些数据包,所以,这些域名相当于是用了国内dns在解析。初步来看,运作稳定
routeros
回复

使用道具 举报

 楼主| 发表于 2015-4-7 18:12:17 | 显示全部楼层
进一步解决:
用Prerouting标记DNS数据包后,再在NAT中做一个DST-NAT,将这些标记的数据包DST-NAT至国内的任一个DNS,可完美进行DNS分流,这样做的好处是不依赖于DNS劫持 ,而且DNS解析速度变快。
可以做一个脚本,从记事本文 档中抽取域名关键词批量加入到Mangle中,定期执行,这样,只要维护这个关键词列表即可轻松实现DNS分流。
routeros
回复

使用道具 举报

发表于 2015-11-26 23:03:36 | 显示全部楼层
bevel 发表于 2015-4-7 18:12
进一步解决:
用Prerouting标记DNS数据包后,再在NAT中做一个DST-NAT,将这些标记的数据包DST-NAT至国内的 ...

可以上图说明一下吗?谢谢
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-6-3 08:01 , Processed in 0.057323 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表