dnsmasq劫持和dns教程詳細解析

seven123發表於2020-11-29

常用於測試使用,安裝環境為MacOS

一、Dnsmasq介紹

 提供 DNS 快取和 DHCP 服務功能。作為 伺服器(DNS),dnsmasq可以透過快取 DNS 請求來提高對訪問過的網址的連線速度。作為DHCP 伺服器,  可以用於為區域網電腦分配內網ip地址和提供路由。DNS和DHCP兩個功能可以同時或分別單獨實現。dnsmasq輕量且易配置,適用於個人使用者或少於50臺主機的網路。此外它還自帶了一個   伺服器。

二、Dnsmasq的主要作用

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

IIS7網站監控可以及時防控網站風險,快速準確監控網站是否遭到各種劫持攻擊,網站在全國是否能正常開啟(檢視域名是否被牆),精準的DNS汙染檢測,具備網站開啟速度檢測功能,第一時間知道網站是否被黑、被入侵、被改標題、被掛黑鏈。精益求精的產品,缺陷為零資料提供!
它可以做到以下功能:

1、 檢測網站是否被黑

2、檢測網站是否被劫持

3、檢測域名是否被牆

4、檢測DNS是否被汙染

5、網站真實的完全開啟時間(獨家)

6、擁有獨立監控後臺,24小時定時監控域名

官方地址:

官方圖:  

 

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

    3)智慧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/8.8.8.8

三、dnsmasq解析流程

dnsmasq先去解析hosts檔案, 再去解析/etc/dnsmasq.d/下的*.conf檔案,並且這些檔案的優先順序要高於dnsmasq.conf,我們自定義的resolv.dnsmasq.conf中的DNS也被稱為上游DNS,這是最後去查詢解析的;

如果不想用hosts檔案做解析,我們可以在/etc/dnsmasq.conf中加入no-hosts這條語句,這樣的話就直接查詢上游DNS了,如果我們不想做上游查詢,就是不想做正常的解析,我們可以加入no-reslov這條語句。

四、dnsmasq配置引數及說明

1)dnsmasq經常修改的比較重要引數說明

具體引數

引數說明

resolv-file

定義dnsmasq從哪裡獲取上游DNS伺服器的地址, 預設從/etc/resolv.conf獲取。

strict-order

表示嚴格按照resolv-file檔案中的順序從上到下進行DNS解析,直到第一個解析成功為止。

listen-address

定義dnsmasq監聽的地址,預設是監控本機的所有網路卡上。

address

啟用泛域名解析,即自定義解析a記錄,例如:address=/long.com/192.168.115.10 訪問long.com時的所有域名都會被解析成192.168.115.10

bogus-nxdomain

對於任何被解析到此 IP 的域名,將響應 NXDOMAIN 使其解析失效,可以多次指定 通常用於對於訪問不存在的域名,禁止其跳轉到運營商的廣告站點

server

指定使用哪個DNS伺服器進行解析,對於不同的網站可以使用不同的域名對應解析。 例如:server=/google.com/8.8.8.8    #表示對於google的服務,使用谷歌的DNS解析。

2)檢視配置檔案語法是否正確,可執行下列命令

dnsmasq -test

顯示:

dnsmasq: syntax check OK.

3)DNS 快取設定

要在單臺電腦上以守護程式方式啟動dnsmasq做DNS快取伺服器,編輯/etc/dnsmasq.conf,新增監聽地址:

listen-address=127.0.0.1

如果用此主機為區域網提供預設 DNS,請用為該主機繫結固定 IP 地址,設定:

listen-address=192.168.x.x

這種情況建議配置靜態IP

多個ip地址設定:

listen-address=127.0.0.1,192.168.x.x

4)啟動守護程式

設定為開機啟動:

systemctl enable dnsmasq

立即啟動 dnsmashq:

systemctl start dnsnsmasq

需要重啟網路服務以使 DHCP 客戶端重建一個新的 /etc/resolv.conf

檢視dnsmasq是否啟動正常,檢視系統日誌:

    journalctl -u d

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69989270/viewspace-2737972/,如需轉載,請註明出處,否則將追究法律責任。

相關文章