1. 程式人生 > >dnsmasq反DNS劫持、DNS汙染、去廣告

dnsmasq反DNS劫持、DNS汙染、去廣告

通過配置檔案/etc/dnsmasq.conf實現
DNS反劫持:
bogus-nxdomain=x.x.x.x
x.x.x.x是劫持域名的伺服器地址,可以通過ping一個不存在的域名得到。如ping fanjiechixxxxxx.com。
DNS反汙染:
將會被汙染的域名傳送到不會汙染的域名伺服器
server=/talk.google.com/8.8.4.4
番羽薔:
將被薔的域名本地解析
address=/google.cn/103.1.139.227
如果薔的是ip就沒辦法了
去廣告:
把廣告域名解析為空:

address=/yx.guanggao.com/0.0.0.0

openwrt的dnsmasq啟動方式為:/usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf -k

更改了配置檔案位置,需要研究一下其dnsmasq和相關的DNS、DHCP實現方式。

/var/etc/dnsmasq.conf內容如下:

# auto-generated config file from /etc/config/dhcp
conf-file=/etc/dnsmasq.conf
dhcp-authoritative
domain-needed   
localise-queries
read-ethers
bogus-priv  
expand-hosts
domain=lan                     
server=/lan/                     
dhcp-leasefile=/tmp/dhcp.leases  
resolv-file=/tmp/resolv.conf.auto
addn-hosts=/tmp/hosts  
conf-dir=/tmp/dnsmasq.d
stop-dns-rebind                   
rebind-localhost-ok               
dhcp-broadcast=tag:needs-broadcast


                                                            
                                                            
dhcp-range=lan,192.168.0.100,192.168.0.249,255.255.255.0,12h
no-dhcp-interface=eth0.2

該檔案由/etc/init.d/dnsmasq根據/etc/config/dhcp生成,包含了/etc/dnsmasq.conf,所以可以通過修改該檔案新增相關配置。

經測試bogus-nxdomain=202.102.110.204有效,但是address=/google.com/103.1.139.227無效,繼續研究。 address無效可能是網站設定問題,有的網站特別是虛擬主機可能是幾個域名用一個ip,這個時候就有問題了,比如顯示pageok,或是直接顯示無法找到“103.1.139.227”。

dnsmasq中的masq應是masquerade之意。