5-ipv6服务器之-dns

在Ubuntu系统上搭建DNS Server的过程, 此处仅对基本安装及设置作介绍, 更多详细内容请查阅相关资料。

1. 安装dns服务器


ubuntu下面安装dns服务器使用dnsmasq

dnsmasq是一个Linux平台下的轻量级DNS 代理软件,我们只将其配置成一个简单的本地DNS Server。另外此软件最新版本含有DHCP Server以及TFTP Server的功能,这些功能默认都是关闭的, 根据依赖关系可能会安装其他包。

(如dnsmasq-base等, 但Ubuntu 10.04 Desktop已默认安装过,但在安装时可能会自动升级dnsmasq-base)。

sudo apt-get install dnsmasq

2.配置dnsmasq服务器


1. 将dnsmasq配置成一个本地DNS Server(非DNS代理)

打开文件/etc/dnsmasq.conf(安装后默认此配置文件内的所有参数都被注释掉), 找到参数resolv-file和addn-hosts, 去掉注释符号#后修改成如下值。

resolv-file=/etc/dnsmasq/dnsmasq.resolv
addn-hosts=/etc/dnsmasq/dnsmasq.hosts

此处resolve-file指定dnsmasq从哪里获取上行DNS Server, 默认是从/etc/resolv.conf获取。

因为dnsmasq本是一个DNS代理软件而非Server, 我们只是利用dnsmasq的缓存功能来实现DNS Server, 故而要将上行server指定为本机地址, 在文件/etc/dnsmasq/dnsmasq.resolv中指定nameserver为127.0.0.1即可。

addn-hosts指定dnsmasq从哪个文件中读取“地址 域名”记录, 默认是系统文件/etc/hosts, 此处我们指定从自定义文件/etc/dnsmasq/dnsmasq.hosts中读取。

2. 添加相关自定义文件

创建文件夹/etc/dnsmasq/(这里的文件夹是上一步中地址的两个文件所在目录, 可以自己任意指定, 但要和上一步中的保持一致), 并添加文件/etc/dnsmasq/dnsmasq.resolv和/etc/dnsmasq/dnsmasq.hosts。

添加一行内容到/etc/dnsmasq/dnsmasq.resolv文件中

nameserver 127.0.0.1

添加自定义的“地址 域名”记录到文件/etc/dnsmasq/dnsmasq.hosts中, 支持IPv6地址, 例如:

10.0.0.1 www.tianmm.com
2001::1 www.tianmm.com

可以任意添加自己的本地DNS Server可解析的“地址 域名”记录, 注意必须重新启动dnsmasq才可以使更新生效(也可以发送信号SIGHUP给dnsmasq进程, 具体请参考dnsmasq帮助文档, Shell命令man dnsmasq)。

实际上dnsmasq是将这些记录读取到内存中缓存起来(默认最多可以记录150条记录, 可以自己在配置文件/etc/dnsmasq.conf中修改), 收到DNS查询请求时从自身的缓存中直接查找答复。

更多功能及设置请参考dnsmasq的帮助文档或者查看配置文件/etc/dnsmasq中的注释说明内容。

3. 启动、停止


  • /etc/init.d/dnsmasq start
  • /etc/init.d/dnsmasq stop
  • /etc/init.d/dnsmasq restart

如果启动DNS Server失败请查看系统log(/var/log/syslog),

4. 本地测试


使用nslookup直接测试

ipv4地址

ubuntu:~$ nslookup www.tianmm.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   www.tianmm.com
Address: 10.0.0.1

ipv6地址

ubuntu:~$ nslookup 
> set type=AAAA
> gw.zihome.com
Server:     127.0.0.1
Address:    127.0.0.1#53

gw.zihome.com   has AAAA address 2001:2345::1
> www.tianmm.com
Server:     127.0.0.1
Address:    127.0.0.1#53

www.tianmm.com  has AAAA address 2001::1

你可能感兴趣的:(5-ipv6服务器之-dns)