搭建DNS服务器的那些知识「建议收藏」

搭建DNS服务器的那些知识「建议收藏」一、DNS服务概述:1.什么是DNS?DNS(DomainNameSystem)域名系统,在TCP/IP网络中有非常重要的地位,能够提供域名与IP地址的解析服务,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析。DNS协议运行在UDP协议之上,使用端口53号。2.什么是域、域名?域(domain)是计算机网络的一种形式,其中所有用户账户,计算机,打印机和其他安全主体都在位于称为域控制器的一个或多个中央计算机集群上的中央数据库中注册。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、DNS服务概述:

1.什么是DNS?

DNS(Domain Name System)域名系统,在TCP/IP 网络中有非常重要的地位,能够提供域名与IP地址的解析服务,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析。DNS协议运行在UDP协议之上,使用端口53号。

2.什么是域、域名?

域(domain)是计算机网络的一种形式,其中所有用户账户,计算机,打印机和其他安全主体都在位于称为域控制器的一个或多个中央计算机集群上的中央数据库中注册。

域名用来识别主机名称和主机所属的组织机构的一种分层结构的名称,它不区分大小写,从最顶层到下层,可以分成:根域、顶级域、二级域、子域。互联网的域名空间最顶层的是根域(root),记录这Interne的重要DNS信息,有Internet域名注册授权机构管理,该机构把域名空间各部分的管理责任分配给链接到Internet的各个组织。

tips:全球有13个根域服务器:1个为主根域服务器,在美国;其余12个为辅助根域服务器,其中9个在美国;欧洲2个,分别在英国和瑞典;亚洲一个,在日本。

3.DNS查询方式:递归查询和迭代查询。

递归查询:当客户机向DNS服务器发起域名解析请求时,DNS服务器首先查看自己本机的DNS记录,如果没有则会想其它DNS服务器发起解析请求。
迭代查询:当客户机向DNS服务器发起域名解析请求是,DNS服务器不会给客户机解析地址,而是告诉客户机另外一台DNS服务器,客户即再向这台服务器发起地址解析请求。

4.正向解析和反向解析:
正向解析:指域名解析到IP地址的解析过程。
反向解析:指IP地址解析到域名的解析过程。

二、DNS服务器安装及配置:

1.BIND简介:

BIND 全称为Berkeley Internet Name Domain(伯克利因特网名称域系统),最早由伯克利大学的一个学生编写,现在由ISC编写和维护。BIND 主要有三个版本:BIND4、BIND8、BIND9,支持现今绝大多数的操作系统(Linux UNIX Max Windows)。BIND8版本:融合了许多提高效率、稳定性和安全性的技术,而BIND9 增加了一些超前的理念:IPv6支持、密钥加密、多处理器支持、线程安全操作、增量区传送等等,本次使用的就是BIND9。

安装命令:

[root@dns ~]#  yum -y install bind bind-chroot bind-utils

2.安全防护:

BIND配置文件保存在两个位置:

/etc/named.conf   -BIND服务主配置文件
/var/named        -zone文件 (域相关的文件)

如果安装了bind-chroot BIND会被封装到一个伪根目录内 配置文件的位置变为(伪根 目录):

搭建DNS服务器的那些知识「建议收藏」

chroot是通过将相关文件封装在一个伪根目录内,已达到安全防护的目的,一旦该程序被攻破 将只能访问伪根目录内的内容,而不是真正的根目录。

3.BIND配置文件:

不同与其他服务 BIND在安装完后不会有预置的配置文件 但是在BIND的文档文件夹内(/usr/share/doc/bind-9.8.2)BIND为我们提供了配置文件模板 可以直接拷贝过来

cp -rv /usr/share/doc/bind-9.8.2/sample/etc/*  /var/named/chroot/etc
cp -rv /usr/share/doc/bind-9.8.2/sample/var/*  /var/named/chroot/var

4.修改主配置文件:

cd /var/named/chroot/etc
vi named.conf

只保留最简洁最基本的内容:

options{
    directory               "/var/named";
    listen-on  port  53     {127.0.0.1} ;
}

5.配置为域主服务器:

5.1添加域的定义:

在bind的主配置文件中添加域:

vi /var/named/chroot/etc/named.conf

在主配置文件中添加一行域的zone定义:

zone "swx.tech"{
	type  master;            #主服务器
	file  "swx.tech.zone"   #定义域的文件名 会自动寻找这个文件
}

5.2创建zone配置文件:

vi /var/named/chroot/var/named/swx.tech.zone

zone文件内容复杂  一般使用默认给的文件named.localhost作为模板 然后重命名为swx.tech.zone

cp named.localhost swx.tech.zone

添加一个资源记录:

#名称     #internet  #类型(ipv4地址)           #ip地址
www          IN          A                 192.168.10.10

5.3启动BIND服务器或刷新配置:

service named start
service named reload

5.4.将本机的dns配置指向本机:

vi   /etc/resolv.conf:

nameserve 127.0.0.1

5.5使用host或dig验证dns的配置:

host dmsd.tech
dig dmsd.tech

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196953.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Linux服务器集群_rtmp服务器集群

    Linux服务器集群_rtmp服务器集群Reference: http://www.linuxvirtualserver.org/zh/lvs1.htmlLVS项目介绍章文嵩 (wensong@linux-vs.or

  • linux x11vnc,X11vnc (简体中文)[通俗易懂]

    linux x11vnc,X11vnc (简体中文)[通俗易懂]WARNING:这将建立一个没有密码的VNC.意思是任何人都可以通过网络访问你的VNC并且能看到你的X界面.可以非常简单的通过SSH连接来避免这样的事情.设置x11vnc安装pacman-Sx11vnc运行首先你需要运行一个xserver服务器.使用startx或类似的.完成后运行startxx11vnc-display:0-auth~/.Xauthority如果失败,你…

    2022年10月23日
  • linux网络重启失败「建议收藏」

    linux网络重启失败「建议收藏」问题:网络重启失败如下:[root@localhost~]#systemctlrestartnetworkJobfornetwork.servicefailedbecausethecontrolprocessexitedwitherrorcode.See”systemctlstatusnetwork.service”and”journalctl…

    2022年10月21日
  • Python中通过PyPDF2实现PDF拆分「建议收藏」

    Python中通过PyPDF2实现PDF拆分「建议收藏」场景PyPDF2是一个纯pythonPDF库,能够分割、合并、裁剪和转换PDF文件的页面。它还可以向PDF文件中添加自定义数据、查看选项和密码。它可以从PDF检索文本和元数据,还可以将整个文件合并在一起。PyPDF21.26.0文档:https://pythonhosted.org/PyPDF2/实现使用pip安装pypddf2新建merged.pdf有两页…

  • 小程序即时通讯聊天控件(一)

    小程序即时通讯聊天控件(一)小程序即时通讯——文本、语音输入控件(一)集成近期一直在做微信小程序,业务上要求在小程序里实现即时通讯的功能。这部分功能需要用到文本和语音输入及一些语音相关的手势操作。所以我写了一个控件来处理这些操作。控件样式我们先来看下效果目前的功能就是动态图中展示的,我们可以使用这个控件来切换输入方式(文本或语音)、获取到输入的信息、取消语音输入、语音消息录制过短过长的判断(该接口暂时还未开放),支持发送图片和

  • Php公众号40029,网页授权获取微信用户信息错误40029:不合法的oauth_code

    Php公众号40029,网页授权获取微信用户信息错误40029:不合法的oauth_code这几天测试刚完成的网页授权获取微信用户信息功能。在第一步:用户同意授权获取code,通过code获取access_token时,有时会出现40029错误。经过调试,发现问题出现在redirect_uri=REDIRECT_URI当跳转到授权链接后,微信会发出两次转向至redirect_uri的相同请求(两次带进来的code是相同的)。第一次的code后已经成功换取得openid以及access_t…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号