9.DNS服务器和iptables

一、DNS服务器工作原理

DNS域名系统是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人们更方便地访问互联网。简单的说就是完成域名到IP的解析过程,而不是去记32位的IP地址来访问某个网站。
DNS使用TCP和UDP端口53。

1.1 DNS解析过程

  1. 客户机访问某个网站,请求域名解析,首先会查找本地HOST文件,如果有相应域名和IP记录,则直接返回给客户机。如果没有则将请求发送给本地的域名服务器。
  2. 本地DNS服务器如能够解析该请求,则将答案返回。
  3. 本地DNS服务器不能解析该请求,则会进行递归解析或迭代解析,得到最终的肯定或否定的结果后转交给客户机。

1.2 DNS查询类型

  1. 递归查询:
    一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。
  2. 迭代查询:
    一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如若对方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,,查询结果一般需要发起多次查询。

1.3 搭建主-从DNS服务器

实验目标:搭建DNS主从服务器架构,实现DNS服务冗余。
实验环境:

  • DNS主服务器:192.168.1.41
  • DNS从服务器:192.168.1.42
  • WWW服务器:192.168.1.30
  • DNS客户机:192.168.1.31
1.3.1 主服务器配置
  1. 修改主配置文件 (注释以下两边,打开侦听端口)

     // listen-on port 53 { 127.0.0.1; };
     // allow-query { localhost; };
     
     allow-transfer { 192.168.1.42; };   #只允许从服务器进行区域传输
    
  2. 定义区域(添加以下内容)

     zone "jiangde.org" IN {
     	type master;
     	file "jiangde.org.zone";
     };
    
  3. 定义区域解析库文件

[root@localhost named]# cat  /var/named/jiangde.org.zone
$TTL 1D
@       IN SOA  master admin.jiangde.org. (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

        NS      master
        NS      slave
master  A       192.168.1.41
slave   A       192.168.1.42
www     A       192.168.1.30
[root@localhost named]#
[root@localhost named]# ll /var/named/jiangde.org.zone   #注意该文件的权限
-rw-r----- 1 root named 216 Mar 17 17:01 /var/named/jiangde.org.zone
  1. 启动服务
[root@localhost named]# named-checkconf   #没有输出就是语法正确
[root@localhost named]# named-checkzone jiangde.org /var/named/jiangde.org.zone
zone jiangde.org/IN: loaded serial 1
OK
[root@localhost named]#
[root@localhost named]# systemctl start named
[root@localhost named]# ss -ntl
State             Recv-Q            Send-Q                         Local Address:Port                         Peer Address:Port
LISTEN            0                 10                              192.168.1.41:53                                0.0.0.0:*
LISTEN            0                 10                                 127.0.0.1:53                                0.0.0.0:*
LISTEN            0                 128                                  0.0.0.0:22                                0.0.0.0:*
LISTEN            0                 128                                127.0.0.1:953                               0.0.0.0:*
LISTEN            0                 10                                     [::1]:53                                   [::]:*
LISTEN            0                 128                                     [::]:22                                   [::]:*
LISTEN            0                 128                                    [::1]:953                                  [::]:*
[root@localhost named]#
1.3.2 从服务器配置
  1. 修改主配置文件 (vi /etc/named.conf ,注释以下两条,打开侦听端口)

     // listen-on port 53 { 127.0.0.1; };
     // allow-query { localhost; };
     
     allow-transfer { none; };   #不允许其它主机进行区域传输
    
  2. 定义区域(vi /etc/named-rfc1912.zones 添加以下内容)

     zone "jiangde.org" IN {
     	type slave;
     	masters { 192.168.1.41; };
     	file "slaves/jiangde.org.zone.slave";
     };
    
  3. 启动服务,并确认是否生成区域数据库

[root@localhost named]# systemctl start named
[root@localhost named]# ll /var/named/slaves/
total 4
-rw-r--r-- 1 named named 328 Mar 17 18:57 jiangde.org.zone.slave
[root@localhost named]#
1.3.3 web服务
[root@centos7 html]# hostname -I
192.168.1.30 2409:8a55:475:3280:20c:29ff:fe90:5d8
[root@centos7 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2022-03-17 14:59:29 CST; 47min ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 995 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)
 Main PID: 754 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─ 754 /usr/sbin/httpd -DFOREGROUND
           ├─1020 /usr/sbin/httpd -DFOREGROUND
           ├─1021 /usr/sbin/httpd -DFOREGROUND
           ├─1022 /usr/sbin/httpd -DFOREGROUND
           ├─1023 /usr/sbin/httpd -DFOREGROUND
           └─1024 /usr/sbin/httpd -DFOREGROUND

Mar 17 14:59:14 centos7.jiangde.com systemd[1]: Starting The Apache HTTP Server...
Mar 17 14:59:29 centos7.jiangde.com systemd[1]: Started The Apache HTTP Server.
Mar 17 15:34:02 centos7.jiangde.com systemd[1]: Reloading The Apache HTTP Server.
Mar 17 15:34:07 centos7.jiangde.com systemd[1]: Reloaded The Apache HTTP Server.
[root@centos7 ~
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值