Sollte ich verbindungslokale Adressen verwenden, für die eine nicht routbare interne IP-Adresse erforderlich ist?

11

Ich habe eine Netzwerk-Appliance, die einige Funktionen zum Lastenausgleich enthält. In meinem Design sind diese Funktionen nur für die interne Verwendung innerhalb der Appliance vorgesehen. Es sollte NIEMALS extern mit ihnen gesprochen werden, und außerdem hat der Client nur noch wenige IP-Adressen im IP-Bereich des Geräts.

Wäre es akzeptabel, den Link-Local-Bereich für diese Funktionen zu verwenden? Zum Beispiel 169.254.1.1.

Hinweis: Das betreffende Gerät lässt nicht zu, dass Loopback-IPs für diese Funktionen verwendet werden.

Dan
quelle
1
Gibt es einen Grund, warum Sie keine Loopback-Adresse verwenden würden, wenn sie nur für die Kommunikation von Dienst zu Dienst innerhalb desselben Hosts verwendet werden?
YLearn
@YLearn Um fair zu sein - ich habe keine wirklich, obwohl ich das Gefühl nicht loswerden kann, dass es nicht wirklich darum geht, worum es bei einer Loopback-Adresse geht, aber vielleicht irre ich mich? In beiden Fällen habe ich es getestet und die Appliance erlaubt Ihnen nicht, etwas auf den Loopback-IPs zu konfigurieren!
Dan

Antworten:

5

Nein , RFC3927 verbietet die manuelle Zuweisung von Adressen innerhalb dieses Blocks.

Sie sollten stattdessen Adressen verwenden , um die Blöcke von einer dritten bilden RFC1918 , 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16. Diese Adressen dürfen frei verwendet werden, sofern die Routen nicht im Internet beworben werden. Denken Sie daran, ein Subnetz auszuwählen, das in Ihrer Umgebung nicht anderweitig verwendet wird.

84104
quelle
Da Sie möglicherweise nicht wissen, welche Subnetze in der Umgebung verwendet werden, sollten Sie sie am besten konfigurierbar machen. Er könnte dem Beispiel vieler Heimrouter folgen: Wählen Sie ein Standard- 192.168.x.0/24Subnetz aus und lassen Sie den Administrator Änderungen vornehmen x. Wahrscheinlich sollte nicht standardmäßig 0 oder 1 verwendet werden, da dies die üblichen Standardeinstellungen von Routern sind.
Barmar
4

Die Details von RFC3927 scheinen zu glauben, dass dies nicht genau richtig ist.

Ja , geh Kopf. Die Gründe, warum dies verboten ist , werden nicht ins Spiel kommen. Es ist weitaus besser als andere übliche Situationen, wie z. B. das Kommandieren 1.1.1.0/24.

Wenn du schön spielen willst, kannst du entweder 169.254.0.0/24oder verwenden 169.254.255.0/24.

2.1. Auswahl der verbindungslokalen Adresse

Wenn ein Host eine IPv4-Link-Local-Adresse konfigurieren möchte, wählt er eine Adresse mithilfe eines Pseudozufallszahlengenerators mit einer gleichmäßigen Verteilung im Bereich von 169.254.1.0 bis einschließlich 169.254.254.255 aus.

Zu diesem Zweck ist das IPv4-Präfix 169.254 / 16 bei der IANA registriert. Die ersten 256 und letzten 256 Adressen im Präfix 169.254 / 16 sind für die zukünftige Verwendung reserviert und dürfen von einem Host mit diesem dynamischen Konfigurationsmechanismus NICHT ausgewählt werden.

84104
quelle
Warum würden Sie vorschlagen, die beiden Bereiche zu verwenden, die IANA für die zukünftige Verwendung reserviert hat? Dies scheint ein schlechter Rat zu sein, falls die IANA aus irgendeinem Grund diese reservierten Bereiche nutzt.
YLearn
@YLearn Sie haben Recht, es ist ein Verstoß gegen die Spezifikation. Die andere Option, die diese Adressen betrifft, ist jedoch ein klarer Verstoß. Ich denke, es ist besser, die düsterere falsche Wahl zu treffen.
84104
1
Um Ihre Antwort und Ihren Kommentar zu paraphrasieren: Die Verwendung der reservierten Adressen ist ein Verstoß, und die Verwendung einer manuellen Zuweisung aus dem generierten Bereich ist ein Verstoß. Die Antwort sollte also lauten: "Nein, das ist eine schlechte Idee. Sie müssen eine bessere Lösung finden." Wenn die Leute die Standards und Spezifikationen einfach ignorieren, wenn sie von ihnen belästigt werden, dann sind die Standardisierung, die
Interaktion
Stimmen Sie mit @YLearn überein. Link-Local dient zur automatischen Host-IP-Zuweisung bei fehlendem DHCP und nicht zur manuellen Konfiguration unter bestimmten Umständen. Das Ausschneiden eines Teils aus den RFC1918-Bereichen (auch eines, der derzeit nicht verwendet wird) wäre die einzig gültige Option.
Ashley
3

Um Ihre Frage zu beantworten, sollten Sie dies nicht tun. RFC3927 in Abschnitt 1.6 verbietet diese Art der Verwendung.

Im letzten Absatz dieses Abschnitts heißt es insbesondere:

Administratoren, die ihre eigenen lokalen Adressen konfigurieren möchten (mithilfe einer manuellen Konfiguration, eines DHCP-Servers oder eines anderen in diesem Dokument nicht beschriebenen Mechanismus), sollten eines der vorhandenen Präfixe für private Adressen [RFC1918] und nicht das Präfix 169.254 / 16 verwenden.

Dies schließt das Ganze / 16 für diese Art der Verwendung aus, sodass Sie nach einer anderen Alternative suchen müssen.

Mein erster Vorschlag wäre, eine Loopback-Schnittstelle zu verwenden. Loopback-Schnittstellen eignen sich perfekt für die Kommunikation zwischen Diensten innerhalb desselben Hosts, für die kein Zugriff außerhalb dieses Hosts erforderlich ist. Sie werden auf diese Weise von einer Reihe von Diensten für Verwaltungsschnittstellen, Tests und andere Zwecke verwendet.

Sie haben in Ihren Kommentaren / Änderungen erwähnt, dass die Appliance dies nicht zulässt. Sie erwähnen nicht die Hersteller- / Modell- oder Codeversionen, daher ist meine erste Empfehlung, dass Sie sich an den Anbieter wenden. Wenn dies wirklich eine gültige Verwendung des Geräts ist, sind sie möglicherweise bereit, ihren Code anzupassen, um die Verwendung einer Loopback-Schnittstelle zu ermöglichen. Möglicherweise haben sie diesen Anwendungsfall beim Schreiben von Code zur Validierung von IP-Adressen einfach nicht berücksichtigt. Oder sie sagen Ihnen, warum dies eine schlechte Idee ist und warum es anders gemacht werden sollte.

Wenn eine Loopback-Schnittstelle wirklich nicht in Frage kommt, sollten Sie zu diesem Zweck den RFC1918- Adressraum verwenden. Stellen Sie sicher, dass Sie mit relevanten IT-Mitarbeitern zusammenarbeiten, die den zu verwendenden IP-Bereich auswählen, um andere unvorhergesehene Probleme im Netzwerk zu vermeiden.

YLearn
quelle