DNS劫持DNSmasq詳細解析及詳細配置

經常使用於測試使用,安裝環境爲MacOSphp

1、Dnsmasq介紹html

Dnsmasq 提供 DNS 緩存和 DHCP 服務功能。做爲域名解析服務器(DNS),dnsmasq能夠經過緩存 DNS 請求來提升對訪問過的網址的鏈接速度。做爲DHCP 服務器,dnsmasq 能夠用於爲局域網電腦分配內網ip地址和提供路由。DNS和DHCP兩個功能能夠同時或分別單獨實現。dnsmasq輕量且易配置,適用於我的用戶或少於50臺主機的網絡。此外它還自帶了一個 PXE 服務器。linux

2、Dnsmasq的主要做用瀏覽器

    1)將Dnsmasq做爲本地DNS服務器使用,直接修改電腦的本地DNS的IP地址便可。緩存

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

    3)智能DNS加快解析速度,打開/etc/dnsmasq.conf文件,server=後面能夠添加指定的DNS,例如國內外不一樣的網站使用不一樣的DNS。網絡

國內指定DNSdom

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

3、dnsmasq解析流程網站

dnsmasq先去解析hosts文件, 再去解析/etc/dnsmasq.d/下的*.conf文件,而且這些文件的優先級要高於dnsmasq.conf,咱們自定義的resolv.dnsmasq.conf中的DNS也被稱爲上游DNS,這是最後去查詢解析的;

若是不想用hosts文件作解析,咱們能夠在/etc/dnsmasq.conf中加入no-hosts這條語句,這樣的話就直接查詢上游DNS了,若是咱們不想作上游查詢,就是不想作正常的解析,咱們能夠加入no-reslov這條語句。

4、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

相關文章
相關標籤/搜索