运维 之 DNS域名解析

前言

我们每天打开的网站,他是如何来解析,并且我们怎么能得到网站的内容反馈的界面呢?那什么是DNS呢(DNS(DomainNameservice,域名服务,主要用于因特网上作为域名和IP地址相互映射)那今天我们将来学习DNS服务器的构建,DNS服务可以算是Linux服务中比较难的一个了,尤其是配置文件书写,少一个字符都有可能造成错误。

DNS解析过程

  1. 客户机访问某个网站,请求域名解析,首先查找本地HOSTS文件,如果有对应域名、IP记录,直接返回给客户机。如果没有则将该请求发送给本地的域名服务器;
  2. 本地DNS服务器能够解析客户端发来的请求,服务器直接将答案返回给客户机;
  3. 本地DNS服务器不能解析客户端发来的请求,分为两种解析方法:
  • 采用递归解析:本地DNS服务器向根域名服务器发出请求,根域名服务器对本地域名服务的请求进行解析,得到记录再给本地DNS服务器,本地DNS服务器将记录缓存,并将记录返给客户机;
  • 采用迭代解析:本地DNS服务器向根域名服务器发出请求,根域名服务器返回给本地域名服务器一个能够解析请求的根的下一级域名服务器的地址,本地域名服务器再向根返回的IP地址发出请求,最终得到域名解析记录。

下面开始搭建DNS服务器 for Centos 7:

安装bind

复制代码
yum install bind* -y

编辑配置文件

复制代码
vim /etc/named.conf


options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        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 { any; };
        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";

定义根和自定义区域

复制代码
vim /etc/named.rfc1912.zones


#add named by wyh
zone "wyh.com" IN {
        type master;
        file "wyh.com.zone";
        allow-update { none; };
};
zone "188.92.182.in-addr.arpa" IN {
        type master;
        file "wyh.com.arpa";
        allow-update { none; };
};

编辑正向解析文件

复制代码
vim /var/named/wyh.com.zone


$TTL 86400
@    IN SOA  ns.wyh.com. root (
                     42    ; serial
                     3H    ; refresh
                     15M   ; retry
                     1W    ; expire
                     1D)   ; minimum
@            IN NS    ns.wyh.com.
ns            IN A    182.92.188.163
www          IN A    182.92.188.163
@            IN MX 10    mail.wyh.com.
mail         IN A    182.92.188.163

编辑反向解析文件

复制代码
vim /var/named/wyh.com.arpa


$TTL 86400
@    IN SOA    ns.wyh.com. root (
                        42    ; serial
                        3H    ; refresh
                        15M   ; retry
                        1W    ; expire
                        1D)    ; minimum
@    IN NS    ns.wyh.com.
163    IN PTR    mail.wyh.com.
163    IN PTR    ns.wyh.com.
163    IN PTR    www.wyh.com.

测试

  • 找一台客户端,PC或者服务器,将客户端的DNS修改为服务器端DNS,访问解析的域名能正常访问即证明DNS服务器搭建成功。

来自: 运维 之 DNS域名解析https://mp.weixin.qq.com/s?__biz=Mzk0NTQ3OTk3MQ==&mid=2247487525&idx=1&sn=7e6c4639c2fbe640b3a883a76b48ca98&chksm=c3159869f462117f2714696147297b9f4e669c46c290a06e8c9440a71165e29de80c01d7738d&token=355315523&lang=zh_CN#rd

相关推荐
许白掰1 小时前
Linux入门篇学习——Linux 工具之 make 工具和 makefile 文件
linux·运维·服务器·前端·学习·编辑器
中微子5 小时前
Git Rebase 详解:概念、原理与实战示例
git
AmosTian8 小时前
【系统与工具】Linux——Linux简介、安装、简单使用
linux·运维·服务器
荔枝吻9 小时前
【保姆级喂饭教程】Windows下安装Git Flow
windows·git·git flow
YC运维9 小时前
RIP实验以及核心原理
运维·网络·智能路由器
小和尚同志10 小时前
全网影视一网打尽!8.2K Star 的 LibreTV 让你甩开追剧烦恼
开源·github
leo__52010 小时前
自动化运维:使用Ansible简化日常任务
运维·自动化·ansible
霖0010 小时前
C++学习笔记三
运维·开发语言·c++·笔记·学习·fpga开发
CodeWithMe11 小时前
【Note】《Kafka: The Definitive Guide》 第九章:Kafka 管理与运维实战
运维·分布式·kafka