Bug 29606 - Server IP-Adresse per DHCP: Fehler bei DNS-Auflösung bei mehreren IP-Adressen
Server IP-Adresse per DHCP: Fehler bei DNS-Auflösung bei mehreren IP-Adressen
Status: RESOLVED WORKSFORME
Product: UCS
Classification: Unclassified
Component: Network
UCS 3.1
Other Linux
: P5 enhancement (vote)
: ---
Assigned To: UCS maintainers
:
Depends on: 26416
Blocks:
  Show dependency treegraph
 
Reported: 2012-12-06 15:18 CET by Philipp Hahn
Modified: 2018-04-14 13:52 CEST (History)
2 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Troubleshooting
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Hahn univentionstaff 2012-12-06 15:18:06 CET
+++ This bug was initially created as a clone of Bug #26416 +++
/etc/network/if-up.d/90_dns_update_lines benutzt
 ...netcat ... $ldap_master 6670 ...
was fehlschlägt, wenn der Master mehrere IP-Adressen hat (bei mir eine öffentliche und eine interne) und die erste nicht erreichbar ist. Bei einem "ifup" erscheint dann folgende Fehlermeldung:

 master.phahn.pt [10.200.17.60] 6670 (?) : Network is unreachable

Ähnliches kann vermutlich in gemischten IPv4 / IPv6-Umgebungen passieren.

Der "einzig wahre Weg"™ ist es im eigentlich aufgerufenen Skript mit "getaddrinfo()" über alle Adressen für den Namen zu iterieren und die erste funktionierende zu verwenden.
Comment 1 Philipp Hahn univentionstaff 2017-04-21 14:16:13 CEST
netcat-openbsd is used by default, which is IPv6 aware: When given a DNS name, it resolved the name to all addresses and tries them until success. This even works with multiple IPv4 addresses.
A dropping firewall can stall that process significantly. Luckily all users specify a small timeout using -w[14]