Linux操作系統:Ubuntu 12
DNS環境規劃
DNS服務器:suh01.hadoop.com(192.168.1.201)
DNS客戶端:suh02.hadoop.com(192.168.1.202)、suh03.hadoop.com(192.168.1.203)
一、DNS搭建
1. bind 的安裝
1.1 查看是否安裝bind
#dpkg --list|grep 'bind'
1.2 選擇一臺機器(192.168.1.201)作爲DNS服務器,安裝bind相關的三個軟件包
#sudo apt-get install bind9 dnsutils bind9-doc
PS:
在進行BIND安裝的的時候,老是提示域名解析方面的問題,錯誤關鍵提示:Something wicked happened resolving 'security.ubuntu.com:http'
分析:apt-get install 在安裝bind的相關軟件時會去security.ubuntu.com:http取,但是這個域名無法識別。查看/etc/resolv.conf文件,
發現它的內容是空的,所以問題很可能是沒有對應的域名解析服務器導致的。
處理方案:在配置文件中/etc/resolv.conf,增加可知的DNS服務器地址,具體如下操作:
root@suh01:/var# vi /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 202.101.224.69
nameserver 202.101.226.69
增加完成後,再次執行sudo apt-get install bind9 dnsutils bind9-doc 就能正常下載安裝bind相關軟件及服務了。
安裝完成後,會在/etc目錄下生成bind目錄,bind相關的配置文件都在/etc/bind目錄下。
2. bind 的配置
2.1 修改配置文件 /etc/bind/named.conf.local ,增加hadoop.com域,以及其反向域
#cd /etc/bind/
#vi named.conf.local
zone "hadoop.com" {
type master;
file "/etc/bind/db.hadoop.com";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.1";
};
2.2 配置正向解析文件
直接拷貝並修改db.local模板:
#cp -p db.local db.hadoop.com //注意這裏的文件命名要和2.1中zone裏設置的file的值一致
修改 db.hadoop.com 文件的內容如下:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA suh01.hadoop.com. root.suh01.hadoop.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS suh01.hadoop.com.
suh01 IN
A 192.168.1.201
suh02 IN
A 192.168.1.202
suh03 IN
A 192.168.1.203
2.3 配置反向解析文件
進入到/var/named目錄,拷貝並修改一個模板:
#cp -p db.local db.192.168.1 //注意這裏的文件命名要和2.2中zone裏設置的file的值一致
修改 db.192.168.1 文件的內容如下:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA suh01.hadoop.com. root.suh01.hadoop.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS suh01.hadoop.com.
201 IN
PTR suh01.hadoop.com.
202 IN
PTR suh02.hadoop.com.
203 IN
PTR suh03.hadoop.com.
2.4 在 suh01.hadoop.com 上重啓DNS服務器
#/etc/init.d/bind9 restart
2.5 修改各個節點(suh01.hadoop.com、suh02.hadoop.com、suh03.hadoop.com),將其nameserver設置爲我們配置的DNS服務器的IP地址
#vi /etc/resolv.conf(該文件會在重啓後還原,可添加至/etc/resolvconf/resolvconf.d/tail,無則新建)
nameserver 192.168.1.201
PS:我們在第一步的時候爲了正常下載bind相關的服務,增加了兩個nameserver,這時可以直接將它註解掉,或者將我們
的nameserver 192.168.1.201放置於這兩個的前面。
nameserver 192.168.1.201
nameserver 202.101.224.69
nameserver 202.101.226.69
3 測試DNS服務是否運行正常(在任意節點機器上執行都可)
#nslookup suh02.hadoop.com
命令執行後,自動解析出這域名對應的主機IP地址
Server: 192.168.1.201
Address: 192.168.1.201#53
Name: suh03.hadoop.com
Address: 192.168.1.202
#nslookup 192.168.1.202
命令執行後,自動解析出這域名對應的主機IP地址
Server: 192.168.1.201
Address: 192.168.1.201#53
202.1.168.192.in-addr.arpa name = suh02.hadoop.com.