Beste Auswahl an privaten Adressen für ein "Gerätebereichsnetzwerk"

8

Ich baue eine Appliance, die aus mehreren Subgeräten besteht, die über Ethernet in der Appliance verbunden sind. Die Appliance stellt eine Verbindung zum Kundennetzwerk her. Das Kundennetzwerk kann private IP-Adressen verwenden. Ein Adresskonflikt mit dem internen Netzwerk wäre ein Problem (das mit beiden Netzwerken verbundene Untergerät wäre verwirrt). IPv6 ist keine Option.

Soll ich IPv4-Adressen kaufen? Oder kann ich mit TEST-NET-3 (203.0.113.0/24) oder so etwas davonkommen? Was ist die beste Vorgehensweise?

Proski
quelle
1
Benötigt das Kundennetzwerk direkten Zugriff auf die Untergeräte oder wird eine Verbindung zur Appliance nur über einen LAN-Port vom Typ "Management" auf der Appliance hergestellt? Ich frage, weil EMC und andere private Glasfaser-IP-Kommunikation in ihren SANs für ihre Controller / usw. mit einer dedizierten Verwaltungs-NIC verwenden, die mit dem Kundennetzwerk verbunden ist. Die mgmt-Netzwerkkarte erhält entweder eine DHCP-Adresse vom Kunden-LAN oder ist statisch zugewiesen, um sich im Kundennetzwerk zu befinden.
TheCleaner
1
Müssen Sie den TCP / IP-Stack für die Kommunikation zwischen Ihren "Subgeräten" verwenden? Wenn Sie auf Schicht zwei bleiben, treten keine Probleme mit IP-Konflikten auf.
Jlehtinen
Das Kundennetzwerk ist nur das Mittel, um eine Verbindung zum Cloud-Service herzustellen. Daher sollte sich das Standard-Gateway des Kunden nicht mit dem internen Netzwerk überschneiden, da sonst das nach außen gerichtete Untergerät die Pakete fehlleiten würde. Eines der Untergeräte ist nur IPv4, keine andere Möglichkeit, es zu steuern.
Proski
3
"IPv6 ist keine Option." Wir haben jetzt 2014. Es sollte eine Option sein. "Soll ich IPv4-Adressen kaufen?" Nun, wenn Sie können - in Asien sind sie erschöpft, auch in Europa, ...
glglgl
1
Wenn Geräte IPv6 nicht unterstützen, werde ich nicht einmal in Betracht ziehen, sie zu kaufen, da ich sie dann lange vor der erwarteten Lebensdauer des Geräts durch etwas ersetzen müsste, das IPv6 unterstützt. (Nun, für Kunden sowieso. In meinen Netzwerken, die bereits Dual-Stack sind, wird ein Gerät, das IPv6 nicht unterstützt, als nicht zweckmäßig angesehen.)
Michael Hampton

Antworten:

10

@yoonix hat einen Link gesendet, der möglicherweise eine Lösung enthält.

Link-lokal, auch als APIPA bekannt.

169.254.0.0/16 - Dies ist der Block "Link Local". Wie in RFC3927 beschrieben, wird es für die Kommunikation zwischen Hosts auf einer einzelnen Verbindung zugewiesen. Hosts erhalten diese Adressen durch automatische Konfiguration, z. B. wenn kein DHCP-Server gefunden werden kann.

Wenn ich Ihr Kunde wäre, würde ich sicher die Möglichkeit haben wollen, dies selbst zu konfigurieren und / oder DHCP zu verwenden (was, ich weiß nicht, vielleicht ein seit langem etablierter Standard ist?), Aber in Abwesenheit von genau dafür soll APIPA verwendet werden.

Bearbeiten - Angesichts der Tatsache, dass Sie jetzt angeben, dass die IP-Adressen für einzelne Hosts in Ihrer Lösung statisch sein müssen, da diese den Firewall-Regeln in Ihrem Gateway-Gerät entsprechen, würde dies Ihrer Meinung nach einige Anstrengungen erfordern, damit dies mit Link funktioniert lokale IPv4-Adressierung; Mühe, die Sie sagen, Sie werden nicht ausgeben. Sie müssen dies also im Wesentlichen konfigurierbar machen. Sie können es mit einer Standardeinstellung ausliefern, die von einem Client weniger wahrscheinlich verwendet wird. Sie müssen jedoch über einen Mechanismus verfügen, mit dem sie im Falle eines Konflikts geändert werden kann. Entweder vom Kunden oder von Ihnen im Rahmen der Implementierung / UAT.

mfinni
quelle
Die Appliance verwendet DHCP im internen Netzwerk für eines der Subgeräte ( ohne DHCP ist die Konfiguration sehr schwierig). Ich fühle mich nicht wohl, wenn der DHCP-Server IP-Adressen im lokalen Linkbereich verteilt , da dies ausdrücklich verboten ist: tools.ietf.org/html/rfc3927#section-1.6 Wenn wir DHCP nicht intern verwenden müssten , Es wäre meine erste Wahl gewesen.
Proski
Nein, nein, nein, wie ich ausdrücklich zitiert habe, sind APIPA-Adressen (Link-Local) Adressen, die sich Geräte zuweisen , wenn ein DHCP-Server nicht gefunden werden kann. Ich habe nicht vorgeschlagen, dass Sie DHCP verwenden, um APIPA-Adressen zuzuweisen.
Mfinni
Die Untergeräte haben bestimmte Rollen, und der Router muss iptables entsprechend diesen Rollen konfigurieren. Ich möchte nicht, dass der Router die Adressen erkennt und iptables entsprechend ändert. Das Zuweisen von zufälligen IP-Adressen bedeutet auch, dass es zu Adresskonflikten kommt, und ich bin nicht sicher, ob die Hardware intelligent genug ist, um diese zu lösen.
Proski
Lesen Sie dies: tools.ietf.org/html/rfc3927 - alles, was link local verwendet, muss die Konflikterkennung implementieren.
Mfinni
Ich weiß das. Dies würde auf keinen Fall im Produkt implementiert werden. Die Untergeräte haben ihre Rollen und es gibt spezielle iptables-Konfigurationen für sie.
Proski
5

Machen Sie es konfigurierbar.

Soll ich IPv4-Adressen kaufen?

Ja. VERSUCH DAS. Erstens kaufen Sie sie nicht, Sie "leasen" sie durch Mitgliedschaft. Zweitens erfordert dies einen AS und 2 Uplinks. Drittens erfordert dies einen Grund und "wir wollen keine ordnungsgemäße Netzwerkinfrastruktur annehmen" ist ein Grund, der zu Lachen (und einer Ablehnung) führt, nicht dass Ihnen IP-Adressen zugewiesen werden.

Oder vielleicht komme ich mit TEST-NET-3 (203.0.113.0/24) davon.

Möglicherweise. Bis zu dem Tag, an dem jemand Oyu nach den Kosten für die Reparatur fragt, weil er grob vernachlässigt wurde.

Was ist die beste Vorgehensweise?

Machen Sie es konfigurierbar. Oder verwenden Sie IPV6 - dort können Sie mit einigen Reservierungen davonkommen.

TomTom
quelle
Das Abrufen von IPv4-Adressen für den internen Gebrauch (also nicht das Weiterleiten an das Internet) ist ein absolut gültiger Anwendungsfall. Leider gibt es in den Regionen APNIC und RIPE keine IPv4-Adressen mehr. Daher ist die Umstellung auf IPv6 wirklich die einzige zukunftssichere Lösung ... ULA-Adressen klingen dort nach einer guten Option.
Sander Steffann
3
Es ist kein gültiger Anwendungsfall. Nicht mit begrenztem IPv4-Adressraum. Dafür sind private Adressen da. Und sie werden es nicht an Unternehmen verschwenden, die "nicht in der Lage oder bereit sind, etablierte Erhaltungsverfahren einzuhalten".
TomTom
Es ist heute sicherlich kein gültiger Anwendungsfall, ich weiß nicht, ob es jemals war. Haben Sie Unterlagen, um Ihre Behauptung zu untermauern, @SanderSteffann?
Mfinni
3
@ Proski ah, nein. Siehe - TEST-NET-3-Adressen dienen zum Testen. Ein Kunde, der sie zum Testen verwendet, hat einen gültigen Fall. SOmeone-Versandgeräte sind entweder unwissend oder ignorieren absichtlich die Richtlinien für diese Adressen, was grob vernachlässigt wird. In beiden Fällen.
TomTom
1
@SanderSteffann Ich weiß nichts über APNIC, aber RIPE hat sicherlich IPv4-Adressen - ungefähr 14 Millionen von ihnen (0,85 von a / 8) laut der neuesten Statusaktualisierung auf ihrer Website.
Jules
5
  1. Aus Wikipedia: Assigned as "TEST-NET-3" in RFC 5737 for use solely in documentation and example source code and should not be used publicly.- Dies sagt mir, dass Sie TEST-NET-3 nicht verwenden sollten.

  2. Eine Sache, die Sie anscheinend übersehen: Wie nehmen Sie an, dass Sie mit dem Gerät kommunizieren können oder dass das Gerät mit anderen Geräten kommunizieren kann und umgekehrt, wenn Sie die IP-Adresse des Geräts nicht konfigurieren FÜR das Client-Netzwerk? Wenn Sie eine IP-Adresse in einem Netzwerk zuweisen, das im Client-Netzwerk nicht verwendet wird (Sie: 192.168.1.0/24 - Them: 10.0.0.0/8), wie wird dann die Netzwerkkommunikation funktionieren? Aus diesem Grund sollten Sie das Gerät so konfigurieren, dass es sofort DHCP verwendet, und es dem Client ermöglichen, es anschließend statisch zu konfigurieren.

Wenn Sie DHCP nicht verwenden können, verwenden Sie APIPA.

Joeqwerty
quelle
Es wird keine öffentliche Nutzung geben. Die internen Adressen würden niemals nach außen offengelegt. Die Kommunikation verwendet NAT. Ich kann NAT jedoch nicht ausführen, wenn beide Netzwerke überlappende Adressen verwenden.
Proski
1
OK, aber meine Antwort bezieht sich nicht auf NAT. Wie kommuniziert Ihr Gerät mit anderen Geräten im selben internen Netzwerk, wenn es eine IP-Adresse verwendet, die sich nicht im selben Subnetz wie das interne Netzwerk befindet?
Joeqwerty
Offensichtlich enthält die Appliance einen Router, der Adressen in beiden Netzwerken hat. Der Router führt NAT aus. Der Kunde spricht nur über einen Cloud-Service mit der Appliance.
Proski
Ich versuche nicht, snarky zu sein, aber wie ist das offensichtlich? Wir wissen nur so viel, wie Sie uns in Ihrer Frage sagen, und Sie haben diese Tatsache nie erwähnt.
Joeqwerty
1
Vielleicht bin ich es. Ich meine mit Sicherheit keine Beleidigung, und vielleicht wird dies unhöflich, aber wie impliziert die Aussage "Das mit beiden Netzwerken verbundene Untergerät wäre verwirrt", dass das Gerät über einen eingebauten Router verfügt oder über Routing-Funktionen verfügt? Mein Computer verfügt über zwei Netzwerkschnittstellen, die jeweils mit einem anderen Netzwerk verbunden sind. Mein Computer ist jedoch kein Router. Vielleicht bin ich nur dumm. Ich habe in Ihrer Frage nichts gelesen, was mich glauben lässt, dass Ihr Gerät über einen eingebauten Router oder Routing-Funktionen verfügt. Auf jeden Fall hilft Ihnen dieses Geschwätz nicht, also werde ich es an dieser Stelle fallen lassen.
Joeqwerty
4

Theoretisch könnte jeder private IP-Bereich von jedem privaten Netzwerk verwendet werden. Ich bezweifle, dass Sie eine bewährte Methode finden oder alles, was universell anwendbar ist, wenn Sie die Adresse fest codieren. Die beste Vorgehensweise wäre, es konfigurierbar zu machen und dem Client-Netzwerk zu ermöglichen, dem Gerät eine private Adresse zuzuweisen (z. B. über DHCP).

Wenn das keine Option ist, finde ich, dass kaum jemand die obere Hälfte des verwendet 172.16.0.0/12, also benutze ich das. (Ich glaube ich renne weiter172.25.0.0/16 , um genau zu sein.) Ich habe noch keine Adresskollision und ich VPN in viele private Netzwerke.

Wenn Sie eine private IPv4-Adresse verwenden müssen, ist dies meiner Meinung nach das Beste, was Sie tun können, da der 10.0.0.0/8Block weit verbreitet ist und der 192.168.0.0/16Block für fast alles der Standard ist 172.16.0.0/12. Natürlich wird dieser Block häufig für VPNs verwendet, um Adresskollisionen zu vermeiden, da die anderen privaten Netzwerkblöcke häufig verwendet werden. Verwenden Sie daher die oberen Adressen, da sie (meiner Erfahrung nach) die am wenigsten genutzten Subnetze in diesem Block sind .

HopelessN00b
quelle
1
Wenn Sie eine zufällige / 24 im Bereich 10.0.0.0/8 auswählen und davon ausgehen, dass Adressen von vorhandenen Geräten angemessen verwendet werden (dh höchstens eine Handvoll / 24-Subnetze verwendet werden), stelle ich mir mein Netzwerk-Setup eher als vor ziemlich komplex, da es 4 solcher Subnetze gibt [3 verschiedene Standorte und ein VPN, um zwischen ihnen zu routen]), beträgt die Wahrscheinlichkeit eines Konflikts <0,01%. Ich wäre im Allgemeinen bereit, dieses Risiko unter den meisten Umständen einzugehen.
Jules
1
@ Jules mit Ausnahme der (leider üblichen) Netzwerke, die das gesamte / 8-Subnetz verwenden, nur weil es die Standardeinstellung ist.
Grant
Die Route zu einem kleineren Netzwerk hat Priorität, damit es funktioniert. Ich könnte tatsächlich / 29 intern haben, um das Risiko noch weiter zu reduzieren. Aber dieses Risiko nicht auszuschalten, egal wie klein es wäre, wäre schlecht. Der Kundensupport muss dies wissen und die Netzwerkkonfiguration des Kunden überprüfen.
Proski
2

Wir entwerfen genau das Gleiche und haben uns für lokale IPv6-Site-Adressen mit einem zufälligen Präfix fc00: nnnn entschieden.

Michael
quelle
1
Schlecht. Holen Sie sich einen ULA-Block.
TomTom
1

Angenommen, keines dieser Subgeräte benötigt eine direkte Konnektivität außerhalb der Appliance, sollten Sie hierfür das Loopback-Netzwerk verwenden (127.0.0.0/8).

RFC 5735 / Abschnitt 3

Loopback auf Wikipedia

yoonix
quelle
3
Wie würde das möglicherweise funktionieren? Seine "Subgeräte" sind einzelne Hosts. Loopback dient dazu, dass ein Host mit sich selbst kommuniziert.
Mfinni
1
Guter Punkt, ich schwöre, ich habe es schon einmal so gesehen ... aber ich kann mich nicht erinnern, wo. Ich werde meine Antwort in Kürze entfernen.
Yoonix
Aber dieses Dokument hat einen anderen Vorschlag, den ich mag!
Mfinni
Eigentlich denke ich darüber nach, 127.0.1.0/255 für das interne Netzwerk zu verwenden. Ich bin mir nicht sicher, ob es besser wäre als TEST-NET-3.
Proski
1
DAS FUNKTIONIERT NICHT. Das ist Loopback. Ein Host, der mit einer Loopback-Adresse kommuniziert, spricht NUR mit sich selbst. Die Loopback-Adresse hat zufällig die Größe eines ganzen Subnetzes; sie ist immer noch nur
hostlokal
1

Kann Ihr "Hauptcontroller" einen DHCP-Server ausführen / DHCP-Leases auf seiner "internen" Schnittstelle bereitstellen?

Ich habe in der Vergangenheit etwas für eines der kommerziellen Produkte unseres Unternehmens getan, das möglicherweise von Nutzen ist. Das Gerät hatte zwei Ethernet-Ports, von denen einer für die "direkte" Konnektivität von einem PC aus gedacht war. Das Problem war ähnlich; Wir wollten IP-Adresskonflikte mit dem internen LAN eines Kunden (möglicherweise in einem privaten IP-Netzwerk) sowie mit der ganzen Welt vermeiden.

Die Logik auf diesem Gerät bestand darin, einen DHCP-Server ("udhcpc" über Befehlszeilenoptionen) auf dem "direkten" LAN-Port (eth1) basierend auf seiner eigenen IP-Konfiguration auf seinem "öffentlichen" LAN-Port (eth0) dynamisch zu konfigurieren. Unabhängig davon, ob das Gerät seine eigene IP-Adresse über DHCP oder über eine statische Einstellung erhalten hat, würde das Modul, das die Einstellung angewendet hat, auch die DHCP-Serverkonfiguration ändern, um Konflikte zu vermeiden.

Wenn das Gerät beispielsweise die Adresse 192.168.0.100/netmask 255.255.255.0 (auf eth0) erhält, konfiguriert es seinen eigenen DHCP-Server (auf eth1) für das nächste verfügbare Netzwerk 192.168.1.0/255.255.255.0.

Es würde aus einem dieser Netzwerke (in Prioritätsreihenfolge) auswählen: 192.168.0.0/24 ... 192.168.254.0/24 172.16.0.0/16 ... 172.31.0.0/16 10.0.0.0/8

Hoffe das hilft.

user1722483
quelle
Was ist, wenn ich 192.168.0.0/16als Site-Präfix verwende, Sie aber nur mit dem VLAN verbunden sind 192.168.0.0/24? Sie haben gerade Hi-Jacked 192.168.1.0/24, obwohl ich es in einem anderen VLAN am selben Standort verwende.
Fukawi2
Das ist theoretisch eine gute Idee. In der Praxis verwendet eines der Untergeräte eine statische IP-Adresse und ein anderes einen DHCP-Client. Beides ist in einem ausgelieferten Produkt nicht konfigurierbar. Daher sollten die Adressen vorkonfiguriert sein, aber die verbindungslokalen Adressen funktionieren nicht.
Proski