通告 欢迎访问爱刷机(原爱搜路由、爱搜啊博客aisoa.cn)

openwrt中的DNS设置smartdns与富强插件去广告设置adguardhome

2022-03-06
0评论
/
阅读
爱搜啊

一、DNS和路由器网关简单的解释

1、DNS和网关,是OPENWRT固件设置上网中必不可少的东西,网关就像是高速公路的入口,只有进去了才能到达目的地。

2、而DNS的话就像高速公路上的各种指标牌,指引你到达目的地。

3、而只要明白了这两个基本概念,那就可说你应该已经学会一半了,而另一半就是,这两样东西都要求必须畅通,就是要求你设置的这两个值要能直通你的运营商,就像你上了高速,可以根据指示牌到达任何通高速的地方,如果有地4、方修路或断路,那你就去不了,也就不通了,也就不能上网了。

5、明白这两点,基本原理你就全懂了,接下来就是实操部分。

二、OPENWRT固件DNS设置方法

1、对于OP来说,DNS的设置方法有两种

一,是在LAN口设置的地方使用自定义DNS(不同固件,有的能填写端口,有的不能,本人都遇到过,不设置的情况下系统是默认使用53端口),修改了这里,那就是相当于修改了DHCP/DNS中的解析文件,也就是图中的/TMP/XXXX文件。

二,是在DHCP/DNS的转发处填写,这里就可以填写带端口的解析地址(127.0.0.1#1234),一般用带#号隔开,设置错误了是保存不了的。设置DNS转发端口的,就相当于启用了XXX插件中的“做为DNSmasq的上游服务器”的选项,两者是等价的。

2、无论你如何设置DNS,最终的DNS一定是要能通过网关,而你设置的网关地址是一定要能连接到运营商,下面实操说明;

PENWRT固件DNS设置

三、OPENWRT固件实际操作部分

1、对于干净新装的OP系统,先设置好IP地址,要求和主路由或光猫的LAN口IP地址同一网段(也就是IP的前三组数xxx.xxx.xxx.abc字要完全一样),接下来就是设置DNS了。

方法一,直接在LAN设置自定义,你可以设置成任何公开的DNS地址,也可不设置(主路由拨号上网的可自动获得),还可以设置为主路由的IP地址(旁路由模式),设置完保存出退,就能正常上网了。

方法二,直接在端口转发处填上想设置的DNS地址,保存后就能正常上网了,切记,两者不要同时设置。这里要强调的是,不同的固件有的用第一种方法设置端口后不能保存,所以建设直接用第二种方法。

2、使用smartdns插件,它的本质其实就是增加几个DNS服务器,同时还拥有dnsmasq没有的一些功能,它本身启用不会对系统的dnsmasq做任何的修改(不启用重定向),假设启用两组服务器,并设置好国内国外的上游服务器。主端口号是6053,二组为6553(为了配合XXXplus,你可以自行改成5335或其他),再用

bind :6054 -group cn,bind :6554 -group en

绑定两个端口并指定服务器组。

接着我用上述的第二种方法设置路由器本身的DNS,这时,无论你设置成主路由IP地址(可不带端口号),还是设置成127.0.0.1#(6053/6054),都能正常上网。

其实,第二组en服务器也能正常上网的,也就是用国外的DNS解析国内的网站地址,但是因为有些地址被墙了,所以解析不了。

而更简单的是,假设你的smartdns国内的上游服务器只设一个,且设置成光猫或主路由的IP地址(192.168.2.1),也一样能正常上网,现在,聪明的小伙伴应该明白其中的原理了吧。

是的,其实本质上smartdns就是一个DNS转发插件,只要你设置的DNS 的IP能通过网关最终通过运营商,你就能正常上网。

smartdns转发DNS的请求流程

如下,系统固件dnsmasq通过默认的53端口查询----------转发端口或自定义地址查询(smartdns或自定义的其他插件)-------网关---光猫---运营商,用IP地址表示  127.0.0.1#53-----127.0.0.1#6053/6054-----192.168.2.1(223.5.5.5等其他事先设置好的上游dns)-----营运商,注意,再次强调下,能上网的前提一定是设置了正确的网关。因为DNS本身也只是一组IP地址,数据最终是要通过网关连接到外网的。

推荐:《smartDNS怎么详细设置解释

3、使用adguardhome+XXXX插件,基本原理和上面的完全一样,想要adguardhome正确的显示访问的客户端IP,要求所有的客户必须直接通过adguardhome进行DNS解析;

所以,把adguardhome设置为dnsmasq的上游服务,只能显示127.0.0.1,因为所有的dns解析请求都是首先通过dnsmasq来申请的。但是如果你直接用重定向或替换端口的方法,又会导致XXXX失效,我猜测,应该是XXX插件劫持了系统的dnsmasq解析工作;所以,难点就在这里了,而我们要做的就是在dnsmasq解析之前先通过adguardhome接管解析,再让adguardhome通过dnsmasq解析。

而这个方法其实非常的简单,

第一,修改dhcp/dns的DNS服务器端口(高级设置里面,假设改为5321),

第二,配置adguardhome监听53端口,并设置它的上游服务器地址为修改后的DHCP/DNS的地址端口,它本身的bootstrap服务器地址设为127.0.0.1,然后就没有然后了,完美了,是不是很简单?

只要理解了原理,其实就是这么简单。

smartdns

adguardhome转发DNS的请求流程

如下,adguardhome接管系统默认的53端口查询-----XXX插件使用dnsmasq查询(5321)-----转发端口或自定义地址查询(smartdns或自定义的其他插件)-----网关---光猫---运营商。用IP地址表示  127.0.0.1#53-----127.0.0.1#5321-----127.0.0.1#6053/6054-----192.168.2.1(223.5.5.5等其他服务器组的dns)-----光猫-----营运商。

CentOS安装AdGuard Home搭建私人无广告无跟踪的公共DNS服务器

adguardhome


本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件


于2022-03-06发布