前言
公司AP系统增加IPv6功能,为测试基于域名-IPv6的放行规则,需要搭建支持IPv6的DNS服务器。
Ubuntu采用bind9配置DNS服务器,并增加IPv6部分内容。本文以bind9作为DNS服务器
参考:
https://blog.youkuaiyun.com/colourzjs/article/details/44491479(搭建bind9)
https://www.isc.org/downloads/bind/doc/ (bind官方使用文档)
注意:
1、如果目标网站支持V4和v6地址 ,如果用户(访问目标网站的人)是使用的是v4地址则DNS返回V4的地址。如果用户(访问目标网站的人)是使用的是v6地址则DNS返回V6的地址。
2、如果目标网站仅支持v4地址,这种是比较常见的
如果用户(访问目标网站的人)是使用的是v4地址则DNS返回V4的地址。如果用户(访问目标网站的人)是使用的是v6地址则DNS返回一个可以进行V6到V4地址转换的网关地址。
1. BIND介绍
BIND (Berkeley Internet Name Domain)是Domain Name System (DNS) 协议的一个实现,提供了DNS主要功能的开放实现,包括
* 域名服务器 (named)
* DNS解析库函数
* DNS服务器运行调试所用的工具
是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护的,按照ISC的调查报告,BIND是世界上使用最多最广泛的域名服务系统。不论你的邮件服务器,WEB服务器或者其他的services如何的安全可靠,DNS的故障会给你带来用户根本无法访问这些服务。
BIND,也是我们常说的named,由于多数网络应用程序使用其功能,所以在很多BIND的弱点及时被发现。主要分为三个版本:
v4:
1998年多数UNIX捆绑的是BIND4,已经被多数厂商抛弃了,除了OpenBSD还在使用。OpenBSD核心人为BIND8过于复杂和不安全,所以继续使用BIND4。这样一来BIND8/9的很多优点都不包括在v4中。
v8:
就是如今使用最多最广的版本,其详细内容可以参阅 BIND 8+ 域名服务器安全增强
v9:
最新版本的BIND,全部重新写过,免费(但是由商业公司资助),也添加了许多新的功能(但是安全上也可能有更多的问题)。BIND9在2000年十月份推出,现在稳定版本是9.3.2。
2. 安装
目前有两种方式:源码安装和apt-get或者rpm安装。
2.1 源码安装
源码获取地址:http://www.isc.org/products/BIND
解压
tar -xvf bind-9.2.6.tar.gz
包括以下子目录:bin(全部BIND二进制源代码,包括named),contrib(一些工具) ,doc(BIND的文档,包括资源手册),lib(BIND使用的库的源代码),make(makefile文件).
#./configure
编译BIND,输入:
#make all
安装BIND
#make install
2.2 apt-get
apt-get install bind9
3、配置文件说明
1、配置文件目录
一般位于/etc/bind/
2、Zone文件和资源记录Resource Record
介绍配置文件前需要明确两个配置中的概念:zone和RR。
BIND的配置文件描述了一个域名服务器的所有属性,这些属性BIND的行为和功能。
zone文件描述了域名服务器中包含的主机,所提供的服务类型等信息,BIND通过将zone文件中的信息加载到内存数据结构中并有效组织起来,然后对外部的DNS请求提供验证和查询请求。需要注意的是,zone文件的格式不是由BIND制定的,而是DNS标准文档制定的(见RFC1035)。通常情况下,一个zone文件描述该DNS服务器服务的一个授权服务器域。例如我有一个DNS服务器可以解析taobao.com的域名和baidu.com的域名,那么我的DNS服务器的配置文件中就可以设置两个zone标签,一个描述taobao.com的域名信息,另一个描述baidu.com的域名信息。
资源记录resource Record记录了一个域(domain)的属性和特性
3、配置文件简介
named.conf: Bind主配置文件
named.conf.options:全局选项
db.root :根服务器指向文件, 由Internet NIC创建和维护, 无需修改, 但是需要定期更新
db.local:localhost正向区文件,用于将名字localhost转换为本地回送IP地址 (127.0.0.1)
db.127:localhost反向区文件,用于将本地回送IP地址(127.0.0.1)转换为名字localhost
named.conf.options 一些配置选项
named.conf.default-zones 默认的本地规则,包含跟文件、正向区文件、反向区文件等
named.conf.local:一般放置zone
主配置文件/etc/named.conf的配置语句:
acl 定义IP地址的访问控制清单
control 定义ndc使用的控制通道
include 把其他文件包含到配置文件中
key 定义授权的安全密钥
logging 定义日志写什么,写到哪
opitons 定义全局配置选项和缺省值
server 定义远程服务器的特征
trunsted-keys 为服务器定义DNSSEC加密密钥
zone 定义一个区
4、named.conf文件配置
named.conf是BIND的唯一的主配置文件,当然你也可以自己编写主配置文件,但是需要在BIND主进程named启动的时候用-c选项指定主配置文件的路径。named.conf由一个个子句组成,每个子句都有一个头跟一对大括号组成,大括号里面是该子句中的因子和值(具体见下面的例子)。
下面的代码是named.conf的一个最简配置。其中假设named.conf只负责解析授权域名cobb.com。
其中的key是由rndc-confgen生成的。
key "rndc-key" { algorithm hmac-md5; secret "eoiWMiCwCYPwNLWxl05rNw=="; };
con |