找回密码
 注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 18628|回复: 0

配置IPv6下的的DNS服务器BIND

[复制链接]
满天星 发表于 2010-11-25 22:36:55 | 显示全部楼层 |阅读模式
BIND上的IPv6功能介绍
BIND是目前互联网是使用最官方的DNS服务器端软件,对IPv6的支持也非常方便,BIND9 完全支持所有当前IPv6 中对名字到地址和地址到名字查询的定义。当运行在IPV6 兼容系统的时候,它也使用IPV6 地址进行请求。对于转发的查询,BIND9 同时支持A6 和AAAA 记录。同时具有对AAAA 和A6 记录的支持也是有用的,大多数操作系统所带的解析器只支持AAAA 的解析查询,因为A6 的解析要比A 和AAAA 的解析实现起来困难得多。A6记录目前已被废除,不在使用
对于IP6 反向解析,BIND9 支持在域ip6.arpa 域中使用的新“bitstring”格式,同时也对于在ip6.int 域使用的老版本的,不建议使用的“单元组”格式化也是一样的。BIND9 包括新的轻量级的解析库和解析器后台进程,它使用了一些新的程序来避免A6的chain following 和bitstring 标签的复杂性。

配置服务器监听IPv6地址
首先我们只需要在Bind的配置文件中添加一个选项配置,即可使服务器监听IPv6地址:
  1. listen-on-v6  { any; };
复制代码
listen-on-v6 选项用来设定监听进入服务器的ipv6 请求的端口。
如果需要修改默认端口,以及只监听固定的IPv6地址, 则使用如下格式:
  1. listen-on-v6 port 1234 { 1234::1234; };
复制代码
要使服务器不监听任何ipv6 地址,使用:
  1. listen-on-v6 { none; };
复制代码
如果没有设定listen-on-v6 语句,服务器将不会监听任何ipv6 地址。

配置AAAA 记录
AAAA 记录和IPV4 的A 记录相似,需要在BIND的各个zone中进行配置。它在一个单独的记录中设定了全部地址。例如:
  1. $ORIGIN ipv6bbs.cn.
  2. ipv6    3600 IN    AAAA         2001:1:2:3::1
复制代码
配置A6记录
虽然A6记录已被废除,但A6记录还是有部分应用,且是BIND支持的功能,A6 记录比AAAA 记录更灵活,也就更复杂。A6 记录可以用来形成一个A6 记录的链,其中每个记录设定了一部分的IPV6 地址。它也可以用来指定整个的记录。例如,这条纪录和前例中的AAAA 记录一样:
  1. $ORIGIN  ipv6bbs.cn.
  2. ipv6   3600    IN    A6      0       2001:1:2:3::1
复制代码
A6 链(Chains)
A6 记录允许network renumbering。但只有当一个A6 记录设置了域自主控制的地址段时起作用。例如,一个主机名字可能是公司名“company”。它有两个为之提供IPV6 地址空间的ISP。这两个ISPs 完全设定了他们提供的IPV6 前缀。

在公司的地址段中:
  1. $ORIGIN ipv6bbs.cn.
  2. ipv6     3600    IN    A6    0:0:0:0:1::1    company.ipv6bbs1.net.
  3. ipv6     3600    IN    A6    0:0:0:0:1::1    company.ipv6bbs2.net.
复制代码
ISP1 会使用:
  1. $ORIGIN  ipv6bbs1.net.
  2. company   3600   IN    A6    0      1234:1::
复制代码
ISP2 会使用:
  1. $ORIGIN  ipv6bbs2.net.
  2. company    3600   IN    A6   0      5678:2::
复制代码
当需要解析ipv6.ipv6bbs.cn 时,解析器(在解析器后台进程或caching 域名服务器中)会发现2 个部分的A6 记录,并使用其它的名字来找到其余的数据。

DNS 服务器的A6 记录
当A6 记录设置了一个域名服务器的地址,它应该使用完整的地址而不是部分地址。例如:
  1. $ORIGIN ipv6bbs.cn.
  2. @      14400     IN       ns0
  3.          14400     IN       ns1
  4. ns0   14400     IN       A6       2001:1:2:3::1
  5. ns1   14400     IN       A         1.2.3.4
复制代码
建议不要使用IPv4-in-IPv6 的地址映射。如果主机是IPV4 地址,就使用A 记录,而不是 ::ffff:1.2.3.4 的A6 记录。

使用Nibble 格式进行IPv6地址到域名的反向查询
虽然不建议使用Nibble 格式查找名字,但它能向下兼容支持现有的IPV6 应用。当解析一个nibble 格式的地址时,地址块被简单的翻转了,在名字的结果后面附加上一个ip6.int.,就象在IPv4 中一样。例如,下面的例子会为一台主机提供反转名称查询,地址是2001:1234:5678:1:987::1
  1. $ORIGIN    1.0.0.0.8.7.6.5.4.3.2.1.1.0.0.2.ip6.int.
  2. 1.0.0.0.0.0.0.0.0.0.0.0.7.8.9.0    14400   IN   PTR   ipv6.ipv6bbs.cn.
复制代码
使用bitstring 格式进行IPv6地址到域名的反向查询
位串标签可以在任何位边界上开始和结素,而不是象在单元组中那样在四个字节的倍数上。它们使用ip6.arpa 而不是ip6.int
用位串复制前面的例子:
  1. $ORIGIN     [x2001123456780001/64].ip6.arpa.
  2. [x0987000000000001/64]      14400     IN      PTR     ipv6.ipv6bbs.cn.
复制代码
用DNAME 来标示IPV6 的反向地址
在IPV6 中,同一台主机可能有许多来自不同网络提供商的地址。既然地址得结尾部分常常不变,DNAME 可以帮助减少需要维护的域反向映射文件的数量。例如,一台有两个提供商(ipv6bbs1.cn 和 ipv6bbs2.cn)的主机,这样有两个IPV6 地址。既然主机选择了它自己的64 位主机地址部分,变化得部分就只是提供商的地址了:
  1. $ORIGIN   ipv6bbs.cn
  2. host    IN   A6   64   ::1234:5678:1212:5675   cust1.ipv6bbs1.cn.
  3.          IN   A6   64   ::1234:5678:1212:5675   subnet5.ipv6bbs2.cn.
复制代码
  1. $ORIGIN   ipv6bbs1.cn.
  2. cust1      IN   A6   48   0:0:0:dddd::   ipv6net.ipv6bbs1.cn.
  3. ipv6net   IN  A6    0    aa:bb:cccc::
复制代码
  1. $ORIGIN ipv6bbs2.cn.
  2. subnet5   IN  A6  48  0:0:0:1::  ipv6net2.ipv6bbs2.cn.
  3. ipv6net2  IN  A6   0   6666:5555:4::
复制代码
这里设置了正向查询。为了解决反向解析,提供者ipv6bbs1.cn 应该设置:
  1. $ORIGIN \[x00aa00bbcccc/48].ip6.arpa.
  2. \[xdddd/16]  IN  DNAME  ipv6-rev.ipv6bbs.cn
复制代码
并且ipv6bbs2.cn 应该设置:
  1. $ORIGIN  \[x666655550004/48].ip6.arpa.
  2. \[x0001/16]  IN  DNAME  ipv6-rev.ipv6bbs.cn
复制代码
ipv6bbs.cn 只需要一个域文件处理这些反向映射:
  1. $ORIGIN  ipv6-rev.ipv6bbs.cn
  2. \[x1234567812125675/64]  IN  PTR  host.ipv6bbs.cn
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 16:01 , Processed in 0.049825 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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