Red Hat Bugzilla – Bug 996995
adcli does not fall back to IPv4 when IPv6 is not responding
Last modified: 2014-06-13 06:29:22 EDT
Created attachment 786528 [details]
packets captured by wireshark
Description of problem:
When an AD has booth IPv4 and IPv6 addresses configured but IPv6 is not reachable on the network adcli join does not work. It tries to connect to ldap on IPv6 address but does not fall back to IPv4 (refer to the attached network capture).
It should work as for example realmd discover does, i.e. it tries all addresses received from DNS and uses the one that responds (in this case IPv4).
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install a Microsoft AD with booth IPv4 and IPv6
2. Block the IPv6 traffic in the way between the AD and the client
3. Try to join via adcli
Interesting. Could you attach --verbose output of the command? As well as the exact adcli command you ran as well?
Looks like this should be fixed both by:
1) adcli discovery should try all the addresses
2) realmd should pass the address it discovers to adcli explicitly
realmd patch upstream: https://bugs.freedesktop.org/show_bug.cgi?id=68111
Since we're now passing the server address between processes on the command line in a --domain-controller agrument, this means that IPv6 testing is relevant here.
I've chosen to fix this in realmd by passing the server address to adcli explicitly when calling through. There is also an upstream bug for the adcli discovery fix. However fixing adcli will be more invasive, and therefore for RHEL 7.0, I think the realmd fix is appropriate.
(In reply to Stef Walter from comment #11)
> I've chosen to fix this in realmd by passing the server address to adcli
> explicitly when calling through.
Which address is passed to adcli when there are more addresses available (typically IPv4 and IPv6)? All is tried until succeeded?
(In reply to Patrik Kis from comment #12)
> Which address is passed to adcli when there are more addresses available
> (typically IPv4 and IPv6)? All is tried until succeeded?
During discovery we might contact mutliple servers, the first to reply with the necessary data and meet join criteria is chosen as the preferred server. This preferred server is passed to adcli.
This request was resolved in Red Hat Enterprise Linux 7.0.
Contact your manager or support representative in case you have further questions about the request.