Bug#340514: libc6: dns resolver sort ip address list
Package: libc6
Version: 2.3.5-8
Severity: important
Resolver inconditionnaly sort ip address lists defeating DNS round robin
load balancing:
exemple :
first invocation :
efuste@rafale:~$ nslookup http.us.debian.org
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: http.us.debian.org
Address: 204.152.191.7
Name: http.us.debian.org
Address: 216.37.55.114
Name: http.us.debian.org
Address: 35.9.37.225
Name: http.us.debian.org
Address: 64.50.236.52
Name: http.us.debian.org
Address: 128.101.80.133
another one:
efuste@rafale:~$ nslookup http.us.debian.org
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: http.us.debian.org
Address: 128.101.80.133
Name: http.us.debian.org
Address: 204.152.191.7
Name: http.us.debian.org
Address: 216.37.55.114
Name: http.us.debian.org
Address: 35.9.37.225
Name: http.us.debian.org
Address: 64.50.236.52
--> direct DNS Query --> round robin OK
now using the glibc resolver:
efuste@rafale:~$ wget http.us.debian.org
--23:22:40-- http://http.us.debian.org/
=> `index.html'
Resolving http.us.debian.org... 35.9.37.225, 64.50.236.52, 128.101.80.133, ...
Connecting to http.us.debian.org|35.9.37.225|:80...
next try:
efuste@rafale:~$ wget http.us.debian.org
--23:22:44-- http://http.us.debian.org/
=> `index.html.1'
Resolving http.us.debian.org... 35.9.37.225, 64.50.236.52, 128.101.80.133, ...
Connecting to http.us.debian.org|35.9.37.225|:80... connected.
--> address are always sorted and I am sticked to 35.9.37.225
try with telnet :
fuste@rafale:~$ telnet http.us.debian.org 80
Trying 35.9.37.225...
Connected to http.us.debian.org.
Escape character is '^]'.
Connection closed by foreign host.
efuste@rafale:~$ telnet http.us.debian.org 80
Trying 35.9.37.225...
Connected to http.us.debian.org.
Escape character is '^]'.
Connection closed by foreign host.
efuste@rafale:~$ telnet http.us.debian.org 80
Trying 35.9.37.225...
Connected to http.us.debian.org.
Escape character is '^]'.
Connection closed by foreign host.
--> same behaviour
but not with ftp ......?!?!?!
This behaviour defeat the round robin on http.us.debian.org for apt-get
(which is my main concern).
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i586)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14-rc5
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
-- no debconf information
Reply to: