本文最后更新于2020年8月8日,可能会因为没有后期更新而失效。如果您发现本文已经失效或者需要修正,请留言给博主!感谢
前言
前面我们讲了多个运营商线路同时接入使用不同 DNS 线路上网:RouterOS 的 DNS 分流
这里讲另一种蛋疼的情况。你有两条出口。一条带宽充足,但速度较慢;另一条速度极快,但带宽较低(或者可以无阻碍上网,但带宽不够)。而有些网站实际并没有被 Q,仅仅只是 DNS 污染。此时我们可以使用 DNS 解析与访问站点分流的办法解决。
步骤
首先,添加七层协议组 domain
把下面的域名换成你要分流解析的域名
注意格式:最后一条域名后面没有分隔符
/ip firewall layer7-protocol add name=domain regexp="facebook.com|youtube.com|googledrive.com|googleearh.com|googlehosted.com|googlelabs.com|googlemail.com|googlepages.com|googleplus.com|googlesile.com|googlesource.com|googlesyndication.com|googletagmanager.com|googletagservices.com|googleusercontent.com|googlevideo.com|gstatic.com|gvt1.com|hbo.com|hbogo.com|amazon.co.jp"
添加标记路由
例如,我要指定的出口是 gre-tunnel1 隧道
/ip route add distance=3 gateway=gre-tunnel1 routing-mark=GW_DNS
域名解析重定向
例如,我这里将七层协议里的 domain 解析重定向到 1.1.1.1 服务器
/ip firewall nat add action=dst-nat chain=dstnat dst-port=53 layer7-protocol=domain protocol=udp to-addresses=1.1.1.1 to-ports=53 add action=dst-nat chain=dstnat dst-port=53 layer7-protocol=domain protocol=tcp to-addresses=1.1.1.1 to-ports=53
最后,通过路由标签指定访问 1.1.1.1 的路由
/ip firewall mangle add action=mark-routing chain=prerouting layer7-protocol=domain new-routing-mark=GW_DNS passthrough=yes place-before=0
调好以上配置就可以给 domain 里的域名使用隧道去解析了。ROS 玩法实在太多。我也只是小白一枚。期待更多高手萌新前来一起交流