11.2 DNS

1. 域名劫持的解决办法

域名劫持就是在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把目标网站域名解析到错误的地址,造成客户端不能访问特定的网址或者访问假的网址。

域名劫持一方面可能把用户引到假冒的网站进而无法正常浏览网页;另一方面用户可能被诱骗到冒牌网站进行登录等操作导致泄露隐私数据。

如果发生域名劫持,解决方法:

1. 删除不属于你的DNS解析,恢复DNS设置

2. 关闭泛域名解析

3. 立即修改域名服务商和邮箱密码,使用复杂度高的密码且经常更换

4. 使用第三方DNS服务,应立即修改第三方DNS服务端帐户密码,锁定帐户信息,开启帐户短信邮箱类提醒。

5. 由于域名劫持往往只能在特定的被劫持的网络范围内进行,所以在此范围外的域名服务器(DNS)能够返回正常的IP地址,用户可以在网络设置把DNS指向这些正常的域名服务器以实现对网址的正常访问。

 

https://blog.csdn.net/qq_42169463/article/details/80250000

 

2. 描述dns的递归查询

客户端向本地DNS服务器发送域名解析请求,本地服务器查询自己的数据库,如果查询到域名对应的网址,则把网址直接返回给客户端,域名解析成功;如果在自己的数据库查询不到结果,本地DNS服务器就去查询根域名服务器、顶级域名服务器、二级域名服务器等,一级一级查询,并把查询到的结果返回给客户端,域名解析成功。这个DNS服务器所做的查询就叫做递归查询。

 

3. DNS工作原理详细解析

DNS工作原理:

  第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

  第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。

  第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址。

  第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。

  第五步:重复第四步,直到找到正确的纪录。

  第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

 

4. dns区域转发与全局转发区别与实现方法

(1) 全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器,在配置文件/etc/named.conf中做如下配置:

Options {
forward  first|only;
forwarders { ip;};
};

(2) 特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高,在配置文件/etc/named.conf中做如下配置:

 

zone "ZONE_NAME" IN {
type forward;
forward  first|only;
forwarders { ip;};
};

注意:以上都需要关闭dnssec功能。

 

5. 实现智能DNS

 

 

(1) 定义acl和view

vim /etc/named.conf
acl beijingnet {
        192.168.34.0/24;
};
acl shanghainet {
        172.18.0.0/16;
};
acl shenzhennet {
        any;
};
options {

....
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};


include "/etc/named.root.key";
view  view_beijing {
        match-clients { beijingnet;};
        include "/etc/named.rfc1912.zones";
};
view view_shanghai {
         match-clients { shanghainet;};
         include "/etc/named.rfc1912.zones.shanghai";
};
view view_shenzhen {
         match-clients { shenzhennet;};
         include "/etc/named.rfc1912.zones.shenzhen";
};

(2) 定义区域解析库文件

vim /etc/named.rfc1912.zones
zone "." IN {
        type hint;
        file "named.ca";
};

zone "hello.com" {
        type master;
        file "hello.com.zone.bj";                                                                      
};






vim /etc/named.rfc1912.zones.shanghai
zone "." IN {
        type hint;
        file "named.ca";
};
zone "hello.com" {
        type master;
        file "hello.com.zone.sh";                                                                      
};






vim /etc/named.rfc1912.zones.shenzhen
zone "." IN {
        type hint;
        file "named.ca";
};

zone "hello.com" {
        type master;
        file "hello.com.zone.sz";                                                                      
};

(3)准备区域数据库文件

在/etc/named/下面准备三个区域数据库文件,分别为hello.com.zone.bj,hello.com.zone.sh,hello.com.zone.sz,这三个文件的www的地址是不一样的,其他都一样。下面以hello.com.zone.sz为例。

$TTL 86400
@ IN SOA        dns1  admin.hello.com (
                                                2015042201
                                                1H
                                                5M
                                                7D
                                                1D )
  
    shenzhen  NS    dns1
    dns1      IN  A   172.16.100.11
    www       IN CNAME  websrv
    websrv  A    6.6.6.6

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值