花了我一下午学习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表示任意ip
	listen-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.com
	type 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 SOA	fake12345.com.		root.fake12345.com. (
		  2011072100
		  3H
	      15M
		  1W
		  1D	)
	IN NS	svr2.benet.com.
svr2	IN	A	192.168.211.10
www	IN	A	192.168.211.11
ldap	IN	A	192.168.211.12
mail	IN	A 	192.168.211.13

@		IN	MX 	10	mail.fake12345.com.
*		IN	A	192.168.211.2
@		IN	A	192.168.211.2




$TTL 86400
@	IN SOA		fake12345.com.		root.fake12345.com. (
			2011072100
			3H
			15M
			1W
			1D	)
@	IN NS svr2.fake12345.com.
2	IN 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解析-》...

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐