学习啦>学习电脑>操作系统>Linux教程>

Linux怎么搭建DNS服务器

时间: 春健736 分享

  DNS是域名服务器(DomainNameServer)的缩写,在TCP/IP网络中是一种很重要的网络服务,它用于将易于记忆的域名和不易记忆的IP地址进行转化。那么Linux怎么搭建DNS服务器?下面跟着学习啦小编一起来了解一下吧。

  Linux怎么搭建DNS服务器

  DNS系统的作用:

  正向解析:根据主机名称(域名)查找对应的IP地址(实际应用中最多的)

  反向解析:根据IP地址查找对应的主机域名(不常用,一般用于搭建邮件服务器时。)

  根据服务器与所提供域名解析记录的关系,将DNS服务器分为不同的角色:

  缓存域名服务器

  也称为 唯高速缓存服务器

  通过向其他域名服务器查询获得域名->IP地址记录

  将域名查询结果缓存到本地,提高重复查询时的速度

  主域名服务器

  特定DNS区域的官方服务器,具有唯一性

  负责维护该区域内所有域名->IP地址的映射记录

  从域名服务器(通俗一点就是用于备份DNS服务器的)

  也称为 辅助域名服务器

  其维护的 域名->IP地址记录 来源于主域名服务器

  搭建DNS服务应用的软件为:BIND(Berkeley Internet Name Daemon)

  官方站点:https://www.isc.org/

  相关软件包:

  bind-9.3.3-7.el5.i386.rpm

  bind-utils-9.3.3-7.el5.i386.rpm

  bind-chroot-9.3.3-7.el5.i386.rpm

  caching-nameserver-9.3.3-7.el5.i386.rpm

  cache-nameserver软件包实际上只是提供了一些配置样例文件,对于熟悉BIND配置文件的系统管理员来说,也可以不用安装该软件包

  bind,提供了域名服务的主要程序及相关文件

  bind-utils,提供了对DNS服务器的测试工具程序(如nslookup、dig等)

  bind-chroot,为bind提供一个伪装的根目录以增强安全性(将“/var/named/chroot/”文件夹作为BIND的根目录)

  caching-nameserver,为配置BIND作为缓存域名服务器提供必要的默认配置文件,这些文件在配置主、从域名服务器时也可以作为参考

  named作为标准的系统服务脚本,通过”service named start/stop/restart“的形式可以实现对服务器程序的控制

  named默认监听TCP、UDP协议的53端口,以及TCP的953端口:

  其中UDP 53端口一般对所有客户机开放,以提供解析服务;

  TCP 53端口一般只对特定从域名服务器开放,提高解析记录传输通道;TCP 953端口默认只对本机(127.0.0.1)开放,用于为rndc远程管理工具提供控制通道

  如果没有安装bind-chroot软件包,则主配置文件默认位于 /etc/named.conf,数据文件默认保存在/var/named/ 目录

  下面主要来介绍实际应用中最多的“主DNS服务器”的搭建

  看一下拓扑图:

  实现步骤:

  1. 安装所有安装包

  2.进入/var/named/chroot/etc/修改主配置文件named.caching-nameserver.conf,只把四个地方改为any就可以了。

  注:radhat5.0的版本是4个any,而5.4是五个any;

  3. 修改主配置文件的扩展文件named.rfc1912.zones

  4.进入以下目录建立lele.com的域配置文件

  5. 删除lele.com的最后一行

  6.添加如下记录;

  反向和正向一样,修改主配置文件的扩展文件named.rfc1912.zones,添加1.168.192.in-addr.arpa(in-addr.arp标记为反向域)为主域(master)

  删除最后一行。

  7.执行以下命令,然后重启服务。

  注:rhel5文件必须是named组的,而且权限要求很高,不好改,简便将组和权限设置要只需要打bind-chroot-admin -s就自动设置好了

  8.在客户机上测试。

  如果出现如下情况,就证明DNS服务器搭建成功了。

  详细文字叙述:

  ls /media/Server/*bind* //查询所有安装包

  rpm -ivh /media/Server/bind-* --nodeps --force //安装所有安装包

  正向域名解析

  1.修改主配置文件

  cd /var/named/chroot/etc/named.caching-nameserver.conf

  改4个地方成any

  2.修改主配置文件的扩展文件named.rfc1912.zones

  2.1 添加lele.com为主域(master)

  zone "amao.com" { #开启域名叫lele.com

  type master; #类型为主域

  file "amao.com"; #域配置文件为lele.com

  };

  3.建立lele.com的域配置文件

  cd /var/named/chroot/var/named

  cp named.local amao.com

  删除amao.com的最后一行

  添加

  www IN A 192.168.0.2

  保存退出

  执行bind-chroot-admin -s命令

  4.重启服务,完成配置

  #rhel5文件必须是named组的,而且权限要求很高,不好改,

  *#简便将组和权限设置要只需要大bind-chroot-admin -s就自动设置好了

  @当前域

  root.localhost=root@localhost邮箱

  SOA 权威域名记录

  NS 域名主机

  A 正向解析记录

  MX 邮件转发记录

  CNAME 别名

  PTR 反向解析

  #正向和反向不能在一个文件中出现

  5.修改主配置文件的扩展文件named.rfc1912.zones

  5.1 添加1.168.192.in-addr.arpa(in-addr.arp标记为反向域)为主域(master)

  zone "1.168.192.in-addr.arpa" {

  type master;

  file "192.168.1.fx";

  };

  6.建立192.168.1.fx的域配置文件

  cd /var/named/chroot/var/named

  cp named.local 192.168.0.fx

  删除lele.com的最后一行

  添加

  105 IN PTR www.lele.com.

  保存退出

  执行bind-chroot-admin -s命令

  7.重启服务,完成配置

  #192.168.1.105反向域写为1.168.192.in-add.arpa

看过“ Linux怎么搭建DNS服务 ”的人还看了:

1.关于Linux架设DNS服务器的介绍

2.Linux系统新手学习的11点建议

3.如何解决水星路由器外网无法访问映射后的服务器

4.Mercury路由如何解决外网无法访问映射后的服务器

5.局域网dns搭建

648931