DNSmasq

1、DNS的由來

      由於IP地址不容易記憶,因此有了DNS。php

簡單舉例:web

咱們日常訪問百度都是www.baidu.com,可是咱們知道百度的IP地址嗎? 咱們直接輸入地址39.156.66.14也是   能夠訪問百度的。數據庫

 

2、域名

因爲IP地址具備不方便記憶而且不能顯示地址組織的名稱和性質等缺點,人們設計出了域名,並經過網域名稱系統(DNS,Domain Name System)來將域名和IP地址相互映射,令人更方便地訪問互聯網,而不用去記住可以被機器直接讀取的IP地址數串。vim

頂級域名爲.com  頂級域名如 baidu.com 再往下以此類推例如百度翻譯 fanyi.baidu.com 可是要去掉wwwwindows

更多關於域名的瞭解能夠訪問https://baike.baidu.com/item/%E9%A1%B6%E7%BA%A7%E5%9F%9F%E5%90%8D/2152551?fr=aladdincentos

 

3、hosts文件

       windows和Linux系統都有一個hosts文件。瀏覽器

       win10的文件位置是在C:\Windows\System32\drivers\etc  緩存

       centos7的文件位置是在/etc/hostsbash

       hosts文件的做用:其做用就是將一些經常使用的網址域名與其對應的IP地址創建一個關聯「數據庫」,當用戶在瀏覽器中輸入一個須要登陸的網址時,系統會首先自動從Hosts文件中尋找對應的IP地址,一旦找到,系統會當即打開對應網頁,若是沒有找到,則系統會再將網址提交DNS域名解析服務器進行IP地址的解析。對於要常常訪問的網站,咱們能夠經過在Hosts中配置域名和IP的映射關係,提升域名解析速度。因爲有了映射關係,當咱們輸入域名計算機就能很快解析出IP,而不用請求網絡上的DNS服務器。服務器

 

4、爲何要學DNS服務器?

假設在一家中小型公司咱們有不少的web服務。例如:

10.30.59.239/nextcloud/ 班級網盤

10.30.59.192/ vcenter

10.30.59.191 esxi

10.30.59.251 zabbix

10.30.59.245:8443 堡壘機

這些IP地址混亂無章,記憶起來是否是很麻煩。

若是我換成www.esxi.com  這樣是否是方便記憶一些?

 

5、DNSmasq簡介

 ①、DNSmasq介紹

DNSmasq是一個小巧且方便地用於配置DNS和DHCP的工具,適用於小型網絡,它提供了DNS功能和可選擇的DHCP功能。它服務那些只在本地適用的域名,這些域名是不會在全球的DNS服務器中出現的。DHCP服務器和DNS服務器結合,而且容許DHCP分配的地址能在DNS中正常解析,而這些DHCP分配的地址和相關命令能夠配置到每臺主機中,也能夠配置到一臺核心設備中(好比路由器),DNSmasq支持靜態和動態兩種DHCP配置方式。

  ②、原理

$EY(C8F7V_FF{I7K@{J9}FE.png

 

 

6、DNSmasq安裝配置

一、基礎環境準備

新建一臺虛擬機,能夠上網。

二、DNSmasq安裝

[root@localhost ~]# yum install -y dnsmasq  Complete!

三、修改主配置文件

[root@localhost ~]# vim /etc/dnsmasq.conf # conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig //在這一行下面加入如下內容 port=53 cache-size=1000 log-queries log-facility=/var/log/dnsmasq.log conf-dir=/etc/dnsmasq.d addn-hosts=/etc/hosts resolv-file=/etc/dnsmasq-resolv.conf

port=53 #dnsmasq使用53號端口。

cache-size=1000 #緩存解析記錄1000條。

log-queries #日誌顯示每一條的解析記錄。

log-facility=/var/log/dnsmasq.log #log日誌的所在位置。

conf-dir=/etc/dnsmasq.d #dnsmasq.d/*.conf文件的絕對路徑

addn-hosts=/etc/hosts #添加額外讀取的hosts文件。

resolv-file=/etc/dnsmasq-resolv.conf #定義dnsmasq從哪裏獲取上游DNS服務器的地址。

四、複製系統的DNS服務配置爲dnsmasq的上游DNS服務器地址

[root@localhost ~]# cp /etc/resolv.conf /etc/dnsmasq-resolv.conf [root@localhost ~]# 

五、編寫映射文件

       映射文件,全部在/etc/dnsmasq.d/目錄下的以.conf結尾的文件均可以被解析

[root@localhost ~]# cd /etc/dnsmasq.d/ [root@localhost dnsmasq.d]# vim jumpserver.conf address=/www.jumpserver.com/10.30.59.245 ptr-record=10.30.59.245.in-addr.arpa,www.jumpserver.com  [root@localhost dnsmasq.d]# cat jumpserver.conf address=/www.jumpserver.com/10.30.59.245 ptr-record=10.30.59.245.in-addr.arpa,www.jumpserver.com

六、寫hosts文件

[root@localhost dnsmasq.d]# vi /etc/hosts 10.30.59.245 www.jumpserver.com

七、測試

[root@localhost dnsmasq.d]# systemctl restart dnsmasq //啓動服務 [root@localhost dnsmasq.d]# systemctl stop firewalld //關閉防火牆 [root@localhost dnsmasq.d]# 

 

7、Dnsmasq的後期維護

一、添加解析記錄

首先,在hosts裏面添加記錄,格式爲IP空格域名。

其次,編寫dnsmasq.d/*.conf的配置文件,格式爲

address=/域名/IP

ptr-record=IP.in-addr.arpa,域名

最後,重啓dnsmasq,systemctl restart dnsmasq。

二、配置dnsmasq的日誌輪轉

因爲打開了dnsmasq的日誌功能,並且每一條解析都會產生一條記錄,經觀察,log文件一天能寫8M左右,因此配置日誌輪轉防止系統因存儲不足而崩潰,logrotate.d下面的dnsmasq配置以下:

[root@localhost dnsmasq.d]# vim /etc/logrotate.d/dnsmasq  /var/log/dnsmasq.log { daily copytruncate missingok rotate 30 compress notifempty dateext size 200M }

/var/log/dnsmasq.log {

daily #指定轉儲週期爲天天。

copytruncate #用於還在打開中的日誌文件,把當前日誌備份並截斷。

missingok #日誌輪轉期間,任何錯誤都將被忽略。

rotate 30 #保留30天。

compress #經過gzio壓縮轉儲舊的日誌。

notifempty #若是是空文件的話,不轉儲。

dateext #日誌輪轉時會在文件後面添加時間。

size 200M #日誌到達200M時才輪轉。

}

相關文章
相關標籤/搜索