搭建最基础的DNS服务

服务器 数据中心
为了更方便和清晰的了解DNS的作用,通过搭建一个简单的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地址,传递给客户端,并留下记录,方便以后访问。

[[199223]]

简单模拟一个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 

 

责任编辑:武晓燕
相关推荐

2020-12-29 10:08:37

Zookeeper服务器运维

2009-09-03 15:19:06

RHEL5下DNS服务器红帽

2018-05-02 15:20:53

DNS服务内网

2009-10-10 14:54:38

RHEL 5搭建DNS

2017-05-16 14:47:23

2019-01-15 08:12:56

Linux服务器标配

2020-10-19 09:22:55

服务器LinuxDNS

2013-07-16 14:44:43

Ubuntutftp服务器

2009-10-08 13:00:17

RHEL5.4评测

2012-05-09 10:33:56

RHEL5.7DNS服务器

2018-04-13 09:39:03

2010-01-23 20:57:48

2013-05-14 11:22:48

路由器DNSDHCP

2009-11-23 17:23:59

DNS服务器内部建立

2010-09-27 14:10:29

DNS协议简介

2021-11-25 19:26:23

服务器

2022-01-20 11:48:56

网络安全网络攻击

2010-06-21 21:13:09

RIP协议

2023-08-27 21:47:15

点赞
收藏

51CTO技术栈公众号