簡介:
dnsmasq是一款輕量級的DNS伺服器,同時也是開源項目,配置簡單快捷,Dnsmasq提供DNS緩存和DHCP服務功能。作為域名解析伺服器(DNS),dnsmasq可以通過緩存DNS請求來提高對通路過的網址的連接配接速度。作為DHCP伺服器,dnsmasq可以為區域網路電腦提供内網ip位址和路由,DNS和DHCP兩個功能可以同時或分别單獨實作。dnsmasq輕量且易配置,此外它還自帶了一個PXE伺服器以及對郵件伺服器的mx記錄的支援,jabber的srv記錄的支援等。
部署環境:
Centos 6.5 x86_64作業系統
dnsmasq時base源中的軟體包,可以直接安裝部署:
1
2
3
<code># yum list | grep dnsmasq</code>
<code>dnsmasq.x86_64 2.48-17.el6 @base </code>
<code>dnsmasq-utils.x86_64 2.48-17.el6 base</code>
安裝dnsmasq軟體包:
<code>#yum -y install dnsmasq</code>
操作之前先做備份:
<code># cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak</code>
#檢視dnsmasq的安裝檔案路徑:
4
5
6
7
8
9
10
11
12
13
14
15
<code># rpm -ql dnsmasq</code>
<code>/etc/dbus-1/system</code><code>.d</code><code>/dnsmasq</code><code>.conf</code>
<code>/etc/dnsmasq</code><code>.conf </code><code>#主配置檔案</code>
<code>/etc/dnsmasq</code><code>.d</code>
<code>/etc/rc</code><code>.d</code><code>/init</code><code>.d</code><code>/dnsmasq</code>
<code>/usr/sbin/dnsmasq</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code><code>/CHANGELOG</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code><code>/COPYING</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code><code>/DBus-interface</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code><code>/FAQ</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code><code>/doc</code><code>.html</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code><code>/setup</code><code>.html</code>
<code>/usr/share/man/man8/dnsmasq</code><code>.8.gz</code>
<code>/var/lib/dnsmasq</code>
将本地的resolv解析檔案配置指向本機:
<code>#echo 'nameserver 127.0.0.1' > /etc/resolv.conf</code>
copy一份作為dnsmasq的解析配置檔案:
<code>cp</code> <code>/etc/resolv</code><code>.conf </code><code>/etc/resolv</code><code>.dnsmasq.conf</code>
<code>echo</code> <code>'nameserver 8.8.8.8'</code> <code>> </code><code>/etc/resolv</code><code>.dnsmasq.conf</code>
dnsmasq使用到的配置檔案如下:
<code># cat /etc/dnsmasq.conf | grep -v '^#' | grep -v '^$'</code>
<code>resolv-</code><code>file</code><code>=</code><code>/etc/resolv</code><code>.dnsmasq.conf</code>
<code>strict-order</code>
<code>interface=eth0</code>
<code>listen-address=192.168.30.131,127.0.0.1</code>
<code>bind-interfaces</code>
<code>addn-hosts=</code><code>/etc/hosts</code> <code>#域名映射檔案</code>
其他兩個配置檔案的内容:
<code>[root@sh-puppet-node2 etc]</code><code># cat /etc/resolv.conf</code>
<code>nameserver 127.0.0.1</code>
<code>[root@sh-puppet-node2 etc]</code><code># cat /etc/resolv.dnsmasq.conf</code>
<code>nameserver 8.8.8.8 </code><code>#4個8谷歌的dns伺服器,可能會比較慢</code>
<code>nameserver 114.114.114.114</code>
添加域名映射
<code># cat /etc/hosts</code>
<code>127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4</code>
<code>::1 localhost localhost.localdomain localhost6 localhost6.localdomain6</code>
<code>192.168.30.128 sh-puppet-master.com</code>
<code>192.168.30.130 sh-puppet-node1.com</code>
<code>192.168.30.131 sh-puppet-node2.com</code>
啟動dnsmasq服務:
<code># /etc/init.d/dnsmasq restart</code>
<code>Shutting down dnsmasq: [ OK ]</code>
<code>Starting dnsmasq: [ OK ]</code>
就将node2的reslove.conf檔案位址指向dns伺服器的ip,測試檢視域名解析的ip:
<code># dig sh-puppet-node2.com</code>
<a href="https://s5.51cto.com/wyfs02/M00/9A/F0/wKiom1lcYLfynLmeAABpgVr9CAg385.png" target="_blank"></a>
為了防止本地域名可能會和公網上的一些域名重複,是以改為127.0.0.1.
<code>[root@sh-puppet-node2 ~]</code><code># cat /etc/resolv.conf</code>
<code>; generated by </code><code>/sbin/dhclient-script</code>
<code>search shjygw com</code>
<code>#nameserver 202.96.209.5</code>
<code>[root@sh-puppet-node2 ~]</code><code># cat /etc/resolv.dnsmasq.conf</code>
測試ping百度發現不ok,但是不影響内網域名解析:
[root@sh-puppet-node2 ~]# ping www.baidu.com
ping: unknown host
<a href="http://www.baidu.com/" target="_blank">www.baidu.com</a>
說明:圖檔毀壞就不展示了,有空補上.
本文轉自青衫解衣 51CTO部落格,原文連結:http://blog.51cto.com/215687833/1944587