首页 > 其他分享 >记一次线上Alpine容器解析dns失败问题

记一次线上Alpine容器解析dns失败问题

时间:2022-09-06 18:44:59浏览次数:73  
标签:容器 ping 线上 dns 解析 客户端 Alpine

线上业务报错,日志提示不能解析dns,so 开始排查,进入容器执行dig,发现一切正常,然后执行ping,提示:bad address.

开始排查:

1.ping 其他外网地址和内网地址一切正常

2.查看/etc/resolv.conf中配置的nameserver,并用dig @nameserver 手动指定dns服务器去解析方式发现一切正常

3.用其他容器去ping 相同地址发现一切正常,初步怀疑是容器本身问题,查看容器版本: /etc/issue ,发现容器是Alpine(已经开始慌了,因为Alpine之前在线上也遇到过其它奇奇怪怪的问题,alpine用的是musllibc)

4.抓包验证:

 

 

 

 通过上面的信息可以看到客户端向dns服务器解析指定域名,服务端也响应了客户端的请求,但是并没有相应具体记录,在Flags中 Truncated: Message is truncated 为1,证明我们的请求被截断了,具体flags代表什么意义可以查看:https://www.ietf.org/rfc/rfc2181.txt ,查看相应资料发现只要udp请求大于512 字节就会回复截断标志。

5.为了验证我们的猜想,于是我们手动解析了一个测试域名,同时给这个域名解析了32个A记录,然后用alpine镜像去尝试ping

 

 我们得到了相同的报错,于是我们将这个域名的A记录由原来的32个减少到2个,然后再次尝试ping

 

 减少A记录条目后问题解决

查阅相关资料,总结以下解决方案:

1.返回的A记录应该小于512字节,如果真的要返回大量A记录,客户端应该自己实现dns(支持tcp dns的库),而不是依赖操作系统
2.减少dns返回条目
3.更换操作系统
4.解析大于512字节的记录时应使用TCP来解析dns,而不是udp(Alpine不支持tcp解析dns)
5.Alpine社区态度:应该是客户端和dns服务商来解决这个问题,而不应该是操作系统,Alpine不认为这是一个bug,而是一个特性,设置了截断标志,但是响应是空的。本质上是在强迫客户端从UDP升级到TCP,以避免易受攻击或启用DNS放大攻击

总结:线上最好还是不要用Alpine镜像,一大堆问题

标签:容器,ping,线上,dns,解析,客户端,Alpine
From: https://www.cnblogs.com/dufeixiang/p/16662912.html

相关文章

  • 浏览器输入URL发生了什么:DNS解析、TCP握手、HTTP缓存、重定向、服务器状态码、渲染引
    输入地址,浏览器查找域名的IP地址。浏览器向该IP地址的web服务器发送一个HTTP请求,在发送请求之前浏览器和服务器建立TCP的三次握手,判断是否是HTTP缓存,如果是强制......
  • 本地DNS设置
    设置本地DNS缓存修改/etc/hosts文件//立即生效[root@YX-node01group_vars]#cat/etc/hosts127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.l......
  • 佛山复星禅诚医院黄汉森:云边协同,打造线上线下一体化智慧医疗
    近日,阿里云飞天技术峰会在深圳举行,佛山复星禅诚医院副院长黄汉森在峰会的《分布式云最佳实践》分论坛上发表了主题为“云边协同,打造线上线下一体化智慧医疗”的分享,以下是......
  • springboot配置swagger2线上文档
     1、先上项目配置好的swagger2的ui界面:  2、需要swagger2的这两个包:<!--swagger2包--><dependency><groupId>io.springfox</g......
  • bky线上编辑器好难用啊!
    本来这条开始我是想对暑假工作中碰到的一些东西,但是我tm写了半天我改了个编辑器我的东西就全没了,我是真的服啊,我写了二十几分钟的编辑,包括代码图片什么的,我就改了个编辑器......
  • MySQL数据库如何线上修改表结构
    一、MDL元数据锁在修改表结构之前,先来看下可能存在的问题。1、什么是MDL锁MySQL有一个把锁,叫做MDL元数据锁,当对表修改的时候,会自动给表加上这把锁,也就是不需要自己显式......
  • 线上问题如何复盘?
    昨天知识星球社群里有同学问了一个问题:线上问题如何复盘?从流程、分析和后续措施落地有哪些好的建议?从质量保障的角度来说,针对线上问题进行复盘可以发现工作中的不足并持......
  • 糟糕!线上系统频繁报错,MySQL严重死锁
    目录:MySQL都有什么锁什么情况下会造成死锁常见的死锁案例1.MySQL都有什么锁MySQL有三种锁的级别:页级、表级、行级。表级锁:开销小,加锁快;不会出现......
  • IPV6+DDNS
    起因nas盒子需要外网访问准备工作光猫桥接+路由器拨号ipv6地址(nas设备)域名ddns(自动解析IPV6到域名)方案1:安装动态解析工具DDNS-GOhttps://bbs.histb.com/d......
  • 线上非遗全景展馆制作让广大市民在家能享受到精美的文化大餐
    随着线上虚拟艺术展厅的宣传效果显著,加上实体艺术展馆开放受限等外部因素影响。越来越多的艺术机构和艺术家选择“线上艺术展厅”,举办艺术作品展、艺术拍卖会和艺术文......