DNS域名解析服务

什么是DNS,Domain Name Service的缩写,也叫域名服务器,用来将已知的域名解析为IP地址或 将已知的IP地址解析为域名,今天我们就来了解一下关于DNS服务器的配置和使用吧。

工作原理

客户端如何解析域名呢,一般域名及其对应的IP地址都会存储在本地DNS缓存、本地hosts文件、其他的DNS服务器中,当我们需要通过域名访问IP时就会通过这些路径查找对应的IP或域名而查询也分为两种包括递归查询和迭代查询。递归查询直接给出解析结果,客户机与本地DNS服务器之间的查询。迭代查询没有给出解析结果,本地DNS服务器与根等其他DNS服务器之间的查询。

服务器配置

基础配置

上面我们介绍了DNS服务器的工作原理,大家应该能猜到我们接下来要干些什么了,由于其他的DNS服务器我们无法干涉,hosts文件也不必多说,所以我们就对DNS本地缓存进行配置,那么想要对DNS缓存进行配置,首先我们要知道DNS缓存在什么地方,这样我们才能对他进行配置。

在安装了bind(DNS服务安装包)后会生成一些文件,我们的主配置文件即/etc/named.conf里面包含了基本的DNS服务配置

options {

listen-on port 53 { 127.0.0.1; }; (监听的地址和端口号)

listen-on-v6 port 53 { ::1; };(ipv6的监听地址和端口号)

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";

recursing-file "/var/named/data/named.recursing";

secroots-file "/var/named/data/named.secroots";

allow-query { localhost; }; (能够访问的客户端)

/etc/named.rfc1912.zones

解析记录文件,/etc/named.rfc1912.zones

zone "localhost.localdomain" IN { 正向解析区域文件的定义

type master; 服务器的类型,master或者slave

file "named.localhost"; 区域文件的文件路径及名称

allow-update { none; }; 是否允许对该区域文件的更新

};

zone "1.0.0.127.in-addr.arpa" IN { 反向解析区域文件

type master;

file "named.loopback";

allow-update { none; };

};

这么一来DNS的主配置就完成了,接下来我们就通过对解析记录进行填写就相当于在"通行名单"上添加名字,也就是一个名单,在这个名单里的域名就可以被解析包括正向解析、反向解析

解析记录的类型

正向解析文件中:

A:IPv4正向解析记录

AAAA:IPV6正向解析记录

NS:DNS服务器解析记录

MX:邮件解析记录

CNAME:别名解析记录

反向解析文件中:

PTR:反向解析记录

这样就可以进行DNS地址解析了

为了DNS服务器能够更加稳定,我们还可以设置主从架构,设置起来也是比较方便的,只需添加一些东西即可

在主服务器上添加从服务器IP

再把从机的配置好

再重启一下,这样在主服务器失效的时候从服务器也可以正常的提供服务。

相关推荐
寻月隐君7 分钟前
Rust 错误处理终极指南:从 panic! 到 Result 的优雅之道
后端·rust·github
b1ng7 分钟前
新人程序员 Git 一站式指南
git·github
叶怀生1 小时前
Github创建仓库并通过VS Code推送项目
github
ai小鬼头12 小时前
AIStarter新版重磅来袭!永久订阅限时福利抢先看
人工智能·开源·github
如何原谅奋力过但无声12 小时前
上传GitHub步骤(自用版)
github
jingshaoqi_ccc14 小时前
GitKraken最后一个免费版本和下载地址
git·github·gitkraken·版本管理工具
乌云暮年14 小时前
Git简单命令
git·gitee·github·batch命令
Albert_Lsk19 小时前
【2025/07/10】GitHub 今日热门项目
人工智能·开源·github·开源协议
一块plus21 小时前
一门原本只是“试试水”的课程,没想到炸出了一群真诚的开发者
javascript·面试·github
GoGeekBaird1 天前
使用GoHumanLoop拓展AI Agent人机协同边界,这次连接到飞书
人工智能·后端·github