1. 程式人生 > >如何搭建DNS伺服器(Dnsmasq的安裝與配置)

如何搭建DNS伺服器(Dnsmasq的安裝與配置)

文章目錄

Dnsmasq安裝與配置-搭建本地DNS伺服器 享受更乾淨更快無廣告DNS解析     

        預設的情況下,我們平時上網用的本地DNS伺服器都是使用電信或者聯通的,但是這樣也導致了不少的問題,首當其衝的就是上網時經常莫名地彈出廣告,或者莫名的流量被消耗掉導致網速變慢。其次是部分網站域名不能正常被解析,莫名其妙地打不開,或者時好時壞。

        如果碰上不穩定的本地DNS,還可能經常出現無法解析的情況。除了要避免“壞”的DNS的影響,我們還可以利用DNS做些“好”事,例如管理區域網的DNS、給手機App Store加速、糾正錯誤的DNS解析記錄、保證上網更加安全、去掉網頁討厭的廣告等等。

        這時候搭建一個屬於自己的本地DNS伺服器就十分必要了,本篇文章就來分享一下

Dnsmasq安裝與配置方法,利用Dnsmasq來搭建一個屬於自己的本地DNS伺服器,享受更乾淨無汙染、更智慧快速和沒有廣告干擾的DNS解析服務。

        選擇好的本地DNS可以讓我們上網更快更舒心,而對於網站,選擇一個好的DNS域名解析服務也是十分重要:

Dnsmasq安裝與配置-搭建本地DNS伺服器 享受更乾淨更快無廣告DNS解析

一、Dnsmasq安裝

1、執行以下命令在VPS上安裝Dnsmasq:


yum install dnsmasq -y 
service dnsmasq start 

Dnsmasq安裝

二、Dnsmasq配置

1、Dnsmasq的配置檔案是放在 /etc/dnsmasq.conf 中。

Dnsmasq配置檔案

2、開啟編輯,配置:resolv-file=/etc/resolv.dnsmasq.conf,表示dnsmasq 會從這個指定的檔案中尋找上游dns伺服器。同時取消 strict-order 前面的註冊#號。

Dnsmasq去除註釋號

3、檢查一下no-hosts前面是不是已經有了#號,預設的情況下是有的,dnsmasq 會首先尋找本地的 hosts 檔案再去尋找快取下來的域名, 最後去上游dns 伺服器尋找。

Dnsmasq檢查配置

4、設定:listen-address=127.0.0.1,表示這個 dnsmasq 本機自己使用有效。注意:如果你想讓本機所在的區域網的其它電腦也能夠使用上Dnsmasq,應該把本機的區域網IP加上去:listen-address=192.168.1.123,127.0.0.1

Dnsmasq區域網IP

5、修改好了dnsmasq.conf 後,就可以將它重新上傳覆蓋原檔案了。

6、另外我們還需要修改/etc/resolv.conf這個檔案,執行以下命令:


echo 'nameserver 127.0.0.1' > /etc/resolv.conf
cp /etc/resolv.conf /etc/resolv.dnsmasq.conf
echo 'nameserver 8.8.8.8' > /etc/resolv.dnsmasq.conf
echo 'nameserver 199.91.73.222' > /etc/resolv.dnsmasq.conf
cp /etc/hosts /etc/dnsmasq.hosts
echo 'addn-hosts=/etc/dnsmasq.hosts' >> /etc/dnsmasq.conf

Dnsmasq新增NS伺服器IP

7、resolv.dnsmasq.conf中設定的是真正的Nameserver,可以用谷歌、V2EX等公共的DNS。

三、Dnsmasq啟動

1、執行以下命令設定Dnsmasq開機啟動並啟動Dnsmasq服務:


chkconfig dnsmasq on
/etc/init.d/dnsmasq restart

Dnsmasq啟動服務

2、執行命令:netstat -tunlp|grep 53 可以檢視Dnsmasq是不是已經正常啟動:

Dnsmasq檢查是否正常啟動

3、測試:dig www.freehao123.com,第一次是沒有快取,所以時間是200多。

Dnsmasq查詢時間

4、第二次再次測試,因為已經有了快取,所以查詢時間已經變成了0.

Dnsmasq快取生效

四、Dnsmasq使用

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

Dnsmasq本地DNS伺服器使用

2、應對ISP的DNS劫持。輸入一個不存在的域名,正常的情況下瀏覽器是顯示無法連線,DNS劫持會跳轉到一個廣告頁面。先隨便nslookup 一個不存在的域名,看看ISP商劫持的IP地址。

Dnsmasq檢查DNS劫持

3、接著編輯/etc/dnsmasq.conf檔案,將:bogus-nxdomain=123.123.123.123 加入進去,後面的IP是剛剛查詢到的DNS劫持IP地址。

4、重啟dnsmasq,再嘗試開啟不存在的域名,這時瀏覽器就會顯示正常的無法連線頁面了。

Dnsmasq無法顯示網頁

5、智慧DNS加快解析速度。開啟/etc/dnsmasq.conf檔案,server=後面可以新增指定的DNS,例如國內外不同的網站使用不同的DNS。


#國內指定DNS
server=/cn/114.114.114.114
server=/taobao.com/114.114.114.114
server=/taobaocdn.com/114.114.114.114
#國外指定DNS
server=/google.com/223.5.5.5

6、server=/cn/表示所有的cn域名都使用114這個公共DNS,server=/taobao.com/表示所有的taobao.com域名都用114,223.5.5.5 是阿里雲的公共DNS,你可以換成其它的。

7、遮蔽網頁廣告。將指廣告的URL指定127這個IP,就可以將網頁上討厭的廣告給去掉了。


address=/ad.youku.com/127.0.0.1
address=/ad.iqiyi.com/127.0.0.1

8、指定域名解析到特定的IP上。這個功能可以讓你控制一些網站的訪問,非法的DNS就經常把一些正規的網站解析到不正確IP上。


address=/freehao123.com/123.123.123.123

9、內網DNS。首先將區域網中的所有的裝置的本地DNS設定為已經安裝Dnsmasq的伺服器IP地址。然後修改已經安裝Dnsmasq的伺服器Hosts檔案:/etc/hosts,指定域名到特定的IP中。

10、例如想讓區域網中的所有使用者訪問www.freehao123.com時跳轉到192.168.0.2,新增:192.168.0.2 www.freehao123.com在Hosts檔案中既可,整個過程也可以說是“DNS劫持”。

五、Dnsmasq小結

1、Dnsmasq作為本地DNS伺服器安裝方便,操作簡單,改動的地方也不是很多,如果用國內的VPS來搭建本地DNS,響應的速度會更快,也更穩定。

2、Dnsmasq的功能強大,反DNS劫持、加快解析速度、遮蔽廣告、控制內網DNS、強制域名跳轉到特定IP上等這些功能在我們的實際的生活中都是很有用的。

相關推薦

如何搭建DNS伺服器Dnsmasq安裝配置

文章目錄               預設的情況下,我們平時上網用的本地DNS伺服器都是使用電信或者聯通的,但是這樣也導致了不少的問題,首當其衝的就是上網時經常莫名地彈出廣告,或者莫名的流量被消耗掉導致網速變慢。其次是部分網站域名不能正常被解析,莫名其妙地打不開,或

Linux下基於Hadoop的大資料環境搭建步驟詳解Hadoop,Hive,Zookeeper,Kafka,Flume,Hbase,Spark等安裝配置

Linux下基於Hadoop的大資料環境搭建步驟詳解(Hadoop,Hive,Zookeeper,Kafka,Flume,Hbase,Spark等安裝與配置) 系統說明 搭建步驟詳述 一、節點基礎配置 二、H

搭建E*專案事務跟蹤工具jira安裝破解

一、需求說明: 搭建E*專案與事務跟蹤工具,應用於需求收集、流程審批、任務跟蹤、專案跟蹤和敏捷管理、缺陷跟蹤、客戶服務等工作。 二、伺服器環境 個人主機:可以訪問內外網。 11.11.180.136:內網伺服器主機,無法訪問外網,部署有docker私有倉庫。 11.11.180.

MongoDB一:入門安裝配置

  https://www.cnblogs.com/cbw-mango/p/7987682.html   一.簡介 MongoDB  是一個基於分散式檔案儲存的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充套件的高效能資料儲存解決方案。 mon

阿里雲ECS伺服器下hive安裝配置

參照:https://www.cnblogs.com/dxxblog/p/8193967.html 雲伺服器centos版本:CentOS 7.2 hive版本:apache-hive-3.1.1 遇到的錯誤: 1、執行:./schematool -dbType mysql -ini

學習MongoDB 一:MongoDB 入門安裝配置

          MongoDB一種非關係型資料庫(NoSql),是一種強大、靈活、可擴充套件的資料儲存方式,因為MongoDB是文件模型,自由靈活很高,可以讓你在開發過程中暢順無比,對於大資料量、高併發、弱事務的網際網路應用,MongoDB可以應對自如,MongoDB內建的水平擴充套件機制提供了從百萬到十

Apache伺服器的下載安裝配置

最近在學習Android,需要搭建一個伺服器。於是在網上查找了一些資料。主要參考博文https://www.cnblogs.com/yerenyuan/p/5460336.html點選開啟連結目前官網可以下載的版本是2.4.29,分VC14和VC11,VC14是Visual

Centos7搭建DNS伺服器僅正解

本文介紹一下DNS伺服器的搭建 用的是3臺伺服器: linux主機:192.168.1.200/24作為DNS伺服器 server主機:192.168.1.201/24作為需要被解析的主機 linux主機:192.168.1.202/24作為被解析的主機

初識jenkins安裝配置

一.前言 jenkins官方網站:https://jenkins.io/ jenkins下載地址:https://jenki

2018-07-25筆記zabbix安裝配置

rhel level 文檔 p地址 eply 0 rows acc lose rul 19.1 Linux監控平臺介紹 監控存在的原因●站點出了問題,沒有人知道,等用戶發現了,才提醒供應商;對公司影響很大 ●常見開源監控軟件 ○cacti、nagios、zabbix、smo

Libgdx Developer's Guide(Libgdx開發者手冊)-6啟動類配置

對於每個平臺,必須寫一個啟動類。該類例項化一個特定後臺的Application實現和實現了應用邏輯的ApplicationListener。該啟動類依賴於平臺,讓我們看看怎樣為每個後臺例項化和配置一個啟動類。 該篇假定你已經完成了Project Setup中的說明並將生成的核心,桌面,Andr

LNMP架構六Nginx安裝部署

六、Nginx的安裝與部署 1、安裝工具包 wget、vim和gcc yum install -y wget   yum install -y vim-enhanced   yum install -y make cmake gcc gcc-c++  

Redis 程式設計Idea 安裝配置

Redis 的特點 速度快,執行在記憶體中,執行速度非常快。 資料型別豐富: String,上限512MB List set sorted set,每個元素關聯一個 score,以提供排序依據 hash,字串與

MongoDB 程式設計Idea 安裝配置

MongoDB 安裝 進入 /usr/local cd /usr/local 下載 sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.2.tgz 解壓 sudo tar -zxvf

mbedtls安裝入門mbedtls安裝入門

引用http://www.mamicode.com/info-detail-1831476.html 下面需要修改的地方(CMakeLists.txt 檔名大小寫敏感),(使用sudo vim /etc/ld.so.conf 新增內容:/etc/local/lib ;然後呼

Linux運維實戰之DNSbind服務器的安裝配置

tle 同時 文件句柄 服務器端 date bka rync adt 發展 【本次博文的主要內容】 bind服務器簡介(包括客戶端工具dig的介紹) 配置正向解析DNS服務器 配置反向解析DNS服務器 配置輔助DNS服務器並在主輔之間實現區域傳送 一、BIND服務器簡

vsftpd檔案伺服器安裝配置centos6.x和7.x

vsftpd是一款免費的、開源的ftp伺服器軟體。     安裝環境(centos 6.8 64位)   安裝版本 vsftpd-2.2.2-24.el6.x86_64   安裝步驟:     一:執行 yum -y install vsftpd(1、可以先執

LinuxCentos7下,阿帕奇Apache伺服器安裝配置

Y6   Apache是世界使用排名第一的Web伺服器軟體。它可以執行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的API擴充,將Perl/Python等直譯器編譯到伺服器中。 下面介紹Apac

基於centos7系統下SVN的安裝配置阿里雲伺服器下Linux

       對於企業或者公司來說,檔案的管理一直以來都是很頭疼的事,SVN的出現對於檔案的管理提供了很大的幫助。廢話不多說了,關於SVN,就不做過多介紹了,想要了解更多的話,請檢視SVN簡介。 關於Linux系統下如何安裝SVN,下面給我我自己的實踐步驟

LINUX之samba伺服器安裝配置基於redhat 6.3發行版

linux系統之間或者linux系統和windows系統之間難免會有共享檔案的時候,實現共享的方法有很多,這裡簡單介紹一下通過samba伺服器實現linux系統與windows系統之間的檔案共享的方法。 我是windows下通過虛擬機器安裝的linux系統,redhat 6.3發行版。實現sa