DNS是什么?DNS与服务器搭建解析
DNS(Domain Name System)域名系统,也就是把某个网址解析成 ip 的服务,对于私有云的方案,有可能会自建 DNS 服务器,这样可以让所有的配置文件都以域名的形式存在,自动化部署的时候就不需要因为 ip 不同而改动太多的环境变量,是不是很方便?
当然了,这种方式如果你在替换了别人的首选DNS服务器,把一些网站流量转发过来,自己做一个假网站来骗别人的密码什么的,是不是很爽?
PS: 本节内容如有名词听不懂可以拉到最后看名词解释
DNS 基本概念
本节概念,如果已知可以直接跳到 搭建 DNS 服务器
其实不管是开发还是运维,多少都接触过DNS,一个域名长这样,一个点一个域,最多四个域,用域名也就是一个字符串来标记一个网址的方式,是为了让人更好记,计算机才不在乎是ip还是用域名呢!
顶级域又可以分为三类:
通用顶级域(.com 商业机构,.org 非营利性组织,.net 网络服务机构等)
国家顶级域(.cn 中国,.uk 英国,.us 美国,.jp 日本)
反向域(基础建设顶级域,.arpa)
我们如果自己注册一个域名,完全不用在乎用哪个顶级域名,只是一个潜规则,给别人知道大概你的网站可能有什么用,我们通常在ICP那里申请的域名是二级域名,申请下来以后就可以随意自己加三级、四级域名,因为很多人顶级域名是一样的,申请的是二级域名,然后所有的三级四级域名你都可以自己加,都属于你,按这种逻辑来看域名系统就像一颗树
我们任何人都可以申请域名,只要花几十块钱就可以用他来搭网站,比如我在腾讯云上申请的域名 coding3min.com 就是 60 块一年的。
域名解析的过程
域名解析有多种类型,www、@、*、mail、二级域名、手机网站对应不同的用法。
可以在腾讯云上看到提示,通常www为前缀的是主域名,但是输入麻烦,我把他重定向到了coding3min.com上,也就是@方式,各个的作用看上图。
记录类型又分为下面这几种
常用的是A类型,直接指向一个服务器的 ip,CNAME类型是指向另一个域名,比如我们用github给我们提供的表态网站服务就可以搭建起来一个免费的博客会提供一个域名用来中转,我们也可以借助自己的域名来解析到MX类型,搭建自己后缀的邮件服务器。
下面是一个详细的域名解析过程,划重点!这里考试要考
如上图,
在浏览器中输入www.baidu.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个 IP 地址映射,完成域名解析。
如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地 DNS 服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地 DNS 服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至 “根DNS服务器”,“根DNS服务器”收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个 IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(baidu.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找baidu.com域服务器,重复上面的动作,进行查询,直至找到www.baidu.com主机。
如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根 DNS 或把转请求转至上上级,以此循环。
不管是本地 DNS 服务器
用还是转发,还是根提示,最后都是把结果返回给本地 DNS 服务器,由此 DNS 服务器再返回给客户机。
DNS 查询方式包含递归和迭代,解析方式包含正向解析和反向解析。我们知道了原理,实战一下看看吧!
搭建本地 DNS 服务器
如果你用的是kubernetes来部署服务,他的kube-dns组件会自动做好域名解析,让服务和服务之间用特定的名称规则自动完成服务发现。
DNS 只是一种协议,真正提供服务的是 bind 软件,因此,现在来安装它:
sudoyuminstallbind-utilsbindbind-chroot
安装后有几个目录或文件是需要记得的:
/etc/named.conf: 主配置文件
/etc/sysconfig/named: 配置是否启动 chroot 及额外的参数
/var/named: 数据库文件存放目录,存放主机名对应 ip 的文件
/var/run/named: named 程序执行时 pid-file 文件存放目录(在 ubuntu 系统中,目录为/run/named)
知道了这几个重要配置文件和目录后,下面开始配置,我们把baidu.com的流量劫持了试试看
修改配置文件前一个重要习惯是先复制一份,这样改错了方便恢复。
改主配置文件 named.conf,找到相应的配置位置,改成我这个
listen-onport53{any;};
listen-on-v6port53{any;};
allow-query{any;};
recursionyes;
意思是开放 53 号端口对于任意地址的监听,允许所有主机对我们进行访问,拒绝递归查询方式,使用迭代查询方式,增加资源利用率。
拉到底部可以看到 include 了这个配置文件,你可以在里面对正解(反解)区域进行定义。
include"/etc/named.rfc1912.zones";
在/etc/named.rfc1912.zones底部添加如下内容。
zone"baidu.com"IN{//一级域名为.com、二级域名为.baidu
typemaster;//类型为主DNS服务器
file"named.baidu.com";//指向正解文件为/var/named/named.baidu.com
};
修改/var/named/named.baidu.com文件如下,其中127.0.0.1这个 ip 你可以改成你想要的。
$TTL600;定义下列所有记录缓存在客户端的时间
@INSOAdns.yu.com.root.localhost(
0;serial#序列号,用于主从dns中判断是否为最新版本
1H;refresh#一小时更新一次
15M;retry#若连接不上,等待15分钟后重新尝试连接
1W;expire#超过一周仍无法下载便放弃下载
3D);minimum#客户端找服务端做dns解析时,否定答案的缓存时间为3天
@INNSdns.baidu.com.;NS记录表明了dns服务器的SDQN为dns.baidu.com.
dns.baidu.com.INA127.0.0.1;下面三条A记录表明了域内主机的IP地址
www.baidu.com.INA127.0.0.1
ftpINA127.0.0.1
重启服务,检查 SELinux 并开启防火墙的 dns 服务
systemctlrestartnamed#重启服务
setenforce0#关闭SELinux
firewall-cmd--add-service=dns#开启防火墙的dns服务
修改 DNS 服务器指向
在linux中,DNS服务器指向的配置有固定的文件,如下文件就有一个主服务器,一个备服务器,等搭建好DNS服务器后就是改这个文件。
$cat/etc/resolv.conf
nameserver192.168.3.1
nameserver114.114.114.114
测试
pingwww.baidu.com
PINGwww.baidu.com(127.0.0.1)56(84)bytesofdata.
64bytesfromVM-0-11-centos(127.0.0.1):icmp_seq=1ttl=64time=0.006ms
64bytesfromVM-0-11-centos(127.0.0.1):icmp_seq=2ttl=64time=0.021ms
^C
---www.baidu.compingstatistics---
2packetstransmitted,2received,0%packetloss,time999ms
rttmin/avg/max/mdev=0.006/0.013/0.021/0.008ms
也可以用nslookup来查看域名的解析,如果改完了新的DNS服务器的位置就可以用这个命令来查询。
$nslookupcoding3min.com
Server:192.168.3.1
Address:192.168.3.1#53
Non-authoritativeanswer:
coding3min.comcanonicalname=coding3min.com.cdn.dnsv1.com.
coding3min.com.cdn.dnsv1.comcanonicalname=6yucorit.dispatch.spcdntip.com.
Name:6yucorit.dispatch.spcdntip.com
Address:112.67.251.116
Name:6yucorit.dispatch.spcdntip.com
Address:113.105.165.183
Name:6yucorit.dispatch.spcdntip.com
Address:113.96.98.77
Name:6yucorit.dispatch.spcdntip.com
Address:125.78.252.121
Server 后的就是DNS服务器的地址
因为我用了CDN,所以DNS解析出了多个地址,下面的Address比如112.67.251.116就是解析出来的真实ip
DNS协议运行在UDP协议之上,因此使用的53号端口,当没有办法查询到完整的信息时,就会再次以 TCP 协议来查询,因此,防火墙需要放行TCP、UDP的 53 号端口,端口号可以在/etc/services文件查看到:
cat/etc/services|grepdomain
domain53/tcp#name-domainserver
domain53/udp
domaintime9909/tcp#domaintime
domaintime9909/udp#domaintime
名词解释
DNS 服务器:运行 DNS 服务器程序的计算机,存储 DNS 数据库信息。
DNS 缓存:DNS 服务器在解析客户机的域名请求时,如果本地没有该域名的记录,则会询问其它 DNS 服务器,当其它域名将解析结果返回给 DNS 服务器时,DNS 将对应的记录保存在本地,生成 DNS 缓存,当下一次客户机再次请求时,DNS 服务器则可以直接使用缓存中的 DNS 记录。
DNS 查询方式:递归查询和迭代查询
递归查询:当客户机向 DNS 服务器发起域名解析请求时,DNS 服务器首先查看自己本机的 DNS 记录,如果没有则会向其它 DNS 服务器发起解析请求。迭代查询:当客户机向 DNS 服务器发起域名解析请求时,DNS 服务器不会给客户机解析地址,而是告诉客户机另外一台 DNS 服务器,客户机再向这台服务器发起地址解析请求。
正向解析和反向解析正向解析:指域名解析到 IP 地址的解析过程。反向解析:指 IP 地址解析到域名的解析过程。
标签: 服务器搭建解析 DNS与服务器搭建解析 域名系统
相关推荐:
最新新闻:
- DNS是什么?DNS与服务器搭建解析
- 金士顿u盘怎么样?爱国者和闪迪哪个好?
- 如何编辑(修改)Boot.ini文件?编辑Boot.ini文件方法
- 远程桌面连接不上是什么原因?连不上的解决方法
- 进程管理器是什么?win10进程管理器怎么打开?
- 当前速递!Nature一次次发邀约信,被他误以为是学术诈骗……
- 【当前独家】清版动作冒险游戏《Troublemaker》Steam特别好评
- 《猫眼三姐妹》将改编为真人剧 法国拍摄年内开播
- 2D和3D玩法的《星之卡比》新作都在开发商计划内
- 一个时代将落幕 IGN盘点历届E3伟大时刻
- 北京国安俱乐部举办新援见面会,7名球员亮相
- 世界聚焦:《生化危机4RE》中艾什莉实惨 被敌人各种击飞
- 环球微动态丨坂本龙一去世登微博热搜 网友:相信天堂一切都好
- 如何成为一名优秀的产品经理?这四步很重要
- 天天简讯:userdata.dll丢失怎么办?解决方法来了
- 怎么设置excel2007冻结窗口?excel2007冻结窗口设置方法:环球热消息
- 安妮·海瑟薇最新代言写真 吊带短裙风格大胆_天天动态
- 天天快资讯丨欧几里德几何的多目标优化自适应进化算法——AGE-II
- 天天快播:MySQL单表数据量大于2000W行 性能会明显下降吗?
- 天天速讯:【数据分析】如何快速实现API和数据接口的调用?
- 固态存储设备要擦除哪些数据的SATAm指令?详情介绍 环球快报
- Delphi多线程同步处理方案 delphi多线程详解及其详解例子|环球热资讯
- 漫威剧集《秘密入侵》发布首张海报 敌我难辨-今日看点
- 永恒之塔无法连接到认证服务器怎么办?解决方法步骤
- SSD的TRIM功能有什么作用?固态存储设备要擦除哪些数据的SATAm指令?
- 科技创新赋能美好出行 雅迪助力电动车行业高质量发展
- 天涯明月刀:1月第1批天涯合璧-数据互通(合服)即将启动-环球新资讯
- 世界快消息!天堂2服务端服务器名字修改?制作天堂2鼠标指针和蓝色长方形条的教程
- SIS与ESD、DCS、PLC,四者之间有什么关系?一文读懂SIS与DCS的关系:新动态
- 如何发布一个BT种子文件?2个步骤搞定
- 泛海微无线电动牙刷怎么样?无线充电电动牙刷技术介绍 天天讯息
- 《魔兽世界》所改编的网络游戏单机版 你玩过吗?
- 冬季家用洗碗机怎么样?家用洗碗机使用特点
- 斗鱼看不到弹幕怎么办?斗鱼无法看到弹幕的解决方法
- 徕卡镜头有哪些型号?徕卡镜头大全以及报价镜头 每日看点
- 世界速讯:java中的TCP是什么?如何进行通讯?
- 求生之路2怎么局域网联机?局域网联机方法详解
- 三星S5660手机配置怎么样?三星S5660如何设置时间和日期?
- 当前热门:多普达手机如何鉴别?多普达手机行货验证介绍
- 世界今亮点!QQ网络硬盘在哪?如何添加QQ界面?
- 对象优先在eden区分配内存吗?堆中分配内存的对象有哪些?
- 每日视讯:Sora套装 迪卡侬入门公路3949元
- 当前报道:如何设置默认浏览器?谷歌浏览器设置默认Tip流程
- 焦点速递!什么是SEM?SEM和SEM有什么区别?
- 世界短讯!【pycharm】1.8.0+cuda111的运行环境
- 599美元香吗?RTX4070价格泄露
- 今日热搜:华为g525可以刷鸿蒙系统吗?华为g525强刷官方rom系统的教程
- 戴尔笔记本电脑多少钱?戴尔笔记本电脑价格大全 热消息
- 环球快资讯:网站服务器如何防御ddos攻击?教你一招
- ChatGPT对手 Bard将大幅度升级_环球热点评
- 焦点热讯:iPhone5怎么升级ios7?8款苹果设备升级更新
- 今日热搜:华为g525可以刷鸿蒙系统吗?华为g525强刷官方rom系统的教程
- 时讯:ppt中的控件工具箱——ShockwaveFlash
- 当前报道:如何设置默认浏览器?谷歌浏览器设置默认Tip流程
- 互联网广告表现形式有哪些?一文读懂互联网广告分类及收费方式-焦点快看
- 驱动到底是什么?我们应该如何安装和更新驱动?
- 商标买卖网站哪个靠谱?尚标商标转让网商标购买平台-天天关注
- 热推荐:动态语言:C、PHP、Perl、Ruby哪个更适合你?
- yydsNginx–无root权限安装(内网安装)
- 慧通V8机动车检测站收费管理软件 实现数据电子化|天天热头条
- 焦点速递!什么是SEM?SEM和SEM有什么区别?
- 焦点快看:CSS文件中的中文字体名称怎么写?CSS常用的中文字体名称对照表
- SEO优化中如何利用爱站工具去分析搜索引擎蜘蛛?
- 焦点简讯:【技术】空间光调制器与激光加工技术的应用介绍
- 【世界新视野】Windows生态系统:限制用户的应用程序
- 世界要闻:三极管进入截止区与饱和区的条件及制作方法
- 每日看点!CentOS怎么升级Proftpd?CentOS升级Proftpd教程
- 安卓设备的USB周边和安卓USB配件如何调试?具体操作方法
- ClamAV病毒扫描工具怎么安装?ClamAV3.扫描工具安装使用教程
- 每日动态!解析ElasticSearch ElasticSearch字段类型解析
- 世界短讯!【pycharm】1.8.0+cuda111的运行环境
- 索尼新蓝牙耳机曝光!售价120欧 满电续航20小时 环球观点
- 全球新消息丨愚人节整活:卡普空推出猫猫专用《街霸6》对战设备
- PS开始在家电领域与Xbox竞争 PS愚人节视频公开 环球头条
- 《原神》公布3.6版本「盛典与慧业」4月12日上线 看点