运维 之 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

相关推荐
Pythonliu71 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我1 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
小O_好好学3 小时前
CentOS 7文件系统
linux·运维·centos
哲伦贼稳妥3 小时前
一天认识一个硬件之机房地板
运维·网络·经验分享·其他
john_hjy4 小时前
11. 异步编程
运维·服务器·javascript
x晕x4 小时前
Linux dlsym符号查找疑惑分析
linux·运维·服务器
活跃的煤矿打工人4 小时前
【星海saul随笔】Ubuntu基础知识
linux·运维·ubuntu
tangdou3690986555 小时前
两种方案手把手教你多种服务器使用tinyproxy搭建http代理
运维·后端·自动化运维
北京智和信通5 小时前
云平台和虚拟化智慧运维监控,全面提升故障感知与处置能力
运维·虚拟化·云平台·虚拟机监控