搭建最基础的DNS服务

简介:

搭建一个简单的DNS

为了更方便和清晰的了解DNS的作用,通过搭建一个简单的DNS服务来学习。

在搭建之前,先简单了解一下DNS的工作原理

  1. 客户端把访问的域名传递给DNS服务器a,如果有记录,则将IP传递给客户端
  2. DNS服务器a没有记录,则以 递归方式 访问其他服务器。首先访问根域
  3. 根域将匹配的一级域名DNS服务器b地址传递给DNS服务器a
  4. DNS服务器a再去访问DNS服务器b,DNS服务器b再将匹配的二级域名DNS服务器c传递给DNS服务器a
  5. DNS服务器a再去访问DNS服务器c,重复以上3,4步骤
  6. DNS服务器a得到客户端要访问域名的ip地址,传递给客户端,并留下记录,方便以后访问。

简单模拟一个DNS工作

1.准备两台终端,客户端,服务器。

这里我以Centos6.9为客户端,Centos7.3位服务器。

2.在服务端安装bind(提供DNS服务的软件)


 
 
  1. [root@centos7 named]# yum -y install bind 
  2. Loaded plugins: fastestmirror, langpacks 
  3. Loading mirror speeds from cached hostfile 
  4.  * base: mirrors.163.com 
  5.  * extras: mirrors.163.com 
  6. * updates: mirrors.btte.net 
  7.  
  8. Resolving Dependencies 
  9. --> Running transaction check 
  10. ---> Package bind.x86_64 32:9.9.4-50.el7_3.1 will be installed 
  11. --> Finished Dependency Resolution 
  12.  
  13. Dependencies Resolved 
  14.  
  15. ================================================================================================== 
  16.  Package          Arch               Version                            Repository           Size 
  17. ================================================================================================== 
  18. Installing: 
  19. bind             x86_64             32:9.9.4-50.el7_3.1                updates             1.8 M 
  20. Transaction Summary 
  21.  
  22. ================================================================================================== 
  23. Install  1 Package 
  24.  
  25. Total download size: 1.8 M 
  26. Installed size: 4.3 M 
  27. Downloading packages: 
  28. bind-9.9.4-50.el7_3.1.x86_64.rpm                                           | 1.8 MB  00:00:01      
  29. Running transaction check 
  30. Running transaction test 
  31. Transaction test succeeded 
  32. Running transaction 
  33.   Installing : 32:bind-9.9.4-50.el7_3.1.x86_64                                                1/1  
  34.   Verifying  : 32:bind-9.9.4-50.el7_3.1.x86_64                                                1/1  
  35.  
  36. Installed: 
  37.  bind.x86_64 32:9.9.4-50.el7_3.1                                                                  
  38.  
  39. Complete!`  

3.关闭linux安全策略和防火墙

1).服务器–Centos7


 
 
  1. sed -i ‘s/SELINUX=enforcing/SELINUX=permissive/g’ /etc/selinux/config 
  2. iptables -F 
  3. systemctl disable firewalld 
  4. systemctl stop firewalld 

2).客户端–Centos6


 
 
  1. sed -i ‘s/SELINUX=enforcing/SELINUX=permissive/g’ /etc/selinux/config  
  2. chkconfig iptables off  
  3. service iptables stop 

检查selinux安全策略是否修改为”允许”

cat /etc/selinux/config

4.启动DNS服务器


 
 
  1. systemctl start named  
  2. systemctl enable named 

启动后确认端口开启(端口号默认为 53)


 
 
  1. ss -nutl 

把服务器53端口绑定在所有服务器ip上


 
 
  1. cd -p /etc/named.conf{,.bak} 

(需要修改陪指文件,建议先备份 )


 
 
  1. vim /etc/named.conf 

修改listen-on port 53 {localhost; }中的localhost

改为any或0.0.0.0或将整行注释


 
 
  1. vim /etc/sysconfig/network-scripts/ifcfg-ens33 

在最后一行加上DNS1=127.0.0.1

重启服务(配置文件生效)


 
 
  1. systemctl restart network 

在客户端(Centos6)配置DNS,指向服务器DNS(Centos7)


 
 
  1. vim /etc/sysconfig/network-scripts/ifcfg-eth0 

最后加上DNS1=172.16.0.24(DNS)


 
 
  1. systemctl restart network 

在服务器(Centos7)配置DNS,允许本地以外的地址访问


 
 
  1. vim /etc/named.conf 

修改allow-query { localhost;any; };

改为any或0.0.0.0或将整行注释

在客户端(Centos6)尝试连接外网


 
 
  1. [root@centos6 ~]# dig www.baidu.com 
  2.  
  3. ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> www.baidu.com 
  4. ;; global options: +cmd 
  5. ;; Got answer: 
  6. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59143 
  7. ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 5 
  8.  
  9. ;; QUESTION SECTION
  10. ;www.baidu.com. IN A 
  11.  
  12. ;; ANSWER SECTION
  13. www.baidu.com. 347 IN CNAME www.a.shifen.com. 
  14. www.a.shifen.com. 43 IN A 61.135.169.121 
  15. www.a.shifen.com. 43 IN A 61.135.169.125 
  16.  
  17. ;; AUTHORITY SECTION
  18. a.shifen.com. 254 IN NS ns1.a.shifen.com. 
  19. a.shifen.com. 254 IN NS ns3.a.shifen.com. 
  20. a.shifen.com. 254 IN NS ns5.a.shifen.com. 
  21. a.shifen.com. 254 IN NS ns2.a.shifen.com. 
  22. a.shifen.com. 254 IN NS ns4.a.shifen.com. 
  23.  
  24. ;; ADDITIONAL SECTION
  25. ns1.a.shifen.com. 254 IN A 61.135.165.224 
  26. ns2.a.shifen.com. 254 IN A 180.149.133.241 
  27. ns3.a.shifen.com. 254 IN A 61.135.162.215 
  28. ns4.a.shifen.com. 254 IN A 115.239.210.176 
  29. ns5.a.shifen.com. 254 IN A 119.75.222.17 
  30.  
  31. ;; Query time: 1 msec 
  32. ;; SERVER: 172.16.0.1#53(172.16.0.1) 
  33. ;; WHEN: Mon Jul 24 14:16:16 2017 
  34. ;; MSG SIZE rcvd: 260 



本文作者:佚名

来源:51CTO

相关文章
|
11月前
|
弹性计算 运维 安全
优化管理与服务:操作系统控制平台的订阅功能解析
本文介绍了如何通过操作系统控制平台提升系统效率,优化资源利用。首先,通过阿里云官方平台开通服务并安装SysOM组件,体验操作系统控制平台的功能。接着,详细讲解了订阅管理功能,包括创建订阅、查看和管理ECS实例的私有YUM仓库权限。订阅私有YUM仓库能够集中管理软件包版本、提升安全性,并提供灵活的配置选项。最后总结指出,使用阿里云的订阅和私有YUM仓库功能,可以提高系统可靠性和运维效率,确保业务顺畅运行。
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
526 3
|
9月前
|
网络协议 安全 Devops
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
382 4
|
自然语言处理 数据可视化 API
淘宝商品评论 API 接口:深度解析用户评论,优化产品与服务
淘宝是领先的中国电商平台,其API为开发者提供商品信息、交易记录及用户评价等数据访问服务。对于获授权的开发者和商家,可通过申请API权限、获取并解析评论数据来进行情感分析和统计,进而优化产品设计、提升服务质量、增强用户互动及调整营销策略。未授权用户可能受限于数据访问。
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
安全 测试技术 数据安全/隐私保护
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
|
域名解析 网络协议
DNS服务工作原理
文章详细介绍了DNS服务的工作原理,包括FQDN的概念、名称解析过程、DNS域名分级策略、根服务器的作用、DNS解析流程中的递归查询和迭代查询,以及为何有时基于IP能访问而基于域名不能访问的原因。
1744 2
DNS服务工作原理
|
弹性计算 自然语言处理 数据可视化
|
自然语言处理 数据可视化 BI
文档解析(大模型版)服务体验评测
体验文档解析(大模型版)服务时,清晰的入门指南、操作手册和FAQ至关重要。若存在不足,需增加直观的操作流程说明(如动画演示)、深化高级功能文档,并提供实时在线支持,帮助用户快速解决问题。
272 11
|
存储 消息中间件 算法
深入解析OpenStack Cinder:块存储服务详解
本文介绍了OpenStack及其块存储服务Cinder。OpenStack是一个开源云计算管理平台,提供基础设施即服务(IaaS),核心服务包括计算、网络、存储等。Cinder主要用于为虚拟机提供持久性块存储,具备多种功能,如卷操作、备份、快照及与实例的交互等。此外,还详细介绍了Cinder的工作流程、命令行操作及不同存储插件的使用。
1987 8

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS