DNS:Domain NameServer,一种程序,它保存了一张域名(domain name)和与相对应的IP地址(IPaddress)的表,以解析消息的域名。
域名:internet上某一台计算机或计算机组的名称,是IP地址的映射。
域名解析实际上就是把域名映射回IP地址。域名解析的过程:当一个浏览者在浏览器地址框中打入某一个域名,或者从其他网站点击了链接来到了这个域名,浏览器向这个用户的上网接入商发出域名请求,接入商的DNS服务器要查询域名数据库,看这个域名的DNS服务器是什么。然后到DNS服务器中抓取DNS记录,也就时获取这个域名指向哪一个IP地址。在获得这个IP信息后,接入商的服务器就去这个IP地址所对应的服务器上抓取网页内容,然后传输给发出请求的浏览器。
Ubuntu 12.04 搭建bind9域名服务器
说明:因为本人机器有限,域名服务器和web服务器(Lamp)都在本机,ip地址默认127.0.0.1;
安装:
sudo apt-get install bind9;
配置:
(1)、修改/etc/bind/named.conf.local文件,添加一下内容:
zone "hdjay.com"{
type master;
file "db.hdjay.com";
};
说明:添加域hdjay.com,type master:为主服务器,file"db.hdjay.com"指定域的文件。该文件保存在
/var/cache/bind目录下。
创建/var/cache/bind/db.hdjay.com文件,可以拷贝/etc/bind下的db.local文件来做模板修改:cp /etc/bind/db.local /var/cache/bind/db.hdjay.com
把/var/cache/bind/db.hdjay.com文件修改如下:
;
;BIND data file for local loopback interface
;
$TTL604800
@ IN SOA hdjay.com. root.hdjay.com.(
2
;Serial
604800
;Refresh
86400
;Retry
2419200
;Expire
604800)
;Negative Cache TTL
;
@
IN
NS
localhost.
@
IN
A
127.0.0.1
;@
IN
A
AAA::1
www IN A 127.0.0.1 ;这个是子域,也就是web服务器的域名了;
修改/etc/bind/named.conf.options文件:
将forwarders这段的注释“//”去掉,改成
forwarders{
8.8.8.8;
};
这个作用是,dns服务器解析不了的地址,转发到8.8.8.8(google的域名服务器)上解析;
最后重新启bind9服务器:sudo /etc/init.d/bind9 restart
测试:
可以通过nslookup命令来测试!
如:
nslookup www.hdjay.com
如果看到这样的返回结果:
Server:
127.0.0.1
Address:
127.0.0.1#53
Name:
www.hdjay.com
Address:
127.0.0.1
说明你搭建成功了!
从浏览器输入http://www.hdjay.com即可访问本地web服务器了。
hint:
测试的前提是测试机的dns服务器地址应该设为你搭建的dns地址,向我的使用默认的127.0.0.1,也就只能在本机测试,修改可使用命令:sudovim /etc/resolv.conf,然后nameserver 127.0.0.1