找回密码
 注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 24244|回复: 10

在Windows下配置BIND 9.8.0-P1的DNS64服务

[复制链接]
满天星 发表于 2011-5-18 22:38:48 | 显示全部楼层 |阅读模式
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文件的选项内容如下:

  1. include "c:\Windows\System32\dns\etc\rndc.key";
  2. options  {
  3.     listen-on-v6 {any;};
  4.     allow-query {any;};
  5.     forwarders {8.8.8.8;};
  6.     forward   only;
  7.     dns64 64:ff9b::/96 {
  8.                 clients { any; };
  9.                 mapped { any; };
  10.                 exclude { 64:ff9b::/96; ::ffff:0000:0000/96; };
  11.                 suffix ::;
  12.                 };
  13.     dns64-server "www.ipv6bbs.cn";
  14.     dns64-contact "www.ipv6bbs.cn";
  15.   
  16. };

复制代码
说明:仅使用forward功能将查询转发至Google Public DNS进行解析,并设置DNS64的前缀为知名前缀64:ff9b::/96。

BIND支持同时设置多个前缀,支持的前缀长度按RFC 6052中定义的:32, 40, 48, 56, 64, 96等

如果不使用Google的Public DNS,而直接自行尝试解析,则可使用如下的named.conf文件
  1. include "c:\Windows\System32\dns\etc\rndc.key";
  2. options  {
  3.     listen-on-v6 {any;};
  4.     allow-query {any;};
  5.     dns64 64:ff9b::/96 {
  6.                 clients { any; };
  7.                 mapped { any; };
  8.                 exclude { 64:ff9b::/96; ::ffff:0000:0000/96; };
  9.                 suffix ::;
  10.                 };
  11.     dns64 2001:db8:1:1::/64 {
  12.                 clients { any; };
  13.                 mapped { any; };
  14.                 exclude { 2001:db8:1:1::/96; ::ffff:0000:0000/96; };
  15.                 suffix ::;
  16.                 };
  17.     dns64-server "www.ipv6bbs.cn";
  18.     dns64-contact "www.ipv6bbs.cn";
  19.   
  20. };

  21. zone . {
  22.   type hint;
  23.   file "c:\Windows\System32\dns\etc\named.root";
  24. };
复制代码
以上配置中使用了二个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(直接使用目标另存为来保存该文件)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
linxiaobo 发表于 2011-6-20 10:12:34 | 显示全部楼层
在ubuntu下呢 最近在做 但是感觉make install之后跟他自带的readme出入挺大的 该有的没有 有点头疼
回复

使用道具 举报

 楼主| 满天星 发表于 2011-6-20 19:13:23 | 显示全部楼层
安装成功以后自己添加options即可正常运行的!
FreeBSD下也是一样,默认配置文件基本写的参数很少的,仅对基本功能进行了说明,不可能覆盖完全。
ubuntu下的readme应该也类似吧,确认版本没有问题就行,直接从ISC网站下载源码编译安装吧
回复

使用道具 举报

hanyulj 发表于 2011-6-22 14:46:34 | 显示全部楼层
太好了,感谢版主,实验室正搭建这个环境,非常感谢:)
回复

使用道具 举报

 楼主| 满天星 发表于 2011-6-22 19:08:49 | 显示全部楼层
目前来说,DNS64的功能肯定需要经过初步测试才能使用,Windows系统拿来做功能实验是足够了,性能方面的验证估计得找正式服务器来跑Linux或FreeBSd等平台了。
现网环境测试中还需要注意DNSSEC对DNS64的影响。
回复

使用道具 举报

wqxcx 发表于 2011-7-31 14:13:26 | 显示全部楼层
不知道什么时候 也不知道为什么 我的BIND挂了 总是启动失败……
回复

使用道具 举报

 楼主| 满天星 发表于 2011-7-31 15:30:02 | 显示全部楼层
看错误日志信息就知道了……
回复

使用道具 举报

weiweiqingcheng 发表于 2013-11-8 17:04:32 | 显示全部楼层
怎么添加options啊,我完全小白
回复

使用道具 举报

 楼主| 满天星 发表于 2013-11-8 18:48:12 | 显示全部楼层
已经把改加的options和参数都列在上面了,ctrl+c与ctrl+v的复制粘贴总应该会吧?
回复

使用道具 举报

来去徘徊 发表于 2014-1-15 15:28:11 | 显示全部楼层
最近也在配置BIND的DNS64,不过是在LINUX下,受益很多!问个问题,dns64-server和contact是什么作用?只是取个名字吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|IPv6BBS ( 京ICP备13024693号 | 京公网安备11010802012238 )

GMT+8, 2024-4-20 13:03 , Processed in 0.027504 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表