1. 程式人生 > >【Raspberry Pi 3試用體驗】+ 搭建本地DNS伺服器

【Raspberry Pi 3試用體驗】+ 搭建本地DNS伺服器

//本文內容來自StarSight,歡迎訪問。

需求:上網時莫名地彈出廣告,或者莫名的流量被消耗掉導致網速變慢。其次是部分網站域名不能正常被解析,莫名其妙地打不開,或者時好時壞。

管理下區域網的DNS(雙十一的時候,把某寶網站直接給解析到本地ip,打不開網頁,O(∩_∩)O哈哈~)

這裡我用的是dnsmasq

安裝比較簡單:

1
sudo apt-get install -y dnsmasq

下面我們就需要配置dnsmasq了,配置檔案一般位於路徑/etc/dnsmasq.conf

這個檔案裡全是註釋的內容,相當於空檔案。我先備份了此檔案,然後修改了一些配置:

1
2
3
4 5
resolv-file=/etc/wenjie_dns.conf
strict-order
cache-size=1500
listen-address=127.0.0.1,218.195.54.90
address=/taobao.com/218.195.54.90
1
2
3
4
5
6
7
8
9
10
resolv.conf:檔案主要的作用是DNS客戶機配置檔案,設定DNS伺服器的IP地址及DNS域名.如果我們不配置的話,預設使用 /etc/resolv.conf 網上有人說每次開機此檔案都會被重寫,所以就自己指定/etc/wj_dns.conf
strict-order: 按照resolv.conf中nameserver順序依次使用,本行被註釋後會隨機的呼叫nameserver
cache-size: 快取解析條數,預設是150 listen-address: 監聽地址,listen-address=127.0.0.1,表示這個 dnsmasq 本機自己使用有效。 注意:如果你想讓本機所在的區域網的其它電腦也能夠使用上Dnsmasq,應該把本機(樹莓派)的區域網IP加上去:listen-address=218.195.54.90(樹莓派的ip),127.0.0.1 address:很明顯就是我們想劫下的域名了

在/etc/wenjie_dns.conf 寫入 DNS伺服器,本地的當然得放在第一個,下面的寫其它穩定的就行

1
2
3
nameserver 127.0.0.1
nameserver 202.206.240.13 nameserver 202.206.240.12

重啟服務:

1
sudo service dnsmasq restart

將Dnsmasq作為本地DNS伺服器使用,直接修改電腦的本地DNS的IP地址即可。

ping 一下試試

大功告成。

攔截一些廣告,也可以把域名劫到127.0.0.1 bogus-nxdomain 這個配置檔案裡的選項可以反dns劫

對於dns快取,可以用dig 命令看一下效果。 樹莓派沒有安裝,可以安裝一下:

1
sudo apt-get install dnsutils

還有no-hosts 選項 ,預設情況下這是註釋掉的, dnsmasq 會首先尋找本地的 /etc/hosts 檔案,再去尋找快取下來的域名, 最後去上游 dns 伺服器尋找。所以/etc/hosts才是dnsmasq第一個尋找的地方。