Linux域名服务DNS配置方法

 更新时间:2019年08月27日 10:41:39   作者:对弈  
DNS 全称是 Domain Name System,大意是域名解析系统,它的职责是把域名翻译成一个一个可以识别的 IP 供不同的计算机设备连接。这篇文章主要介绍了Linux域名服务DNS配置方法,需要的朋友可以参考下

什么是 DNS

DNS 全称是 Domain Name System,大意是域名解析系统,它的职责是把域名翻译成一个一个可以识别的 IP 供不同的计算机设备连接。

linux 有关 DNS 解析的配置和文件

linux 中有三个文件是关于 dns 解析的:

  • /etc/hosts 记录 hostname 对应的ip地址
  • /etc/resolv.conf 设置DNS服务器的ip地址
  • /etc/host.conf 指定域名解析的顺序(是从本地的hosts文件解析还是从DNS解析)
  • /etc/hosts 的存在是早期网络并不是特别发达,仅仅在 hosts 中保存主机名和 ip 地址的对应关系即可满足需要,随着网络的发展逐渐出现分布式 DNS 服务,但是 /etc/hosts 形式保留下来了。

/etc/resolv.conf 是配置DNS 域名和 ip 地址的,网上有很多资料可以参考一下。

一个域名是如何被解析的

How the Domain Name System (DNS) Works这篇大致解释了域名被解析的过程,基本可以分为:

  • 向根域名服务请求顶级域名所在所在域名服务
  • 向顶级域名服务请求二级域名服务
  • 向二级域名服务请求具体的 ip 地址

简易DNS配置案例(基于CentOs7)

服务器端

1.安装bind

yum install bind

2.修改/etc/named.conf配置文件

vim /etc/named.conf
options {
    listen-on port 53 { any; };  //开启监听端口53,接受任意IP连接
    listen-on-v6 port 53 { ::1; };  //支持IP V6
    directory    "/var/named";  //所有的正向反向区域文件都在这个目录下创建
    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";
    allow-query   { 0.0.0.0/0; };  //允许任意IP查询

    recursion yes;
    dnssec-enable yes;
    dnssec-validation yes;
    dnssec-lookaside auto;
    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";
    managed-keys-directory "/var/named/dynamic";

};

logging {
    channel default_debug {
        file "data/named.run";
        severity dynamic;
    };
};

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

include "/etc/named.rfc1912.zones";  //主要配置文件
include "/etc/named.root.key";

3.修改/etc/named.rfc1912.zones文件,添加duiyi.com的正向区域

vim /etc/ named.rfc1912.zones
zone "localhost.localdomain" IN {
    type master;
    file "named.localhost";
    allow-update { none; };
};

zone "localhost" IN {
    type master;
    file "named.localhost";
    allow-update { none; };
};

zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
    type master;
    file "named.loopback";
    allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
    type master;
    file "named.loopback";
    allow-update { none; };
};
zone "0.in-addr.arpa" IN {
    type master;
    file "named.empty";
    allow-update { none; };
};

//duiyi.com的正向区域
zone "duiyi.com" IN {
    type master;
    file "duiyi.com.zone";
    allow-update { none; };
};

4.创建正向区域资源文件

vim /var/named/duiyi.com.zone
$TTL 1D
@  IN SOA duiyi.com. rname.invalid. (
                    0    ; serial
                    1D   ; refresh
                    1H   ; retry
                    1W   ; expire
                    3H )  ; minimum
    NS   @
    A    127.0.0.1
    AAAA  ::1
www  IN A 192.168.81.1
mail  IN A 192.168.81.2
ftp  IN A 192.168.81.3

5.启动named服务

systemctl start named

6.开机自启动

systemctl enable named

## 客户端
操作系统:windows和linux都可以
IP地址:能够ping通DNS服务器的IP(192.168.81.133)都可以,
作用:测试DNS服务器是否正常工作。

1.修改DNS:


2.ping 服务端ip(192.168.81.133),测试能否访问服务器


3.使用nslookup命令测试三个DNS解析能否成功


如图所示则表示DNS正向解析成功

Linux作为客户端测试:

1. 安装bind-utils包,以便能使用nslookup、dig和host工具

yum install bind-utils

2. 修改DNS配置使用我们的DNS服务器

vim /etc/resolv.conf
nameserver 192.168.81.133
nameserver 114.114.114.114
nameserver 8.8.8.8

3. 正向解析测试,使用nslookup命令(与windows测试一致)

nslookup

总结

以上所述是小编给大家介绍的Linux域名服务DNS配置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • Service Temporarily Unavailable的503错误是怎么回事?

    Service Temporarily Unavailable的503错误是怎么回事?

    一般来说,出现Service Temporarily Unavailable错误多半是因为网站访问量大,造成了流量超限或者并发数大引起的资源超限出现的错误
    2013-05-05
  • Centos rsync文件同步配置步骤分享

    Centos rsync文件同步配置步骤分享

    rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync
    2012-09-09
  • linux命令:echo使用解读

    linux命令:echo使用解读

    这篇文章主要介绍了linux命令之关于echo的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • centos6.5 lamp 环境(使用yum安装方法)

    centos6.5 lamp 环境(使用yum安装方法)

    这篇文章主要介绍了centos6.5下安装lamp环境 使用yum安装方法,需要的朋友可以参考下
    2016-10-10
  • linux系统下使用tcpdump进行抓包方法

    linux系统下使用tcpdump进行抓包方法

    在本篇文章中小编给大家分享了关于linux系统下使用tcpdump进行抓包的方法和相关知识点,需要的朋友们学习下。
    2019-04-04
  • Linux deepin 删除多余内核的实现方法

    Linux deepin 删除多余内核的实现方法

    这篇文章主要介绍了Linux deepin 删除多余内核的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 详解如何在Linux中检查和设置时区

    详解如何在Linux中检查和设置时区

    时区是地球上的一部分,其中的时间被认为是相同的,每个时区都有一个基准点,其时间被认为是“标准时间”,在 Linux 系统中,时区通常存储在 /usr/share/zoneinfo/ 目录中,本文给大家介绍了如何在Linux中检查和设置时区,需要的朋友可以参考下
    2024-06-06
  • Linux中搭建DNS域名解析服务器的详细过程

    Linux中搭建DNS域名解析服务器的详细过程

    在Linux中搭建DNS服务器涉及配置和运行一个软件来提供DNS服务,DNS是互联网上的一种系统,它将域名转换为对应的IP地址,使得用户可以通过易记的域名访问网站,而不是记忆一长串数字,本文给大家详细介绍了Linux中搭建DNS域名解析服务器,需要的朋友可以参考下
    2024-03-03
  • CentOS桌面环境中网卡启动失败的解决方法

    CentOS桌面环境中网卡启动失败的解决方法

    这篇文章主要为大家详细介绍了CentOS桌面环境中网卡启动失败的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • linux查看端口是否开放的方法详解

    linux查看端口是否开放的方法详解

    在Linux中,端口是设备与外界通讯交流的出口,常用于指TCP/IP协议中的端口,其按照端口号可以分为三类,分别是:公认端口、注册端口、动态端口,那么Linux中如何查看开启了哪些端口?以下是常用命令介绍
    2024-03-03

最新评论