linux 下搭建 DNS

来源:互联网 发布:百度掉队知乎 编辑:程序博客网 时间:2024/06/06 13:07

花了我一下午学习DNS知识,以及一晚上如何搭建DNS,累死了。

我的目标是让虚拟机变成DNS域名解析器。

然后在Windows下能够通过nslookup 解析一个假的域名。


装dns服务,这个我就不多讲了。不同的版本linux,安装不同。我的是redhat 6。


安装好后,你需要如下几个文件。(没有的话自己创建)

一下三个文件

named.conf  (  /var/named/chroot/etc/ 下)

fake12345.com.zone ( /var/named/chroot/var/下)

192.168.211.rev (( /var/named/chroot/var/下)

options {listen-on port 53 { any;}; //监听来自任何ip的dns请求,any里面可以写需要监听的ip,any表示任意iplisten-on-v6 port 53 { ::1; }; //关于ipv6的,这里表示允许,别管directory "/var/named"; //数据目录allow-query { any; };forwarders { 192.168.1.1;  };//当我的Windows nslookup 不能解析是,通过这个地址解析。你可以删除这行。recursion yes;};zone "." IN {type hint;file "named.ca";};zone "fake12345.com" IN {   //我的假域名为 www.fake12345.comtype master;file "fake12345.com.zone"; //待会还得创建一个 fake12345.com.zone 文件allow-update { none; };allow-transfer { none; };};zone "211.168.192.in-addr.arpa" IN { //我的fake12345.com.zone 的ip对应的是 192.168.211.X,所以逆解析,需要这样type master;file "192.168.211.rev"; //我们也需要创建这样一个文件allow-update { none; };allow-transfer { none; };};

$TTL 86400@  IN SOAfake12345.com.root.fake12345.com. (  2011072100  3H      15M  1W  1D)IN NSsvr2.benet.com.svr2INA192.168.211.10wwwINA192.168.211.11ldapINA192.168.211.12mailINA 192.168.211.13@INMX 10mail.fake12345.com.*INA192.168.211.2@INA192.168.211.2




$TTL 86400@IN SOAfake12345.com.root.fake12345.com. (20110721003H15M1W1D)@IN NS svr2.fake12345.com.2IN PTR mail.fake12345.com.

不想深究的话,照着我这个就行。


windows 不要设置成自动获取 dns,换成手动的,由于我的Windows ip是192.168.1.4,所以我把虚拟机的ip设置成192.168.1.10,

所以要想让虚拟机变成dns解析器,就需要把windows的首选dns变成192.168.1.10。

这样有一个问题,那我的windows还能上网吗?

这个要看named.conf 文件了。我上文说过,就是forwarders  设置的。

192.168.1.1是 tp-link的地址,负责转发给上一级的dns服务器,也就是你平时上网的路径。


说白了 ,如果你自动获取dns,解析是这样的:windows发送请求到192.168.1.1解析-》192.168.1.1发送给dns服务器

如果你设置手动dns,解析是这样的:windows发送请求到192.168.1.10 解析-》linux查看有没有相应的ip-》有的话返回给 windows,没有的话发送到192.168.1.1解析-》...