当前位置:首页 > CN2资讯 > 正文内容

在Windows平台架设DNS服务器腾讯dns公共服务器

2天前CN2资讯
ISC (Internet Systems Consortium) 在二零零七年八月二十七日宣布了 Bind 8 历史使命的终结。ISC 鼓励还在使用 Bind 8 的用户从安全方面考虑要迅速迁移到 Bind 9。 Bind 是互联网上应用最广泛,却又最不为人所注意的开源应用。从本质上说 Bind 是一个分布式数据库,里面储藏了整个互联网的数字类型地址和字母类型域名的对应。没有它,我们在网上就寸步难行!

在Windows平台架设DNS服务器 +lzy DNS的概念 DNS 是域名系统 (Domain Name System) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。 例如,多数用户喜欢使用友好的名称(如 [url]www.netadmin.com.cn[/url])来查找计算机,如网络上的邮件服务器或 Web 服务器。友好名称更容易了解和记住。但是,计算机使用数字地址在网络上进行通讯。为更容易地使用网络资源,DNS 等命名系统提供了一种方法,将计算机或服务的用户友好名称映射为数字地址。 下图显示了 DNS 的基本用途,即根据计算机名称查找其 IP 地址。
本例中,客户端计算机查询 DNS 服务器,要求获得某台计算机([url]www.netadmin.com.cn[/url])的 IP 地址。由于 DNS 服务器能够根据其本地数据库应答此查询,因此,它将以包含所请求信息的应答来回复客户端,即一条主机 (A) 资源记录,其中含有 [url]www.netadmin.com.cn[/url]的 IP 地址信息(219.141.209.244)。 此例显示了单个客户端与 DNS 服务器之间的简单 DNS 查询。实际上,DNS 查询要复杂得多,包含此处未显示的许多其他步骤。   DNS的劫持及架设自有DNS服务器的必要性 首先解释一下什么是DNS劫持。DNS 劫持是网络安全界常见的一个名词,意思是通过某些手段取得某一目标域名的解析记录控制权,进而修改此域名的解析结果,通过此修改将对此域名的访问由原先的 IP地址转入到自己指定的IP,从而实现窃取资料或者破坏原有正常服务的目的。举个例子,例如新浪原指向60.28.175.137,这个 IP是新浪正常服务的服务器IP。而某骇客拿到了修改[url][/url]域名解析的权利,将其解析记录修改为2.2.2.2,则修改后对于[url][/url]的访问都会指向2.2.2.2这个IP。此骇客在2.2.2.2这个他自己所有的IP上放了一个完全仿冒的新浪主页,只是将登陆新浪邮箱的这个界面改为把客户填写的邮箱名和密码记录下来。这样普通客户访问[url][/url]时看到的是表面为新浪主页,而实际为假冒页面的李鬼了。此时客户如果继续登陆其新浪邮箱,则其帐户就被黑人拿到了。 有些省份的电信运营商,出于某种目的对于自所辖的DNS服务器做了明显违反互联网行为规范的某些做法,只是表现有所差异,导向的并不都是同一个结果,但大多都是搜索引擎。搜索引擎成了金矿,劫持用户流量成了国内电信运营商的家常便饭。 要不想被DNS劫持,只有用别处的DNS服务器或者干脆架设自己的DNS服务器。笔者将在本文讲述如何在Windows平台上架设自己的DNS服务器,一来可以避免DNS被劫持的现象;二来也可以避免DNS不稳定造成访问障碍。   DNS服务器的简介 Windows Server(2000/2003)都集成了DNS服务器组件,但不在本文讨论范畴之内。本文即将讨论的是BIND服务器程序。Bind的全名是Berkeley Internet Name Domain,最初的时候是由加州大学柏克莱分校所发展出来的BSD UNIX中的一部份,目前则由ISC组织来负责维护与发展。 Bind是用来解决网域名称与IP地址对应的软件,且是个被广泛使用的DNS服务器软件,它提供了强大及稳定的名称服务,因此有近九成的DNS服务器主机都是使用Bind。目前最新的版本到Bind 9。BIND支持各种UNIX版本,也有Windows版本。鉴于BIND在互联网中地位的重要性,本文将介绍BIND在Windows平台下最基本的安装和配置。   准备BIND软件包 BIND官方站点为[url][/url]。目前最新版本为9.4.0,可在[url]http://www.isc.org/index.pl?/sw/bind/[/url]中下载相应的版本。BIND 9.4在9.3之上增加了很多特点,限于篇幅,详情读者可参见[url]http://www.isc.org/index.pl?/sw/bind/[/url]。 在官方站点下载BIND9.4.0.zip,下载地址是: [url]http://ftp.isc.org/isc/bind9/9.4.0/BIND9.4.0.zip[/url]。   BIND的安装 下载回来的是一个zip压缩包,解压之,双击其中的BINDInstall.Exe来安装BIND:
缺省安装在C:\WINDOWS\system32\dns,服务账户名默认为named,可以自定义为其他名称,并为此账户定义一个密码。注意的是,缺省是不会生成配置文件和一些默认的域名解析。但可以到[url]http:///bind.html[/url]下载一些标准的配置文件。按缺省方式安装后,将在C:\WINDOWS\system32\dns\可看到两个子文件夹bin和etc。etc文件夹是存放配置文件(熟悉UNIX的读者应该明白,典型的UNIX风格)。   BIND的配置        BIND毕竟是从UNIX平台下发展过来的软件,所以很多风格上和Windows软件完全不同,而和UNIX软件包相似,采用conf文件来配置,而不是靠注册表和视窗界面来配置。        在C:\WINDOWS\system32\dns\bin下建立一个文件named.conf,这是比较基础的配置文件,关系到BIND能否正常运行。 有一点地方要注意,对于Windows平台下的配置文件,和UNIX版本的有少许不同,那就是路径的写法不同,如类UNIX版本为/var/log/named.log,而相应的Windows版本则为C:\windows\system32\dns\log\named.log,切记修改!以后程序中如果读取文件,都要注意路径的写法。 本段将分析named.conf文件,其中的数据仅作演示之用,请根据实际具体情况参考配置。 logging { channel default_syslog { syslog local2; severity error; }; channel audit_log { file "C:\windows\system32\dns\log\named.log"; severity error; print-time yes; }; category default { default_syslog; }; category general { default_syslog; }; category security { audit_log; default_syslog; }; category config { default_syslog; }; category resolver { audit_log; }; category xfer-in { audit_log; }; category xfer-out { audit_log; }; category notify { audit_log; }; category client { audit_log; }; category network { audit_log; }; category update { audit_log; }; category queries { audit_log; }; category lame-servers { audit_log; }; };     以上部分是日志文件的设置,其中的file "C:\windows\system32\dns\log\named.log"; 这一句指定了日志文件的位置,要正常启动named,必须要保证这一文件是存在的,并且named 进程对它有读写权限。options { directory “C:\windows\system32\dns\etc\named"; listen-on-v6 { any; }; forwarders { your.upper.DNS.address; };   /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; /* * If running in a sandbox, you may have to specify a different * location for the dumpfile. */ dump-file "/etc/named_dump.db"; };以上部分,是一些基本的配置项。要注意的地方是: 文件中提到的C:\windows\system32\dns\etc\named缺省是没有建立的,需要手动建立。 文件中的:
forwarders { your.upper.DNS.address; };

这是配置前向DNS,当遇到无法解析域名的时候,它将自动转发到你设置的前向DNS来进行解析。     zone "." { type hint; file "named.root"; }; zone "0.0.127.IN-ADDR.ARPA" { type master; file "localhost.rev"; };      以上部分是配置本地回环域、线索域。 其中,file "named.root"; 为根区文件,所在的目录是options中directory "C:\windows\system32\dns\etc\named";指定的。zone "" { type master; file "zone.test "; };   zone "0.168.192.in-addr.arpa" { type master; file "zone.test.rev"; }; zone "4.0.0.f.0.5.2.0.1.0.0.2.IP6.ARPA" { type master; allow-transfer { any;}; allow-query { any; }; file "ipv6.rev"; };   zone "lowerlevelzone." { type slave; masters { 192.168.1.1; }; }; 以上部分是关于自定义域的配置,这一部分是配置文件中需要重点关心的部分。其中 zone "" { type master; file "zone.test "; }; 是设定域,type master 指明该域主要由本机解析,而file "zone.test "指定其解析文件为zong.test,目录为options中设定的目录本例中为\etc\named。 zone "0.168.192.in-addr.arpa" { type master; file "zone. test.rev"; }; 是指定ipv4地址逆向解析,type slave 指明该域主要由低一级的域名服务器解析。 masters { 192.168.1.1; }; 是指定低一级的域名服务器IP地址。 至此已初步建立了一个标准的named 的主配置文件,接下来建立对应的域名解析或逆向解析文件:\etc\namedb\zone.test 该配置文件的格式大致如下:; From: @(#)localhost.rev 5.1 (Berkeley) 6/30/90 ; $FreeBSD: src/etc/namedb/PROTO.localhost.rev,v 1.6 2000/01/10 15:31:40 peter Exp $ ; ; This file is automatically edited by the `make-localhost' script in ; the \etc\namedb directory. ; @ IN SOA ns.. root..( 2005030116; Serial 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum IN NS ns..ns IN A 192.168.0.1 www6 IN AAAA 2001:250:f004::10 www IN A 192.168.0.2
 本文件前半部分是一些默认的参数设置,只需把域名改成对应你要设置的域即可,限于篇幅,对几个参数只稍做解释。 几个需要注意的地方: IN NS ns.; 这一条必须有,来指定本域的域名服务器 ; 域名必须以"."结尾。 该文件的第二部分(倒数三行)是指定该域上的主机: ns IN A 192.168.0.1 ns 为主机名,A 代表地址类型为IPV4地址,192.168.0.1 是实际ip地址,这一条记录的含义是ns. 的ip地址为 192.168.0.1 www6 IN AAAA 2001:250:f004::10 www6 为主机名,AAAA代表地址类型为IPV6地址,2001:250:f004::10 是其IPV6地址,这条记录的含义是www6. 的ip地址是2001:250:f004::10 。 接下来是关于IP地址逆向解析的部分: ipv4 逆向解析: etc\namedb\zone.test.rev  ; From: @(#)localhost.rev 5.1 (Berkeley) 6/30/90 ; $FreeBSD: src/etc/namedb/PROTO.localhost.rev,v 1.6 2000/01/10 15:31:40 peter Exp $ ; ; This file is automatically edited by the `make-localhost' script in ; the \etc/namedb directory. ; @ IN SOA ns.. root..( 2005030116; Serial 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum IN NS ns. ;   1 IN PTR ns.. 2 IN PTR [url]www../[/url]
至此,几个配置文件已基本配置完成,接下来通过cmd(命令提示符) 进入bin 的目录。 由于BIND安装软件的说明中要求,故先需要生成一个运行rndc.key: rndc-confgen –a 生成密钥文件: rndc-confgen >; rndc.conf 执行后,当前目录将有一个rndc.conf的密钥文件。该文件可以用文本编辑器打开,如UltraEdit ,该文件内容大致如下:# Start of rndc.conf key "rndc-key" { algorithm hmac-md5; secret "o2iuzvKIljrrxw7A4cJITQ=="; };   options { default-key "rndc-key"; default-server 127.0.0.1; default-port 953; }; # End of rndc.conf   # Use with the following in named.conf, adjusting the allow list as needed: # key "rndc-key" { # algorithm hmac-md5; # secret "o2iuzvKIljrrxw7A4cJITQ=="; # }; # # controls { # inet 127.0.0.1 port 953 # allow { 127.0.0.1; } keys { "rndc-key"; }; # }; # End of named.conf
注意,请把后面以: # Use with the following in named.conf, adjusting the allow list as needed: 开始的这一部份,加到named.conf后面并去掉注释#,否则会导致问题,稍后讲述。后面的rndc status将显示超时退出。   BIND的测试 安装、配置完BIND后,接下来就该测试BIND运行是否正常。 在命令提示符中,进入C:\WINDOWS\system32\dns\ bin 目录,执行: named -g 参数-g选项表示前台运行,并将调试信息打印到标准输出,这在我们安装调试阶段是非常有帮助的。 当你有看到running字样时,说明已经配置正确了,如果要控制BIND 9的运行,更方便的使用rndc命令来进行,再打开一个命令提示符窗口并进入bin目录,执行: rndc status 当显示如下信息时,可能会显示如下信息… number of zones: 5 debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is OFF server is up and running 如果显示以上信息,则说明配置成功,BIND可以正常运行。如果没有显示上面的信息,请检查的named.conf文件里面是否配置了rndc.conf里面的key。 至此为止,一般可以实际运作的BIND 9就建立起来了,您可以rndc rolead一下,让最新的设置及软件生效。 如果在安装过程中出现错误,可先检查完错误,再接着安装下去。 也可以在客户端使用命令nslookup来测试BIND是否已经正常运行。Nslookup在Windows及Linux下都有相对应的版本,执行nslookup即进入与服务器交互状态,这时键入域名或ip地址就可以向服务器正向或逆向查询。 >[url]www.[/url] 正向域名解析 >192.168.0.1 逆向IP解析 >set type=AAAA 设置查询地址类型为IPv6地址类型。 >set type=A 设置查询地址类型为IPv4地址类型。 >exit 退出。   总结        虽然Windows也提供了DNS服务器组件,但是和BIND相比,这两款软件是各有千秋的,不过在服务器领域上,字符界面的Linux远胜于视窗界面的Windows。本文作者的初衷,是想让那些Windows网管员们了解一下Windows版本的UNIX软件是怎么一回事,如果能对网管员有所帮助,并激发他们产生进一步的探索热情,本文的目的也就达到了。
    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/30944.html

    分享给朋友:

    “在Windows平台架设DNS服务器腾讯dns公共服务器” 的相关文章

    电信CN2线路:为高效网络体验保驾护航

    在信息化快速发展的今天,网络已经成为企业发展的重要命脉。无论是企业日常运营、跨国合作,还是个人用户的影音娱乐,都需要一个稳定、高速、低延迟的网络环境。而电信CN2线路,正是为满足这种需求而生。什么是电信CN2线路?电信CN2线路是中国电信推出的高品质网络线路服务,专为需要稳定、高效网络连接的用户设计...

    hncloud:助力企业数字化转型的云计算服务提供商

    在数字化浪潮席卷全球的今天,hncloud(华纳云)应运而生,成为一家备受瞩目的全球数据中心基础服务提供商。隶属于香港联合通讯国际有限公司的hncloud,凭借其在行业中的深厚积淀和技术实力,逐渐发展成为一颗闪耀于云计算领域的明星。作为APNIC和ARIN的会员单位,hncloud自有ASN号,为用...

    HostYun:高性价比VPS服务的理想选择

    HostYun,最早被称作主机分享,成立于2008年,专注于提供性价比极高的VPS服务。在众多IDC品牌中,HostYun凭借其低价策略迅速占领了一席之地。作为一个以KVM和XEN虚拟化技术为基础的平台,HostYun不仅满足了用户对低成本服务的需求,也为学习、测试和小型项目的部署提供了理想的选择。...

    选择合适的国外域名与邮箱服务指南

    在现代社会,跨国沟通和商务往来变得愈加频繁,国外域名与邮箱成为不可或缺的工具。当我开始接触这些服务时,首先意识到国外域名的定义与特点,它们不仅代表着一个网站的身份,还是全球互联网上各类信息交流的桥梁。国外的域名通常以.com、.net等后缀结尾,这些域名能够覆盖广泛的用户群体,使得沟通更为流畅。 我...

    反向代理的工作原理与应用场景详解

    反向代理概述 反向代理,听起来似乎有点复杂。实际上,这是一个位于客户端和服务器之间的“中间人”,它对客户端是透明的。换句话说,客户端并不知道有这个反向代理的存在。它的主要任务是接收客户端的请求,然后把这些请求转发给后端的服务器,再把服务器的响应返回给客户端。想象一下,反向代理就像一个邮递员,负责将信...

    菲律宾VPS性能评测与选择指南

    在数字化时代,虚拟专用服务器(VPS)逐渐成为许多企业和开发者的首选,特别是在菲律宾这个快速发展的IT市场。菲律宾VPS的性能评测是我们了解这个市场的一把钥匙。它帮助我们不仅了解服务的速度和稳定性,还能评估不同服务提供商的优劣。 VPS性能概述 在讨论VPS性能时,我们可以将其分成几个关键方面。主要...