搭建dnsmasq


dnsmasq原理 :

  dnsmasq提供DNS緩存和DHCP服務、Tftp服務功能。

  作為域名解析服務器,dnsmasq可以通過緩存DNS請求來提供對訪問過的網址的的連接速度;

  作為DHCP服務器,dnsmasq可以用於為局域網電腦分配內網IP地址和提供路由;

  DNS和DHCP兩個功能可以同時或分別單獨實現,此處只做DNS的配置;

  當接受到一個DNS請求時,Dnsmasq首先會查找/etc/hosts這個文件,然后查找/etc/resolv.conf中定義的外部DNS。所以說Dnsmasq是一個很不錯的外部DNS中繼。

       配置dnsmasq為DNS緩存服務器,同時在/etc/hosts文件中加入本地內網解析,這樣一來每當內網機器查詢時就會優先查詢hosts文件,這就等於將/etc/hosts共享給全內網機器使用,從而解決內網機器互相識別的問題。

安裝:

yum install -y dnsmasq
firewall-cmd --zone=public --add-service=dns --per
firewall-cmd reload
systemctl enable dnsmasq

配置:

cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
[root@zabbix ~]# vim /etc/dnsmasq.conf 

##偵聽端口
port=53
##服務啟動用戶及用戶組
#user=nobody
#group=nobody
##業務偵聽地址 - interface 選項和 listen-address 選項可以同時使用
listen-address=192.168.16.15,127.0.0.1
##不加載本地的 /etc/hosts 文件
no-hosts
##添加讀取額外的 hosts 文件路徑,可以多次指定。如果指定為目錄,則讀取目錄中的所有文件。
addn-hosts=/etc/dnsmasq.hosts
##讀取目錄中的所有文件,文件更新將自動讀取
#hostsdir=/data/dnsmasq/dnsmasq.d
##記錄dns查詢日志,如果指定 log-queries=extra 那么在每行開始處都有額外的日志信息。
log-queries
##設置日志記錄器
log-facility=/data/dnsmasq/log/dnsmasq.log
##異步log,緩解阻塞,提高性能。默認為5,最大100。
log-async=50
##指定 EDNS.0 UDP 包的最大尺寸,默認為 RFC5625 推薦的 edns-packet-max=4096
edns-packet-max=4096
##指定接口
#interface=ens33
##指定不提供 DHCP 或 TFTP 服務的接口,僅提供 DNS 服務。
#no-dhcp-interface=ens33
##指定 resolv-file 文件路徑(上游DNS服務器),默認/etc/resolv.dnsmasq
resolv-file=/etc/resolv.dnsmasq.conf
##嚴格按照resolv.conf中的順序進行查找
strict-order
##重啟后清空緩存
clear-on-reload
##完整的域名才向上游服務器查找,如果僅僅是主機名僅查找hosts文件
domain-needed
##緩存條數,默認為150條,cache-size=0 禁用緩存。
cache-size=1000
##不緩存未知域名緩存,默認情況下dnsmasq緩存未知域名並直接返回為客戶端。
no-negcache
##指定DNS同屬查詢轉發數量
dns-forward-max=1000

更改相關配置:

# 創建相關配置文件及文件夾
mkdir -p /data/dnsmasq/{dnsmasq.d,log}
touch /etc/dnsmasq/{hosts,resolv.dnsmasq.conf}

[root@zabbix ~]# vim /etc/resolv.conf
# Generated by NetworkManager
#search 8.8.8.8
#nameserver 114.114.114.114
nameserver 127.0.0.1

# 創建/etc/resolv.dnsmasq.conf文件並添加上游dns服務器地址
[root@zabbix ~]# vim /etc/resolv.dnsmasq.conf
nameserver 223.5.5.5
nameserver 223.6.6.6
nameserver 114.114.114.114
nameserver 114.114.115.115

# 創建dnsmasq.hosts文件,修改addn-hosts指定hosts記錄文件,需重啟dnsmasq
[root@zabbix ~]# vim /etc/dnsmasq.hosts
192.168.16.15   www.lw.com
192.168.16.16   www.lw1.com
192.168.16.17   www.lw2.com

# 填寫自定義域名(提供內網自定義域名查詢)

#新增配置文件 /data/dnsmasq/dnsmasq.d/k8s.test (為方便區分不同的二級域名,建議按二級域名創建配置文件)
192.168.16.15 etcd.k8s.test

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM