动态ip

>

代理ip软件

>

换ip软件

>

HTTP代理

>
Socks5代理
黑核动态ip代理
您的位置: 首页 > 新闻资讯 > 正文

Linux域名解析中的IP地址选择“亲和性”问题

发布时间:2019-12-21 14:12:03 来源:黑核动态ip代理

分享到

  问题初现

  最早发现问题时是在做一个测试,把某个域名解析到内网的几台机器上(10.0.0.9和10.0.0.119),结果用客户端(10.0.0.200和10.0.0.201,都由于特殊原因没有关掉IPv6)去连接测试时发现,连接都跑到10.0.0.119上了,10.0.0.9上几乎没有连接!

  问题原因

  网上Google了一下,据说是新的域名解析系统调用getaddrinfo()加入了对rfc3484的支持导致的,这种支持会将DNS服务器返回某个域名的多个IP(顺序随机),按照一定的逻辑排序后再返回,这样的话由于客户端一般都会取第一个IP,所以我们看到的结果就是某个客户端老连一个IP。

Linux域名解析中的IP地址选择“亲和性”问题

  至于rfc3484中涉及到的排序逻辑,我的理解大概是优先返回跟客户端“最近”的IP地址(具体算法肯定远比这个复杂,但大概就是这个意思,所以我把rfc3484引入的这个问题称之为“亲和性”问题)。

  我们的客户端的IP是10.0.0.200和10.0.0.201,显然离10.0.0.119比离10.0.0.9更“近”,所以,连接都跑10.0.0.119上去了,10.0.0.9上几乎没有连接。

  解决方法

  强制使用老系统调用:gethostbyname

  系统里干掉IPv6

  当然是第二种方法合适,因为这样我们不用动代码,而只需要配置下环境即可。

  测试求证

  本着打破沙锅问到底的精神,找了个简单程序调用getaddrinfo,并跟进glibc的源代码里看到了getaddrinfo函数执行情况的细节。于是找了两台服务器(用作客户端):

  10.0.0.3(IPv6 enabled)

  10.0.0.233(IPv6 disabled)

  在这两台机器上分别跑gai.c编出来的二进制文件,发现IPv6启用的那台(10.0.0.3)域名解析始终首先返回10.0.0.9,而IPv6 disabled的那台(10.0.0.233)却一会儿首先返回10.0.0.119,一会儿又首先返回10.0.0.9。

  附录

  例程getaddrinfo.c

  这个例程是网上翻出来的,连文件名、版权注释都没改。:)

Linux域名解析中的IP地址选择“亲和性”问题

Linux域名解析中的IP地址选择“亲和性”问题

  测试程序运行

  安装软件

Linux域名解析中的IP地址选择“亲和性”问题

  这里因为我的glibc版本是2.12-1.166.el6_7.3

  编译参数

Linux域名解析中的IP地址选择“亲和性”问题

  gdb跟踪

  发现在glibc源代码里,/usr/src/debug/glibc-2.12-2-gc4ccff1/sysdeps/posix/getaddrinfo.c文件中第2436行和2437行:

Linux域名解析中的IP地址选择“亲和性”问题

  这里的第2437行的函数qsort就是用来做排序的,前面的判断条件in6ai!=NULL在有IPv6的环境里成立;反之在仅有IPv4的环境里不成立。这也就是干掉IPv6会直接规避掉这个大“坑”的直接原因。


相关资讯

不知道怎么样修改ip地址可以用黑核混拨IP软件

现在做推广越来越难做了,动不动就被封号,要么就是一个IP只能登陆一个账号,这就尴尬了,如果只用一个账号推广根本不见效啊,或者说见效也效果不大,只能大批量的做推广

来源:黑核混拨ip加速器网

2018-12-25 16:28:24

黑核混拨IP加速器让你知道如何改变ip地址

被论坛禁言了?玩游戏作弊,被封号了?被人屏蔽IP是件很让人不爽的事情,平时正忙的时候被封禁,会有种天塌下来的感觉。如何改变ip地址成了我们比做的事情,不改变IP

来源:黑核混拨ip加速器网

2018-12-25 16:58:44

黑核混拨IP加速器轻松解决怎么修改手机ip地址问题

有些视频播放站很坑,一天只能观看几个视频就需要开通会员才能看了,但是我们又不想冲会员怎么办,那就需要修改手机IP地址了,但是怎么修改手机IP地址呢?不是谁都懂的

来源:黑核混拨ip加速器网

2018-12-25 17:39:01

还在找ip地址修改器吗?来试试黑核混拨IP加速器吧

国内ip地址修改器顾名思义就是转换自己的IP地址的一个工具或者一款软件,ip地址修改用哪些工具好处呢,因为工作或者个人需求,修改IP后可以注册一些限制IP注册的

来源:黑核混拨ip加速器网

2018-12-25 18:13:13

什么是ip代理软件?可以修改ip地址吗?

经常碰到朋友问,代理IP是做啥的,有什么用。我对他一顿解释,然后他还是云里雾里,好吧,可能是我口才不好,这里写文再解释下。代理IP对于很多人来说,用处很大,他们

来源:黑核混拨ip加速器网

2018-12-27 17:27:18

实用https代理服务器别人能查到真实地址吗

现在,高匿代理ip时代已经到来,但是,还是有很多人不了解高匿代理ip到底有什么用,虽然随着网络科技的发展,网络对我们的生活带来了很多方便,也带来了更多的选择,网

来源:黑核混拨ip加速器网

2018-12-28 17:02:47

如何修改ip地址?修改ip地址的方法有哪些?

许多人在工作生活中经常需要用到换IP,比如帮朋友投票,刷单,做网络推广等等。大量的工作需要换IP,单单靠手动切换IP的方法比较耗时间,效果也不好,那么如何更换I

来源:黑核混拨ip加速器网

2018-12-29 13:48:40

如何判断代理服务器列表中的好坏?

如何判断代理服务器列表中的好坏?基本上一个较为正规或成熟的代理服务器平台,他们都会有专业的技术团队和客服售后,而且这些很容易使他们的综合水平考察范围,因此我们可

来源:黑核混拨ip代理

2019-03-28 16:40:53

Linux域名解析中的IP地址选择“亲和性”问题

问题初现最早发现问题时是在做一个测试,把某个域名解析到内网的几台机器上(10.0.0.9和10.0.0.119),结果用客户端(10.0.0.200和10.0.

来源:黑核动态ip代理

2019-12-21 14:12:03

深入浅出反向代理服务器“Nginx”

Nginx("enginex")是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型

来源:黑核动态ip代理

2019-11-15 10:08:29

解析IP地址、子网掩码、网关的关系

子网掩码是每个网管必须要掌握的基础知识,只有掌握它,才能够真正理解TCP/IP协议的设置。以下就由黑核动态ip代理来深入浅出地讲解什么是子网掩码。IP地址的结构

来源:黑核动态ip代理

2019-04-08 15:22:44

在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
客服电话
13318873961