Linux下DNS服务设置详解

DNS(Domain Name System,域名系统)是互联网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,实现了方便用户使用域名访问网站的目的。在Linux操作系统中,DNS服务也是一个重要的组成部分,我们可以使用bind9软件来实现DNS服务。本文将介绍如何在Linux环境下安装并配置bind9,实现主从DNS服务器的搭建。


一、DNS的基本原理


DNS是一种基于UDP协议的分布式数据库服务,它将主机名映射到IP地址。当用户在浏览器中输入一个网址时,计算机会首先向本地DNS服务器发出查询请求,如果本地DNS服务器无法解析该网址,则它会向根DNS服务器发出请求,根DNS服务器会返回负责该顶级域名的权威DNS服务器的地址,本地DNS服务器再向权威DNS服务器发出请求,最终获得该网址对应的IP地址。

二、Linux DNS基本概念

1. 域名:域名是Internet上的一种标识,用于代替IP地址。例如,www.example.com就是一个域名。
2. IP地址:IP地址是Internet上设备的唯一标识,通常以点分十进制表示,如192.168.1.1。
3. DNS服务器:DNS服务器是负责将域名解析为IP地址的服务器。Linux系统中有两种类型的DNS服务器:主DNS服务器和辅助DNS服务器。主DNS服务器负责处理区域内的域名解析请求,而辅助DNS服务器则从主DNS服务器获取区域数据并缓存。
4. 区域:区域是一个DNS命名空间,包含了一组资源记录(Resource Record,RR)。资源记录是DNS数据库中的一条记录,用于存储域名和IP地址之间的映射关系。


三、Linux中的DNS服务


1. BIND软件
BIND(Berkeley Internet Name Domain)是一款实现DNS服务的软件,它是最广泛使用的DNS服务器软件之一。在Linux中,可以使用BIND来实现DNS服务。
2. named服务
named是BIND软件中的一个守护进程,它是Linux中默认安装的DNS服务进程。当启动named服务时,它会读取配置文件/etc/named.conf以及相应的区域文件(zone file),并监听53端口等待客户端的查询请求。
3. 配置文件/etc/named.conf
/etc/named.conf是BIND的主配置文件,它包含了全局设置和区域声明等内容。在该文件中可以指定正向查找区域、反向查找区域、主域名服务器、辅助域名服务器等信息。
4. 区域文件
区域文件是BIND中用于存储域名解析信息的文件,它包含了该区域内所有主机的IP地址和主机名之间的映射关系。在Linux中,区域文件通常存放在/var/named目录下。

四、Linux DNS配置

实验环境:Linux操作系统(如CentOS 7)

基本配置步骤:
1.安装dns服务及nslookup所在包bind-utils

#  yum  -y  install  bind  bind-utils

2.在主配置文件中设置DNS服务器的全局参数

建立主配置文件named.conf(在listening加服务器ip)

# vi  /etc/named.conf

options  {

    listen-on  port 53  {192.168.111.135; };   //本机IP                

    directory   "/var/named";                             

    allow-query  { 192.168.111.0/24; };    

};

3.设置主域名服务器
A:确认本机网络地址、主机映射、DNS服务器地址

# hostname  ns1
# vi  /etc/hosts

192.168.111.135 ns1.qym.com ns1 (确认有类似上面一行内容) 

# vi  /etc/resolv.conf

192.168.111.135 (确认有类似上面一行内容)

B:设置区域配置文件

建立正、反向区域数据文件

# vi  /etc/named.rfc1912.zones

zone  "qym.com"  IN  {
type  master;                                       
file  "qym.com.zone";                             
};
zone  "111.168.192.in-addr.arpa"  IN  {
type  master;
file  "111.168.192.arpa";                             
};
将上面内容输进

C:建立正向解析数据库文件
# vi  /var/named/qym.com.zone

将下面内容输进
$TTL  86400
@   IN  SOA  qym.com.   admin.qym.com.  (
        2011030301
        4H
        30M
        12H
        1D
)
    NS    @
      A      192.168.111.135
ns1   A       192.168.111.135
www  A      192.168.111.10
mail   A      192.168.111.20

D:建立反向解析数据库文件
# vi  /var/named/111.168.192.arpa

将下面内容输进
$TTL  86400
@  IN   SOA  qym.com.  admin.qym.com.  ( 
        2011030301
        4H
        30M
        12H
        1D
)
         NS      @
          A    192.168.111.135
10        PTR  ns1.qym.com.
10        PTR  www.qym.com.
20        PTR  mail.qym.com.

 

E:启动dns服务

启动named服务,或重载配置

# systemctl  start  named
没有出现错误提示继续往下
F:测试dns

验证主域名服务器

# nslookup  ns1.qym.com

测试成功

# nslookup  www.qym.com

 

# nslookup  192.168.111.135

 通过本实验,学习如何在Linux系统中配置DNS服务器,掌握DNS服务的基本原理和配置方法。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值