輕量級域名解析服務(wù)器之dnsmasq的介紹與部署
1、dnsmasq的簡介
dnsmasq提供DNS緩存和DHCP服務(wù)功能。作為域名解析服務(wù)器(DNS),dnsmasq可以通過緩存DNS請求來提高對訪問過的網(wǎng)址的連接速度。作為DHCP服務(wù)器,dnsmasq可以用于為局域網(wǎng)電腦分配內(nèi)網(wǎng)ip地址和提供路由。DNS和DHCP兩個功能可以同時或分別單獨(dú)實(shí)現(xiàn)。dnsmasq輕量且易配置,適用于個人用戶或少于50臺主機(jī)的網(wǎng)絡(luò)。此外它還自帶了一個PXE服務(wù)器。
2、dnsmasq的主要作用
- 將Dnsmasq作為本地DNS服務(wù)器使用,直接修改電腦的本地DNS的IP地址即可。
- 應(yīng)對ISP的DNS劫持(反DNS劫持),輸入一個不存在的域名,正常的情況下瀏覽器是顯示無法連接,DNS劫持會跳轉(zhuǎn)到一個廣告頁面。先隨便nslookup 一個不存在的域名,看看ISP商劫持的IP地址。
- 智能DNS加快解析速度,打開/etc/dnsmasq.conf文件,server=后面可以添加指定的DNS,例如國內(nèi)外不同的網(wǎng)站使用不同的DNS。
國內(nèi)指定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 - 屏蔽網(wǎng)頁廣告,將指廣告的URL指定127這個IP,就可以將網(wǎng)頁上討厭的廣告給去掉了。
address=/ad.youku.com/127.0.0.1
address=/ad.iqiyi.com/127.0.0.1 - 指定域名解析到特定的IP上。這個功能可以讓你控制一些網(wǎng)站的訪問,非法的DNS就經(jīng)常把一些正規(guī)的網(wǎng)站解析到不正確IP上。
address=/www.baidu.com/123.123.123.123 - 管理控制內(nèi)網(wǎng)DNS,首先將局域網(wǎng)中的所有的設(shè)備的本地DNS設(shè)置為已經(jīng)安裝Dnsmasq的服務(wù)器IP地址。然后修改已經(jīng)安裝Dnsmasq的服務(wù)器Hosts文件:/etc/hosts,指定域名到特定的IP中。
例如想讓局域網(wǎng)中的所有用戶訪問www.freehao123.com時跳轉(zhuǎn)到192.168.0.2,添加:192.168.0.2 www.freehao123.com在Hosts文件中既可,整個過程也可以說是“DNS劫持”。
3、dnsmasq的解析流程
- dnsmasq先去解析hosts文件;
- 再去解析/etc/dnsmasq.d/下的*.conf文件;
- 上面這些文件的優(yōu)先級要高于dnsmasq.conf,我們自定義的resolv.dnsmasq.conf中的DNS也被稱為上游DNS,這是最后去查詢解析的。
如果不想用hosts文件做解析,我們可以在/etc/dnsmasq.conf中加入no-hosts這條語句,這樣的話就直接查詢上游DNS了;
如果我們不想做上游查詢,就是不想做正常的解析,我們可以加入no-reslov這條語句。
4、dnsmasq的參數(shù)及常用設(shè)置說明(/etc/dnsmasq.conf )
1)dnsmasq經(jīng)常修改的比較重要參數(shù)說明
resolv-file:定義dnsmasq從哪里獲取上游DNS服務(wù)器的地址, 默認(rèn)從/etc/resolv.conf獲取
strict-order:表示嚴(yán)格按照resolv-file文件中的順序從上到下進(jìn)行DNS解析,直到第一個解析成功為止
listen-address:定義dnsmasq監(jiān)聽的地址,默認(rèn)是監(jiān)控本機(jī)的所有網(wǎng)卡上
address:啟用泛域名解析,即自定義解析a記錄,例如:address=/long.com/192.168.115.10 訪問> > > long.com時的所有域名都會被解析成192.168.115.10
bogus-nxdomain:對于任何被解析到此IP的域名,將響應(yīng) NXDOMAIN 使其解析失效,可以多次指定,通常用于對于訪問不存在的域名,禁止其跳轉(zhuǎn)到運(yùn)營商的廣告站點(diǎn)
server:指定使用哪個DNS服務(wù)器進(jìn)行解析,對于不同的網(wǎng)站可以使用不同的域名對應(yīng)解析。
例如:server=/google.com/8.8.8.8 #表示對于google的服務(wù),使用谷歌的DNS解析。
2)查看配置文件語法是否正確,可執(zhí)行下列命令
dnsmasq --test
3)DNS 緩存設(shè)置
要在單臺電腦上以守護(hù)進(jìn)程方式啟動dnsmasq做DNS緩存服務(wù)器,編輯/etc/dnsmasq.conf,添加監(jiān)聽地址:
listen-address=127.0.0.1
如果用此主機(jī)為局域網(wǎng)提供默認(rèn)DNS,請用為該主機(jī)綁定固定IP 地址,設(shè)置:
listen-address=10.10.x.x
這種情況建議配置靜態(tài)IP
多個ip地址設(shè)置:
listen-address=127.0.0.1,10.10.x.x
4)三個以上域名服務(wù)器
Linux處理DNS 請求時有個限制,在 resolv.conf 中最多只能配置三個域名服務(wù)器(nameserver)。作為一種變通方法,可以在 resolv.conf 文件中只保留localhost 作為域名服務(wù)器,然后為外部域名服務(wù)器另外創(chuàng)建 resolv-file 文件。首先,為dnsmasq 新建一個域名解析文件:
cat /etc/dnsmasq.d/resolv.dnsmasq.conf nameserver 8.8.8.8 nameserver 8.8.4.4
然后編輯 /etc/dnsmasq.conf 讓 dnsmasq 使用新創(chuàng)建的域名解析文件:
cat /etc/dnsmasq.conf ... resolv-file=/etc/dnsmasq.d/resolv.dnsmasq.conf ...
5、dnsmasq的部署
1)安裝dnsmasq
yum -y install dnsmasq
安裝完畢后,可以通過dnsmasq -v命令查看版本,有版本號出來就代表安裝上了。
2)修改Dnsmasq配置文件dnsmasq.conf
修改配置文件前一定要先備份
cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak echo 'resolv-file=/etc/dnsmasq.d/resolv.dnsmasq.conf' >> /etc/dnsmasq.conf #表示dnsmasq 會從這個指定的文件中尋找上游dns服務(wù)器 echo 'addn-hosts=/etc/dnsmasq.d/dnsmasq.hosts' >> /etc/dnsmasq.conf #添加讀取額外的 hosts 文件路徑,可以多次指定;也可以指定為目錄,會自動掃描此目錄下的配置文件 cat /etc/dnsmasq.conf ... strict-order #取消這一行的注釋,表示嚴(yán)格按照resolv.conf中的順序進(jìn)行查找 listen-address=127.0.0.1,192.168.115.120 #多個ip地址設(shè)置;如果想允許所有的用戶使用你的DNS解析服務(wù)器,把listen-address去掉即可 ...
3)修改/etc/resolv.conf文件,并創(chuàng)建resolv.dnsmasq.conf和dnsmasq.hosts文件
echo 'nameserver 127.0.0.1' > /etc/resolv.conf yes | cp /etc/resolv.conf /etc/dnsmasq.d/resolv.dnsmasq.conf echo 'nameserver 8.8.8.8' >>/etc/dnsmasq.d/resolv.dnsmasq.conf echo 'nameserver 10.10.0.120' >>/etc/dnsmasq.d/resolv.dnsmasq.conf yes | cp /etc/hosts /etc/dnsmasq.d/dnsmasq.hosts
resolv.dnsmasq.conf
中設(shè)置的是真正的Nameserver,可以填寫各大商家提供的免費(fèi)DNS地址。
4)啟動Dnsmasq
systemctl start dnsmasq #啟動dnsmasq服務(wù) systemctl enable dnsmasq #設(shè)置成開機(jī)自啟動 netstat -antp|grep 53 #查看端口是否啟動成功
5)測試是否配置成功。
第一次查詢耗時150ms,第二次查詢耗時0ms
6、dnsmasq的使用及實(shí)現(xiàn)的功能
1)作為本地DNS使用
將dnsmasq作為本地DNS服務(wù)器使用,直接修改電腦的本地DNS的IP地址即可。
ping harbor私服的域名并訪問,發(fā)現(xiàn)可以ping通且可以正常訪問
2)智能DNS加快解析速度。
打開/etc/dnsmasq.conf文件,server=添加指定的DNS
,例如國內(nèi)外不同的網(wǎng)站使用不同的DNS。
cat /etc/dnsmasq.conf ... 國內(nèi)指定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 ...
3)屏蔽網(wǎng)頁廣告
將廣告的URL指定127.0.0.1這個IP,就可以將網(wǎng)頁上討厭的廣告給去掉了。
cat /etc/dnsmasq.conf ... address=/ad.youku.com/127.0.0.1 address=/ad.iqiyi.com/127.0.0.1 ...
4)指定域名解析到特定的IP上
這個功能可以讓你控制一些網(wǎng)站的訪問,非法的DNS就經(jīng)常把一些正規(guī)的網(wǎng)站解析到不正確IP上。
cat /etc/dnsmasq.conf ... address=/www.baidu.com/123.123.123.123 ...
訪問www.baidu.com會發(fā)現(xiàn)無法訪問此網(wǎng)站
5)管理控制內(nèi)網(wǎng)DNS
首先將局域網(wǎng)中的所有的設(shè)備的本地DNS設(shè)置為已經(jīng)安裝dnsmasq的服務(wù)器IP地址;然后修改已經(jīng)安裝dnsmasq的服務(wù)器hosts文件:/etc/hosts
,指定域名到特定的IP中。
例如:想讓局域網(wǎng)中的所有用戶訪問www.http123.com時跳轉(zhuǎn)到10.10.0.111,添加'10.10.0.111 www.http123.com'
到hosts文件
中既可,整個過程也可以說是"DNS劫持"。
echo'10.10.0.111 www.http123.com' >> /etc/hosts
瀏覽器訪問www.http123.com就會自動跳轉(zhuǎn)到10.10.0.111上
總結(jié)
到此這篇關(guān)于輕量級域名解析服務(wù)器之dnsmasq的文章就介紹到這了,更多相關(guān)輕量級域名解析服務(wù)器dnsmasq內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Mac OS X中配置Apache+PHP+MySQL運(yùn)行環(huán)境的詳細(xì)步驟
這篇文章主要介紹了在Mac OS X中配置Apache+PHP+MySQL運(yùn)行環(huán)境的詳細(xì)步驟,需要的朋友可以參考下2017-09-09git分支管理_動力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了git分支管理的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08WampServer設(shè)置apache偽靜態(tài)出現(xiàn)404 not found及You don''t have permiss
這篇文章主要介紹了WampServer設(shè)置apache偽靜態(tài)出現(xiàn)404 not found及You don't have permission to access / on this server解決方法,較為詳細(xì)的分析了幾種常見情況,非常具有實(shí)用價值,需要的朋友可以參考下2015-10-10360提示服務(wù)器開啟了WebDAV的關(guān)閉方法
WebDAV (Web-based Distributed Authoring and Versioning) 一種基于 HTTP 1.1協(xié)議的通信協(xié)議.它擴(kuò)展了HTTP 1.1,在GET、POST、HEAD等幾個HTTP標(biāo)準(zhǔn)方法以外添加了一些新的方法2012-07-07CentOS 6.3 Rsync客戶端與Win2003 cwRsyncServer服務(wù)端實(shí)現(xiàn)數(shù)據(jù)同步
這篇文章主要介紹了CentOS 6.3 Rsync客戶端與Win2003 cwRsyncServer服務(wù)端實(shí)現(xiàn)數(shù)據(jù)同步,需要的朋友可以參考下2015-07-07服務(wù)器安裝conda環(huán)境遇到代理PROXY問題及解決方案
這篇文章主要為大家介紹了服務(wù)器安裝conda環(huán)境遇到代理PROXY問題及解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07服務(wù)器從安裝到配置陣列RAID1+RAID5?安裝Windows?Server?2019
今天就給安排上了——從RAID的配置開始,以及如何在WinPE里面載入陣列卡驅(qū)動、磁盤分區(qū)、安裝系統(tǒng)等,另外 ,圖片為操作過程中實(shí)拍,質(zhì)量不高,敬請諒解2022-10-10