在Windows下配置BIND 9.8.0-P1的DNS64服务
DNS64简介:2011年4月份,IETF正式发布DNS64、NAT64等相关的RFC文档规范,NAT64与DNS64是一套解决方案,实现是IPv6网络过渡初期的协议转换与互访,使纯IPv6网络下的用户直接访问现有IPv4 Internet资源,而不修改两端的任何配置。
基本原理可以参考:NAT64与DNS64基本原理概述
DNS64的详细原理可以参考RFC 6147:DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers
本文主要描述BIND下的DNS64功能在Windows环境下的安装,不涉及具体的协议原理介绍。
BIND 9.8.0-P1支持DNS64的相关功能和说明可参考:ISC发布BIND 9.8.0-P1版本支持DNS64特性
安装环境说明:
本文主要是验证BIND 9.8.0-P1下的DNS64基本功能,配合NAT64设备实现纯IPv6网络下访问IPv4 Internet,不作为正式生产服务器环境,仅供功能测试或协议学习,因此直接采用个人PC下的Windows操作系统安装,正式服务器建议采用Linux或FreeBSD等操作系统安装。
目前验证BIND 9.8.0-P1的Windows版本支持在Windows XP、2003、Windows 7等32位的操作系统下安装,在Windows 7 x64的环境下安装失败!
因涉及权限设置相关的问题,一般需使用NTFS分区,Windows XP环境下需取消【简单文件功能】功能,以进行相应的权限设置。
以下安装过程以Windows 7为例,XP与2003类似(需确认已安装IPv6协议栈)。
安装步骤:
1.从ISC网站下载BIND
下载地址:
Download ISC Software
请登录ISC官方网站下载对应的Linux、Unix版本或Windows版本,保证源码及安装包的安全性。
2.解压缩BIND9.8.0-P1.zip
3.运行BINDInstall.exe文件
Windows 7下安装需要管理员权限
4.安装选项设置
如下图所示,一般建议安装默认目录,并保持默认named用户名即可,同时强烈建议设置named用户的密码,开机自动运行可根据个人环境选择
设置完毕后点击Insatall执行安装,安装过程会自动安装VC2005运行库,然后安装BIND相关的组件和服务
5.BIND产生的用户和服务
本步骤仅供参考,一般无需执行,清楚安装程序对系统执行的修改。
生成Windows系统下的用户named:
以上截图为英文Windows 7,中文操作系统对应:计算机管理----本地用户和组---用户
生成的服务名称,如果取消了自动运行,可以手工在这里启动,或通过命令行执行:
以上截图为英文Windows 7,中文操作系统对应:计算机管理----服务
6.设置目录权限[非常重要]
以默认安装目录C:\Windows\System32\dns及named用户为例:
windows 7下的的设置如下:
本文中直接添加named用户对为C:\Windows\System32\dns\目录及该目录下的文件完全控制:
bind服务运行时至少需要在该目录读、写文件的权限。
7.生成rndc.key文件
rndc是named的管理工具,该程序与named进程之间需使用相同的key文件,如果没有该key文件则rndc及相关的命令将无法执行
key文件使用rndc-confgen.exe文件生成,在安装目录的bin文件夹下执行,同时Windows 7下必须以管理员权限执行cmd.exe:
bind及相应的各种exe文件在安装目录的bin下,而各种配置文件则保存在安装目录的etc下。
8.添加named.conf文件
默认安装是没有任何配置文件的,需要手工在etc目录下建立named.conf文件,Windows 7下可以管理员权限执行记事本(notepad.exe)或其它文本编辑器,向该目录写入文件,或在其它目录建立named.conf文件,然后复制至该目录。
named.conf文件的选项内容如下:
include "c:\Windows\System32\dns\etc\rndc.key";
options{
listen-on-v6 {any;};
allow-query {any;};
forwarders {8.8.8.8;};
forward only;
dns64 64:ff9b::/96 {
clients { any; };
mapped { any; };
exclude { 64:ff9b::/96; ::ffff:0000:0000/96; };
suffix ::;
};
dns64-server "www.ipv6bbs.cn";
dns64-contact "www.ipv6bbs.cn";
};
说明:仅使用forward功能将查询转发至Google Public DNS进行解析,并设置DNS64的前缀为知名前缀64:ff9b::/96。
BIND支持同时设置多个前缀,支持的前缀长度按RFC 6052中定义的:32, 40, 48, 56, 64, 96等
如果不使用Google的Public DNS,而直接自行尝试解析,则可使用如下的named.conf文件include "c:\Windows\System32\dns\etc\rndc.key";
options{
listen-on-v6 {any;};
allow-query {any;};
dns64 64:ff9b::/96 {
clients { any; };
mapped { any; };
exclude { 64:ff9b::/96; ::ffff:0000:0000/96; };
suffix ::;
};
dns64 2001:db8:1:1::/64 {
clients { any; };
mapped { any; };
exclude { 2001:db8:1:1::/96; ::ffff:0000:0000/96; };
suffix ::;
};
dns64-server "www.ipv6bbs.cn";
dns64-contact "www.ipv6bbs.cn";
};
zone . {
type hint;
file "c:\Windows\System32\dns\etc\named.root";
};以上配置中使用了二个IPv6前缀,所有查询返回的A记录中都将同时使用这二个前缀合成AAAA记录,并返回给IPv6 Client
而named.root文件则是全球13台DNS根服务器的地址,可在IANA网站下载,并保存至c:\Windows\System32\dns\etc\文件夹下
IANA Popular and Important Links中对应的:
DNS Root Zone — Hints File(直接使用目标另存为来保存该文件) 在ubuntu下呢 最近在做 但是感觉make install之后跟他自带的readme出入挺大的 该有的没有 有点头疼 安装成功以后自己添加options即可正常运行的!
FreeBSD下也是一样,默认配置文件基本写的参数很少的,仅对基本功能进行了说明,不可能覆盖完全。
ubuntu下的readme应该也类似吧,确认版本没有问题就行,直接从ISC网站下载源码编译安装吧 太好了,感谢版主,实验室正搭建这个环境,非常感谢:) 目前来说,DNS64的功能肯定需要经过初步测试才能使用,Windows系统拿来做功能实验是足够了,性能方面的验证估计得找正式服务器来跑Linux或FreeBSd等平台了。
现网环境测试中还需要注意DNSSEC对DNS64的影响。 不知道什么时候 也不知道为什么 我的BIND挂了 总是启动失败…… 看错误日志信息就知道了…… 怎么添加options啊,我完全小白 已经把改加的options和参数都列在上面了,ctrl+c与ctrl+v的复制粘贴总应该会吧? 最近也在配置BIND的DNS64,不过是在LINUX下,受益很多!问个问题,dns64-server和contact是什么作用?只是取个名字吗?
页:
[1]
2