无氧森林

和敬清寂

  • 博客访问: 143820
  • 博文数量: 61
  • 博客积分: 26
  • 博客等级: 民兵
  • 技术积分: 1124
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-23 14:46
个人简介

linux --- 一切皆文件

文章分类

全部博文(61)

文章存档

2017年(3)

2016年(11)

2015年(1)

2014年(2)

2013年(34)

2012年(10)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题
一次dns解析异常排错 2017-09-11 22:37:38

分类: LINUX

现象:业务程序出错,报域名解析失败(找不到域名并不是解析超时),并且是时好时坏。

紧急处理:
  有A,B,C三个机房。每个机房都有自己的bind集群,bind集群递归到电信dns节点。
三个bind集群,A机房解析正常,B,C机房异常。
首先发现异常的两个机房内网解析没问题,说明bind应该正常的,开始怀疑外网DNS问题。
由于A机房是好的,在考虑好的那个机房的负载量能承受的情况下,将B,C机房的bind的forwards配置为A机房,让A机房递归电信dns。

此时问题得到缓解,不报错了。

问题排查:
查看当时pcap抓包报文。发现异常的DNS的reply code,显示No Such Name。
authoritative nameserver中,有SOA类型,权威为ns1.xxx.net。
考虑是否是DDOS防御,超过阈值后清洗直接反弹的报文。
清洗反弹报文种类:
1:直接反弹特定IP A记录
2:反弹域名查询不到错误即No Such Name.
后续联系了权威厂商。确定原因:确实反弹了No Such Name异常。

说明:当权威受到DNS DDOS攻击时,不能简单的丢弃DNS报文,丢弃DNS报文过多,会导致电信Cache DNS将权威踢掉的风险。
因此一般情况下在权威受到DNS DDOS时,清洗设备都会反弹No Such Name的DNS报文或者A记录的DNS报文。

解决方法:
forwards使用AliDNS,223.5.5.5,223.6.6.6高性能DNS
出口NAT网关配置多出口IP,不同IP请求可能会散到不同的权威上。减少异常情况。


tshark过滤dns报文:
   tshark -r recv_pack.pcap -t ad -R "udp.port eq 53 and ip.addr eq x.x.x.x" -w all-dns.pcap
   
   -r    :读取文件
   -t ad:打印年月日,时分秒的时间
   -R :匹配规则。ip.addr eq x.x.x.x包括源目地址。ip.src/ip.dst只匹配源/目IP地址
   -w: 将报文保存到指定文件

将多个pcap合并成一个pcap:
   mergecap -w new.pcap  [all need merge file]
阅读(6) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册