BIND搭建DNS服务器
- 格式:docx
- 大小:1.81 MB
- 文档页数:7
Networking - Windows下使用BIND搭建本地DNS服务器(2012-07-06 11:10:35)标签:杂谈1. 下载BIND安装包:BIND9.9.1-P1.zip2. 安装BIND 9.9.1:路径、账户名都不需要改变,设置密码后Install安装。
3. 设置安全属性:【Windows菜单栏】->【工具】->【文件夹选项】->【查看】->【取消勾选:使用简单文件共享(推荐)】->【确定】4. 授权完全控制:对C:\WINDOWS\system32\dns目录授权named账户的完全控制:【右键:C:\WINDOWS\system32\dns目录】->【属性】->【标签:安全】->【添加】->【查找位置:PC-201111071507】->【输入对象名称来选择:PC-201111071507\named】->【检查名称】->【确定】->【选择:named(PC-201111071507\named)】->【勾选:“完全控制”等除了“特别的权限”的所有其他权限的允许】->【确定】5. 添加环境变量:将目录C:\WINDOWS\system32\dns\bin到系统环境变量Path的末尾(无需详述)。
6. 执行命令:在C:\WINDOWS\system32\dns\etc目录下首先依次执行如下命令:rndc-confgen -arndc-confgen > rndc.conf将依次得到文件:rndc.key和rndc.conf7. 下载named.root文件:打开/zones/named.root链接,复制所有内容保存为文件named.root,存放在C:\WINDOWS\system32\dns\etc目录下。
文件内容如下:; This file holds the information on root name servers needed to; initialize cache of Internet domain name servers; (e.g. reference this file in the "cache . <file>"; configuration file of BIND domain name servers).;; This file is made available by InterNIC; under anonymous FTP as; file /domain/named.cache; on server ; -OR- ;; last update: Jun 8, 2011; related version of root zone: 2011060800;; formerly ;. 3600000 IN NS .. 3600000 A 198.41.0.4. 3600000 AAAA 2001:503:BA3E::2:30;; FORMERLY ;. 3600000 NS .;; FORMERLY ;. 3600000 NS .. 3600000 A 192.33.4.12;; FORMERLY ;. 3600000 NS .. 3600000 A 128.8.10.90. 3600000 AAAA 2001:500:2D::D;; FORMERLY ;. 3600000 NS .. 3600000 A 192.203.230.10;; FORMERLY ;. 3600000 NS .. 3600000 A 192.5.5.241. 3600000 AAAA 2001:500:2F::F;; FORMERLY ;. 3600000 NS .. 3600000 A 192.112.36.4;; FORMERLY ;. 3600000 NS .. 3600000 A 128.63.2.53. 3600000 AAAA 2001:500:1::803F:235 ;; FORMERLY ;. 3600000 NS .. 3600000 A 192.36.148.17. 3600000 AAAA 2001:7FE::53;; OPERATED BY VERISIGN, INC.;. 3600000 NS .. 3600000 AAAA 2001:503:C27::2:30 ;; OPERATED BY RIPE NCC;. 3600000 NS .. 3600000 A 193.0.14.129. 3600000 AAAA 2001:7FD::1;; OPERATED BY ICANN;. 3600000 NS .. 3600000 A 199.7.83.42. 3600000 AAAA 2001:500:3::42;; OPERATED BY WIDE;. 3600000 NS .. 3600000 A 202.12.27.33. 3600000 AAAA 2001:DC3::35; End of File8. 编辑配置文件:(1)named.confinclude "C:\WINDOWS\system32\dns\etc\rndc.key";options {directory "C:\WINDOWS\system32\dns\etc";pid-file "C:\WINDOWS\system32\dns\etc\named.pid";forwarders {202.114.0.242;8.8.8.8;};};zone "." IN {type hint;file "C:\WINDOWS\system32\dns\etc\named.root";};zone "localhost" IN {type master;file "C:\WINDOWS\system32\dns\etc\localhost.zone";allow-update { none; };};zone "0.0.127.in-addr.arpa" IN {type master;file "C:\WINDOWS\system32\dns\etc\127.0.0.zone";allow-update { none; };};zone "" IN {type master;file "C:\WINDOWS\system32\dns\etc\.zone"; allow-update { none; };};zone "0.168.192.in-addr.arpa" IN {type master;file "C:\WINDOWS\system32\dns\etc\192.168.0.zone"; allow-update { none; };};(2)localhost.zone$TTL 86400localhost. IN SOA localhost. root.localhost. (200106250121600360060480086400 )IN NS localhost.IN A 127.0.0.1(3)127.0.0.zone$TTL 86400@ IN SOA localhost. root.localhost. (20050301222880014400360000086400 )IN NS localhost.1 IN PTR localhost.(4).zone$TTL 86400@ IN SOA . . (105389116821600360060480086400 )IN NS .ns IN A 192.168.0.216www IN A 192.168.0.216(5)192.168.0.zone$TTL 86400@ IN SOA . . (2005030119720036004320086400 )IN NS .216 IN PTR .9. 启动ISC BIND服务:【开始】->【管理工具】->【服务】->【ISC BIND服务:右键】->【属性】->【登陆】->【本地系统账户】->【确定】->【ISC BIND服务:右键】->【启动】10. 修改DNS配置:修改本地连接中的DNS地址为:127.0.0.111. 依次执行测试命令:ipconfig /flushdnsdig +shortdig -x 192.168.0.216 +shortdig localhost +shortdig -x 127.0.0.1 +short12. 测试运行结果:13. 测试本地网站:/MyFirstWebsite/index.html。
Linux下搭建DNS服务器和配置文件(named.conf)祥解配置之前先了解一下bind DNS服务器软件:BIND是一种开源的DNS(Domain Name System)协议的实现,包含对域名的查询和响应所需的所有软件。
它是互联网上最广泛使用的一种DNS服务器,对于类UNIX系统来说,已经成为事实上的标准。
为了构架DNS服务器来解析域名或ip地址,我们得安装BIND和caching-nameserver。
为了TCP和UDP53数据包能通过,我们也有必要配置路由器。
安装 BIND 软件包1、安装# yum -y install bind caching-nameserver2、配置下面的例子是以公网IP(172.16.0.80/29),局域网IP (192.168.0.0/24),域名()作说明。
在配置你自己的服务器时,请使用你自己的IP和域名。
# vim /etc/named.confoptions {directory "/var/named";# query rangeallow-query { localhost; 192.168.0.0/24; };# transfer rangeallow-transfer { localhost; 192.168.0.0/24; };# recursion rangeallow-recursion { localhost; 192.168.0.0/24; };};controls {inet 127.0.0.1 allow { localhost; } keys { rndckey; };};# here is the section for internal informationsvimew "internal" {match-clients {localhost;192.168.0.0/24;};zone "." IN {type hint;file "named.ca";};# set zones for internalzone "" IN {type master;file "n";allow-update { none; };};# set zones for internalzone "0.168.192.in-addr.arpa" IN { type master;file "0.168.192.db";allow-update { none; };};zone "localdomain" IN {type master;file "localdomain.zone";allow-update { none; };};zone "localhost" IN {type master;file "localhost.zone";allow-update { none; };};zone "0.0.127.in-addr.arpa" IN { type master;file "named.local";allow-update { none; };};zone "255.in-addr.arpa" IN { type master;file "named.broadcast";allow-update { none; };};zone "0.in-addr.arpa" IN { type master;file "named.zero";allow-update { none; };};};vimew "external" {match-clients {any;};zone "." IN {type hint;file "named.ca";};# set zones for externalzone "" IN {type master;file ".wan";allow-update { none; };};# set zones for external *notezone "80.0.16.172.in-addr.arpa" IN {type master;file "80.0.16.172.db";allow-update { none; };};};include "/etc/rndc.key";# *note : For How to write for reverse resolvimng, Write network address reversely like below.the case for 192.168.0.0/24network address? 192.168.0.0range of network? 192.168.0.0 - 192.168.0.255how to write? 0.168.192.in-addr.arpacase of 172.16.0.80/29network address? 172.16.0.80range of network? 172.16.0.80 - 172.16.0.87how to write? 80.0.16.172.in-addr.arp设置Zones创建zone文件以便服务器能解析域名IP。
Ubuntu系统Bind搭建配置私有、主备DNS服务器上一篇文章中介绍了Ubuntu系统缓存转发DNS服务器的配置,不过有时可能还需要我们自己搭建一个私有DNS服务器。
例如一个或多个项目的多台服务器之间,通信地址可能需要配置成统一的域名地址,解析记录可能需要私有IP地址等。
使用域名而不是IP的方式,可以很好的管理服务器和项目中的配置,减少维护成本和风险。
Ubuntu系统试了下,12.04,14.04和16.04应该都没什么问题,配置一样。
准备准备两台server,一台主DNS服务器,一台备份DNS服务器。
ns1:192.168.140.129ns2:192.168.140.135步骤安装和配置步骤参考前面缓存和转发DNS服务器的配置。
主DNS服务器1、安装登录server服务器,运行apt-get命令安装。
apt-get updateapt-get install bind9 bind9utils bind9-doc进程named,配置文件目录为/etc/bind ,监听在TCP和UDP 的53端口。
2、关闭IPv6一般现在bind工作在ipv4环境居多,所以先把ipv6监听的地址关了。
vi /etc/default/bind9OPTIONS中增加-4选项,例如:OPTIONS="-u bind -4"。
3、配置缓存转发打开/etc/bind/named.conf.options目录,修改后如下。
acl goodclients {192.168.140.0/24;localhost;localnets;};options {directory "/var/cache/bind";listen-on { 192.168.140.129;};listen-on-v6 { none; };dnssec-validation auto;auth-nxdomain no; # conform to RFC1035recursion yes ;allow-query { goodclients;};allow-transfer { none; }; # disable zone transfers by defaultforwarders {223.5.5.5;223.6.6.6;};forward only ;};4、配置local文件named.conf.local 文件默认是空的。
这篇文章是我4年前写的,版本肯定是陈旧了,而且我看了最近爆发的DNS的bug,这个版本应该是不行的,所以如果要用bind做为DNS服务器,最好下载最新的,但是安装配置应该大同小异了。
主辅DNS服务器配置第一部分基本的安装配置(适合主辅DNS服务器)1、安装为了配置方便,本人是源代码安装,首先查看rpm –qa | grep named,如果系统已经有自带的bind,可以删除,因为最新的bug肯定少,所以我建议现在最新的bind。
可以去网站上下载最新的本人下载的是bind-9.3.2-P1.tar.gz解压:tar –zxvf bind-9.3.2-P1.tar.gz 然后进解压目录Cd bind-9.3.2-P1 本人是新建了一个目录,这样我删除或别的操作都很方便/usr/named安装:./configure –prefix=/usr/named –mandir=/ur/named/share/man 在这里指明路径,和我的man的路径make 大概需要时间稍长一点make install 大概需要几分钟的时间。
2、配置安装完成后。
在/usr/named下面没有etc文件,自己动手新建一个mkdir /usr/named/etc 新建的etc文件夹主要放配置文件。
同时在/var下新建一个namedb的文件放置区域的配置文件。
在etc中vi named.conf里面写入Options {Directory “/var/namedb”; (这个是工作目录)Pid-file “named.pid”; (指定pid的名称和存放位置)};Zone “.” {Type hint;File “/usr/name/etc/named.root”;}; (这个是建立根域)因为此时这里还没有根域服务器的A记录,目前是空的要手动建立!可以用dig命令,通过其他的NS服务器获取,我使用的本地DNS服务器地址是211.100.28.154 –t表示type类型。
DNS配置过程一、安装软件包这里要装两个软件包,一个是bind,这个是DNS的主配置文件,另外一个是caching-nameserver,这个是为了提高bind的安全性的一个软件包。
装好了我们就来配置我们的dns吧。
二、配置服务器按照常规,我们先来看看他给我们装了那些目录文件。
分析出哪些是重要的。
Rpm -ql bind 我们可以看到主配置文件在/etc下面,但是当我们在这里却找不到named.conf 这个文件,所以我们要创建我们的配置文件。
但是在/etc下面,有两个跟named相关的文档,一个是named.caching-nameserver.conf 和named.rfc1912.zone,我们把这两个文件合并起来,就是我们的配置文档的内容,把名字改成named.conf,然后再把里面做细微的改动,我们的配置文档模版就行了。
有一个问题我们必须注意,开始我们装了一个caching的软件包来提高我们的安全性,所以我们会看到两个目录有named.conf文件,一个是/var/named/chroot//etc目录下,还有一个就是/etc/named.conf这两个目录,其中前面那个才是文件的真正宿主目录,后面的只是一个软连接。
包括区域文件,真正的宿主目录在/var/named/chroot//var/named 这个目录下面,在/var/named目录下的只是个软连接,所以我们做的时候也要做软连接。
这个是模版,根据这个模版我们建一个的区域文件。
主配置文件弄好了,下面我们来设置我们的区域文件。
我们刚才在主配置文件设置了两个区域文件,一个是.zone和.local 前面那个是正向解析文件,后面那个是反向解析的。
我们现在去建区域文件。
在/var/named下面我们可以看到有很多默认的区域配置文件。
我们就拿一个来做模版。
同样复制一个反向解析的模版。
进行编辑。
BIND DNS配置详解前面所介绍的服务器服务大多是用在内部网络环境中的﹐不过﹐以现代的情况和未来的趋势来看﹐每个网络或多或少都需要Internet 联机以及向Internet 提供服务。
从这一章开始﹐我们将为大家陆续介绍一些在Internet 环境中常用到的服务器之架设技巧。
就算您目前还没真的需要架设Internet 相关的服务器﹐但许多企业的Intranet 环境中﹐也需要相类似的服务器来为企业内部网络提供服务。
前提条件在众多Internet 服务器当中﹐有一种服务是所有服务的基础﹐就是DNS 服务。
DNS 可以说是一个不容易弄清楚的概念﹐尤其是其运作原理。
如果您看过“学习网络”中的“ DNS 协议”(我强烈建议您看看这篇文章﹗)﹐相信应该有一定概念了﹐否则﹐您在如下的阅读中可能难以理解﹐也浪费您的时间。
无论如何﹐在您进一步阅读下面文章之前﹐请您先确定能正确回答如下的问题﹕什么是DNS 的授权模式﹖是怎样进行的﹖请解释zone 和domain 的差别。
什么是DNS 正解和反解﹖什么是DNS 的查询模式﹖查询过程是怎样进行的﹖请解释DNS cache 的作用和它对查询流程的影响。
忠告﹕请不必急着知道怎样设定DNS﹐花点时间将DNS 的原理弄明白非常重要﹐尤其是授权模式和查询模式的正确理解。
在日后的DNS 架设和管理中﹐是否能正确理解这些DNS 原理﹐往往是成败的关键所在﹗如果您在NT 或Win2K 下面设定过DNS 服务器﹐相信您会觉得在Linux 下面难多了。
除了概念上要比较清楚外﹐另外对档案的关联也要有清晰的追踪能力﹐这对于进行debug 尤为重要。
因为在Windows 系统上面﹐您的所有设定都透过图形界面进行﹐方便是方便﹐但也因为这个图形界面﹐限制了您的设定灵活性﹐同时也阻隔了您对DNS 系统的深入了解。
当您完成了这章的学习﹐而且成功在Linux 架设出复杂的DNS 环境之后﹐欢迎您再回到Win2K 上尝试做同样的事情。
DNS(2)--bind服务介绍及配置⽂件语法格式⽬录1. bind服务1.1 bind概述BIND 是由美国加州⼤学开发并且维护的,BIND是⼀个开源、稳定、且应⽤⼴泛的DNS服务。
开源:指 BIND 服务源代码是开放的;稳定:指 BIND 服务运⾏⾮常稳定;⼴泛:政府企业、单位机构、学校、等;BIND提供域名解析服务、权威域名服务、DNS调试⼯具:域名解析服务:将域名解析为IP地址;权威域名服务:能从该服务器查询到完整域名对应的IP地址,则这台服务器就算权威解析;DNS调试⼯具:主要提供DNS客户端调试⼯具,供客户端使⽤;1.2 bind程序包结构安装bind[root@dns01 ~]# yum install bind bind-utils[root@dns01 ~]# rpm -q bindbind-9.11.4-16.P2.el7.x86_64其中:bind-utils:bind客户端程序集,例如dig, host, nslookup等;bind:提供的dns server程序、以及⼏个常⽤的测试程序;bind-libs:被bind和bind-utils包中的程序共同⽤到的库⽂件;bind包⽂件:bind的system的unit⽂件:/usr/lib/systemd/system/named.servicebind主配置⽂件:/etc/named.conf主程序⽂件:/usr/sbin/namedbind⼦配置⽂件:/etc/named.rfc1912.zones区域解析数据库⽂件,也就是IP地址与域名的对应关系存放的⽬录:/var/namedbind的⽇志⽂件默认存放在/var/log/messages⽂件中。
1.3 bind配置⽂件详解1.3.1 bind配置⽂件1.3.1.1 bind主配置⽂件主配置⽂件组成部分::options {} :全局选项(监听端⼝、数据⽂件存储位置、缓存位置、权限等)logging {} :服务⽇志选项zone . {} :⾃定义区域配置include :包含其他的⽂件主配置⽂件注意事项语法⾮常严格;⽂件权限属主 root ,属组 named ,⽂件权限 640;配置⽂件各个字段意义:[root@dns01 ~]# cat /etc/named.confoptions {#监听的地址和端⼝,localhost表⽰监听在本机所有地址上;listen-on port 53 { localhost; };listen-on-v6 port 53 { ::1; };#区域数据库⽂件存放的⽬录;directory "/var/named";#dns解析过内容的缓存⽂件dump-file "/var/named/data/cache_dump.db";#静态解析⽂件(⼏乎不⽤)statistics-file "/var/named/data/named_stats.txt";#内存的统计信息memstatistics-file "/var/named/data/named_mem_stats.txt";recursing-file "/var/named/data/named.recursing";secroots-file "/var/named/data/named.secroots";#允许谁向本台DNS发起查询请求(localhost|ip|any);allow-query { any; };#本DNS是否提供递归请求服务,yes表⽰提供,no表⽰不提供;recursion yes;dnssec-enable yes;dnssec-validation yes;/* Path to ISC DLV key */bindkeys-file "/etc/named.root.key";managed-keys-directory "/var/named/dynamic";pid-file "/run/named/named.pid";session-keyfile "/run/named/session.key";};#控制⽇志输出的级别以及输出的位置logging {channel default_debug {file "data/named.run";severity dynamic;};};#默认可以对任何域名提供解析服务;因为named.ca中存储的是全球根域服务器;zone "." IN {type hint;#区域配置⽂件名称;file "named.ca";};#包含的其他⽂件;include "/etc/named.rfc1912.zones";include "/etc/named.root.key";1.3.1.2 bind区域配置⽂件可以使⽤bind来解析⾃定义的的域名,需要配置⾃定义的区域解析⽂件。
DNS服务与BIND使用DNS(Domain Name System)是互联网中用于将域名解析为IP地址的一种服务。
BIND(Berkeley Internet Name Domain)是一种常见的DNS服务器软件,被广泛应用于Internet上的域名解析服务。
本文将详细介绍DNS服务以及BIND的使用。
首先,我们来了解一下DNS服务的基本概念。
DNS服务是一种把域名转换成IP地址的服务。
在互联网上,每个设备都有一个唯一的IP地址来进行通信。
然而,IP地址是一串数字,并不直观,不易记忆。
而域名是一个以字母和数字组成的有意义的标识,更易于人们记忆和识别。
因此,DNS服务的作用就是将人们输入的域名转换为相应的IP地址,使得用户可以通过简单的域名访问网站,而不需要记住复杂的IP地址。
DNS服务的基本原理是域名与IP地址的映射。
当用户输入一个域名时,计算机会向DNS服务器发送域名解析请求。
DNS服务器会查找其所维护的域名与IP地址的映射表,如果找到对应的IP地址,则将其返回给用户的计算机,使其可以进行网络通信。
否则,DNS服务器会向上层的DNS服务器发送请求,进行递归解析,直到找到对应的IP地址,然后再将结果返回给用户。
而BIND就是一种实现DNS服务的软件。
BIND是由伯克利大学开发的,运行在基于UNIX的操作系统上。
BIND提供了一个完整的可配置的DNS服务器。
BIND的工作原理是通过配置文件来定义DNS服务的行为。
在BIND 中,主要有两个重要的配置文件,分别是named.conf和zone文件。
named.conf配置文件是BIND的主配置文件,它定义了BIND服务器的全局设置以及各种资源记录的配置。
在named.conf文件中,可以定义BIND服务器监听的IP地址、端口号、缓存设置、日志记录等。
同时,named.conf文件还指定了使用哪些zone文件来存储域名与IP地址的映射关系。
zone文件是BIND服务器保存域名与IP地址的映射关系的文件。