LINUX学习笔记:DNS服务器设置篇

期待这么美

期待这么美

2016-02-20 13:26

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的LINUX学习笔记:DNS服务器设置篇,过去的都会过去,迎接崭新的开始,释放更美好的自己。

前言:半个月前开始安装、学习REDHAT LINUX7.0。作为一个Linux新手,不可避免的遇上了一些问题,通过翻阅书籍资料,查看BBS,自己的摸索实践,也解决了一些问题。

  想到自己的经验教训可供他人借鉴,于是大胆写出来,一来可以当作学习笔记保存,二来希望对刚刚接触Linux的朋友有所帮助。由于本人能力所限,笔记中有所疏漏不足也在所难免,还请各位高手海涵。

  一、DNS简介

  DNS就是Domain Name System,它能够把形如www.szptt.net.cn(深圳之窗)这样的域名转换为202.96.134.163这样的IP地址;没有DNS,浏览深圳之窗这个网站时,就必须用202.96.134.163这么难记的数字来访问。提供DNS服务的那台电脑,就是DNS服务器。

  DNS服务器可以分为三种,高速缓存服务器(Cache-only server)、主服务器(Primary Name server)、辅助服务器(Second Name Server)。

  DNS的详细原理、工作流程、术语、概念,限于篇幅,这里就不说了。可以阅读专门的文章,如DNS-HOWTO加以了解。

  二、设置目标

  一台RedHat Linux7.0的电脑,IP是10.0.0.39,主机名是netfinity.zrs.com。所处的局域网已有一台DNS服务器,地址是10.0.0.211,负责解析baoan.gov.cn这个域。现在要在10.0.0.39上配置一台DNS服务器,让它负责zrs.com这个域的解析工作,同时也作为baoan.gov.cn域的辅助DNS服务器。所有相关文件的压缩包可以从这里下载。

  三、配置本机为ZRS.COM域的主DNS服务器

  Linux下的dns功能是通过bind软件实现的。bind软件安装后,会产生几个固有文件,分为两类,一类是配置文件在/etc目录下,一类是dns记录文件在/var/named目录下。加上其他相关文件,共同设置dns服务器。下面是所有和dns设置相关文件的列表与说明。

  第一类:位于/etc目录下的有:hosts,hosts.conf,resolv.conf,named.boot,named.conf。

  1、“hosts”文件,定义了主机名和ip地址的对应,其中也有将要运行dns这台电脑的ip地址和主机名。内容:

  127.0.0.1 localhost.localdomain localhost
  10.0.0.39 netfinity.zrs.com netfinity
  2、“hosts.conf”文件,"order hosts bind"语句,指定了对主机名的解析顺序是先到hosts中查找,然后到dns服务器的记录里查找。“multi on”则是允许一个主机名对应多个ip地址。内容:
  order hosts, bind
  multi on
  nospoof on
  3、“resolv.conf”文件,“nameserver 10.0.0.211”指定了dns服务器的地址。注意,这个文件对普通非dns服务器的电脑(非windows的系统;Windows系统是在“网络属性”中设置这项的)来说,是必不可少的。你如果没有设置本机为dns服务器,你又要能够解析域名,就必须指定一个dns服务器的地址。你可以最多写上三个地址,作为前一个失败时的候选dns服务器。“domain zrs.com”指定默认的域。文件内容:
  domain zrs.com
  nameserver 10.0.0.39
  4、“named.boot”文件是早期版本的bind软件使用的配置文件,现在新版本中已经让位于“named.conf”。named.conf是dns server配置的核心文件。下面我们一段一段的来解说。

  // generated by named-bootconf.pl

  options {
  directory "/var/named";
  /*
  * 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;
  };

  //
  // a caching only nameserver config
  //

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

  zone "." IN {
  type hint;
  file "named.ca";
  };

  zone "0.0.127.in-addr.arpa" IN {
  type master;
  file "named.local";
  allow-update { none; };
  };

  这一部分是你安装了bind软件后系统自动产生的named.conf文件的原始内容。“directory”指定了dns记录文件的存放目录是/var/named。“//”开头的文字是说明文字,不用管它。接着的两个“zone”语句定义了dns服务器的根和对应的反向查询域,并指出根的记录文件是“name.ca”,根的反向查询域的记录文件是“named.local”。这两个记录文件也是系统自带的,不用去改动它。named.conf文件的这一部分内容,我们不必去改动它。

但我们可以在“diretory”下添加一行:forwarders {202.96.134.133;}。202.96.134.133是我这里电信的dns服务器的地址,forwarders参数指明了其后的ip所在的服务器作为备选的dns服务器。也就是说,把本机的dns不能解析的主机发送到这个备选的dns服务器上,让它来进行解析。

  zone "zrs.com" IN {
  type master;
  file "named.zrs.com";
  allow-update { none; };
  };
  zone "0.0.10.in-addr.arpa" IN {
  type master;
  file "named.zrs.com.rev";
  allow-update { none; };
  };


  这一部分是手工添加的。定义了“zrs.com”这个域和对应的反向查询域。“type master”说明本机是“zrs.com”和“0.0.10.in-addr.arpa”这两个域的主dns服务器(primary name server)。“named.zrs.com”和“named.zrs.com.rev”是域的记录文件。这两个文件也是自己创建的,下面我们就来看看这两个文件。

  第二类:资源记录文件,位于/var/named目录下。这个目录是named.conf中定义的。
  1、named.zrs.com文件内容如下:

  @ IN SOA netfinity.zrs.com. root.netfinity.zrs.com. (
  1997022700 ; Serial
  28800 ; Refresh
  14400 ; Retry
  3600000 ; Expire
  86400 ) ; Minimum
  IN NS netfinity.zrs.com.
  IN MX 10 netfinity.zrs.com.

  netfinity IN A 10.0.0.211
  lily IN A 10.0.0.139
  www IN CNAME netfinity.zrs.com.
  pop3 IN CNAME netfinity.zrs.com.
  smtp IN CNAME netfinity.zrs.com.

  在这个记录文件中,出现了5种类型的记录。SOA 是授权起始(Start Of Authority)的缩写,后面接着写你的dns服务器的主机名,这里是“netfinity.zrs.com.”。(注意,主机名称后面的小圆点。凡是出现在记录文件了的主机名,记得都要加上这各小圆点。)NS 是名称服务器资源记录,指明域中的名称服务器,这里就是dns服务器。MX是邮件交换者资源记录,指明这个域的邮件服务器。你可以写多个MX记录,指明多个邮件服务器,优先级别由MX后的数字决定,数字越小,邮件服务器优先权越高。A是主机记录,把主机和ip地址对应起来。CNAME是别名记录,它赋予一个主机不同的名称,如www.zrs.com、pop3.zrs.com其实都是指向同一台主机netfinity.zrs.com。

  2、named.zrs.com.rev文件内容:
  @ IN SOA netfinity.zrs.com. root.netfinity.zrs.com. (
  1997022700 ; Serial
  28800 ; Refresh
  14400 ; Retry
  3600000 ; Expire
  86400 ) ; Minimum
  IN NS netfinity.zrs.com.

  211 IN PTR netfinity.zrs.com.
  139 IN PTR lily.zrs.com.

  这是“zrs.com”的反向域记录文件,它让dns服务器提供由ip地址查找主机名的服务。PTR记录把ip和主机名对应起来。由于一些程序会要求反向查询,所以反向查询域的记录文件最好不要省略。

  到此为止,你已经成功配置了一个dns服务器,它能够解析“zrs.com”这个域了。

  四、配置本机为BAOAN.GOV.CN域的辅助dns服务器

  辅助DNS服务器,可从主服务器中转移一整套域信息。区文件是从主服务器中转移出来的,并作为本地磁盘文件存储在辅助服务器中。在辅助服务器中有域信息的完整拷贝,所以也可以可以回答对该域的查询。这部分的配置内容如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

  zone "baoan.gov.cn" IN {
  type slave;
  file "named.baoan.gov.cn";
  masters { 10.0.0.211; };
  allow-update { none; };
  };
  zone "0.0.10.in-addr.arpa" IN {
  type slave;
  file "named.baoan.gov.cn.rev";
  masters { 10.0.0.211; };
  allow-update { none; };
  };
  可以看到,和主DNS服务器不同地方就是:“type”改为了“slave”,然后指明了主DNS服务器的地址“masters { 10.0.0.211; };”。DNS服务启动时,就会自动连接10.0.0.211,读取BAOAN.GOV.CN域的信息,然后保存到本机的named.baoan.gov.cN文件里。我就是通过这个功能把原来10.0.0.211(系统为windows2000)上的所有记录复制了一份到10.0.0.39上。

  五、测试DNS服务器

  改动过DNS的相应文件,用“ndc restart”命令重新启动服务,使改动生效。要测试DNS,可以找一台客户机,把它的DNS地址设成新建立的DNS服务器地址,然后试试上网,收信,下载等。也可以使用nslookup命令:运行nslookup,输入要查询的主机名,看是否返回正确的ip地址。

展开更多 50%)
分享

猜你喜欢

LINUX学习笔记:DNS服务器设置篇

电脑入门
LINUX学习笔记:DNS服务器设置篇

LINUX学习笔记--FTP服务器设置篇

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
LINUX学习笔记--FTP服务器设置篇

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

怎么设置dns服务器ip

服务器
怎么设置dns服务器ip

怎么安装DNS服务器

服务器
怎么安装DNS服务器

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

DNS服务器工作原理

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
DNS服务器工作原理

Win8.1怎么设置DNS服务器地址

windows系统
Win8.1怎么设置DNS服务器地址

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Unix和Linux密码丢失解决方法

Unix和Linux密码丢失解决方法

Winxp中无法安装新字体的终极解决办法

Winxp中无法安装新字体的终极解决办法
下拉加载更多内容 ↓