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 地址的,网上有很多资料可以参考一下。

一个域名是如何被解析的

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:

Linux域名服务DNS配置方法 Linux 第1张

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

Linux域名服务DNS配置方法 Linux 第2张

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

Linux域名服务DNS配置方法 Linux 第3张

如图所示则表示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配置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

参与评论