首页 > 系统相关 >Linux下DNS搭建

Linux下DNS搭建

时间:2024-08-31 14:55:14浏览次数:11  
标签:缓存 请求 bind 客户机 DNS Linux 服务器 搭建

1.DNS概述

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议使用UDP/TCP 53端口号,UDP负责域名解析请求报文,TCP负责多台DNS服务器之间区域传送,当域名解析请求单个报文字节数过大时,如超过512字节,可能会采用TCP 53进行通信,因此在防火墙定义策略时,可同时开启53的TCP/UDP协议。

2.DNS域名解析过程

首先,客户端先在本地缓存查找有没有域名缓存,如果没有,客户端发出DNS请求翻译IP地址或主机名。

DNS服务器在收到客户机的请求后:

检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;
若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信息;
若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。
若没有找到,则返回错误信息。
3.DNS的分类

主DNS服务器:就是一台存储着原始资料的DNS服务器。
从DNS服务器:使用自动更新方式从主DNS服务器同步数据的DNS服务器。也称辅助DNS服务器。
缓存服务器:不负责本地解析,采用递归方式转发客户机查询请求,并返回结果给客户机的DNS服务器。同时缓存查询回来的结果,也叫递归服务器。
根提示服务器:根据系统中的13组根服务器的IP地址寻求域名解析(需要当前DNS服务器连接外网)
转发器:这台DNS发现非本机负责的查询请求时,不再向根域发起请求,而是直接转发给指定的一台或者多台服务器。自身并不缓存查询结果。
4.DNS中记录类型 SOA

定义了该域中的权威名称服务器 NS

域的授权名称服务器,在当前域中能够负责解析域名的服务器有哪些 MX

域的邮件交换器,要跟着一个优先级值,越小越高 A

IPV4主机地址 AAAA

IPV6主机地址 PTR

解析IP的指针,反向记录 CNAME

权威(正式)名称,定义别名记录

www.baidu.com. 1154 IN CNAME www.a.abc.com. 5.Bind

Bind是一款开放源码的DNS服务器软件,全名为Berkeley Internet Name Domain,是目前世界上使用最为广泛的DNS。

bind主要程序有以下四个:

bind:提供了域名服务的主要程序及相关文件
bind-utils:提供了对DNS服务器的测试工具,如dig、nslookup等
bind-libs:提供了bind、bind-utils需要使用的库函数
bind-chroot:为bind服务提供了一个伪装的根目录(将/var/named/chroot作为bind的根目录)以提高安全性。
bind服务的配置文件

BIND服务配置文件有两种类型

主配置文件:主要存放named服务的全局配置和访问控制等参数
区域文件:存放某个DNS区域的地址解析记录
master:主区域

slave:从区域

hint:根区域

forward:转发

标签:缓存,请求,bind,客户机,DNS,Linux,服务器,搭建
From: https://www.cnblogs.com/Crushz-2024/p/18390289

相关文章

  • 【Linux】命令expect使用详解
    一、概述1.1命令简介expect是由DonLibes基于Tcl(ToolCommandLanguage)语言开发的,是一种脚本语言,主要应用于自动化交互式操作的场景,借助Expect处理交互的命令,可以将交互过程如:ssh登录,ftp登录等写在一个脚本上,使之自动化完成。尤其适用于需要对多台服务器执行相同操作的环境中,可......
  • linux基础网络设置
    查看网络接口信息ifconfig查看所有活动网络接口的信息执行ifconfig命令查看指定网络接口信息ifconfig网络接口名查看主机名称hostnamehostname命令查看或设置当前主机名hostname查看路由表条目routeroute命令查看或设置主机中路由表信息route-n查看网络连接情......
  • linux操作系统
    Linux操作系统安装及服务控制开源软件没有商业化软件版权约束,源代码开发,可无约束自由传播---自由并不意味着免费FSF自由软件基金会,由1984年创办;主要的项目包含了GNU项目为什么选择Linux?开源免费稳定服务器不但降低企业运行成本,而且还提升了更高的稳定性和可靠性,且无需考......
  • Linux基础
    ctrl+alt+t打开终端windows的绝对路径中,目录使用"\"分隔;在Linux的绝对路径中,目录使用"/"分隔。Linux的目录是树状结构。学习shell什么是shell引言当我们谈起命令行时,其实指的是Shell。Shell是一个程序,它接收由键盘输入的命令并将其传递给操作系统(简称系统)来执行。几乎所有......
  • linux操作系统2-初始化
    操作系统初始化:1.配置CRT远程连接vi/etc/sysconfig/network-scripts/ifcfg-ens32BOOTPROTO=static静态获取IP地址ONBOOT=yes启用该网卡新增以下内容:IPADDR=192.168.1.100IP地址NETMASK=255.255.255.0子网掩码systemctlrestartnetwork2.SElinux操作系统安全机制关......
  • linux常用命令
    Linux下要获取命令的使用帮助,可有以下几种方法:一、通过help命令二、man命令查询手册(manual)三、info命令获取在下文档帮助ls显示目录中内容,包括子目录和文件相关属性信息ls-l:显示详细信息ls-a:显示子目录和文件,包括"."开头的隐藏目录和隐藏文件ls-A:不显示包括"."开......
  • 【Linux】Linux64位环境下编译32位报错的解决办法
    问题如题,当我尝试在wsl2的ubuntu中使用-m32选项编译32位程序的时候,出现了下面的两种报错❯g++-m32test.cpp-otest1&&./test1Infileincludedfromtest.cpp:1:/usr/include/stdio.h:27:10:fatalerror:bits/libc-header-start.h:Nosuchfileordirectory27|#i......
  • 【Linux】如何用一条命令终止某个后台进程?
    在面试的时候被问道了这个问题,之前还从来没有了解过1.怎么终止某个进程?如果你学过Linux下的信号处理,这个问题应该不难答。在Linux下,使用kill命令发送信号给进程,其中9号信号SIGKILL就可以将进程终止。还有很多其他信号也能终止进程,比如前台进程使用CTRL+C会发送2号信号,也能终止进程......
  • 小白学安全:轻松搭建DVWA网站漏洞靶场
    DVWA是一个故意设计成充满漏洞的PHP应用程序,用于渗透测试目的。它包含了多种常见的Web应用程序安全漏洞,如SQL注入、跨站脚本(XSS)、跨站请求伪造(CSRF)等,让学习者可以在一个安全可控的环境中实践识别和利用这些漏洞的方法,从而更好地理解和防御实际中的网络安全威胁。DVWA提供不......
  • 小白学安全:轻松汉化Kali Linux系统
    安装好KALI系统后,很多操作界面是英文的,这对小白来讲,不容易快速上手,因此汉化KALI系统,显得尤为必要!1、执行命令,它用于重新设定系统的区域和语言环境。dpkg-reconfigurelocales2、开始配置......