verschiedene Subnetze auf derselben Schnittstelle, die von virtuellen Maschinen in Netzwerkverbindungen verwendet werden

598
skydanc3r

Ich habe einen physischen Server mit einer Netzwerkschnittstelle. Die IP-Weiterleitung ist aktiviert und die Firewall ordnungsgemäß konfiguriert.

Mein Provider hat mir eine primäre IP-Adresse und vier Failover-IP-Adressen aus einem anderen Subnetz zugewiesen. Das Problem ist, dass ich nicht weiß, wie ich sie so konfigurieren muss, dass ich keine IPv4-Ressourcen verschwenden werde.

(Die IP-Adressen in diesem Beispiel sind gefälscht und dienen nur der Information und der Einrichtung, sie sind jedoch eine exakte Analogie.)

Hauptserver (Host): Primäre IP: 100.0.98.116, Gateway 100.0.98.115, Netzmaske 255.255.255.252.

Failover-IP-Adressen: 50.76.102.200 50.76.102.201 50.76.102.202 50.76.102.203

Wie kann ich alle in virtuellen Maschinen über ein Bridged-Netzwerk (direkt der Hostschnittstelle zugewiesen) verwenden? Im Moment muss ich der primären Schnittstelle des Hauptservers als sekundäre Adresse 50.76.102.201 hinzufügen, mit der Netzmaske 255.255.255.252. In der virtuellen Maschine verwende ich die IP-Adresse 50.76.102.202 mit der Netzmaske 255.255.255.252 und dem Gateway 50.76.102.201. Dadurch kann ich jedoch weniger IPv4-Adressen verwenden. Wie können Sie alle verwenden und das Gateway 100.0.98.115 verwenden?

0

2 Antworten auf die Frage

0
Carlos Mendioroz

Da Ihr Provider Ihnen Ethernet anbietet, können Sie alle Ihre Adressen verwenden, indem Sie die Konfiguration ein wenig durchsuchen. Wie Sie dies tun können, hängt vom Betriebssystem Ihrer VMs ab. Im Interesse dieses Beitrags gehe ich von Linux aus.

Zurück zu den Grundlagen ist Ethernet ein Multipoint, und Sie können normalerweise alle Ihre Subnetznachbarn (L3-Adresse) direkt erreichen, indem Sie ihre MAC-Adresse (L2-Adresse) mithilfe von ARP ermitteln. Es sollte keine Rolle spielen, dass Ihre VMs virtuell sind und ein virtueller Switch vom realen Ethernet entfernt ist. Sie können direkt von einer VM-Netzwerkkarte zu Ihrem Provider-DG wechseln, ohne Ihren Host (logisch, dh L3) zu besuchen.

Das Problem ist, dass die Standardlogik, dh das Finden von ARP-Nachbarn nur für dieselben Subnetzziele funktioniert, weshalb sich Ihr DG (Standardgateway) in Ihrem Subnetz befinden sollte. Das kann auf verschiedene Weise geändert werden.

Die einfachste Konfiguration (aber überhaupt keine gute Option) ist die Verwendung von Proxy-ARP. Die meisten Router unterstützen die Beantwortung von ARP auf nicht lokale Anfragen (dh zusätzliche Subnets). Sie verwenden dies, indem Sie Ihre Standardroute konfigurieren, die auf Ihre Ethernet-Schnittstelle verweist. Nicht schön, weil Sie für jede Adresse, mit der Sie sich unterhalten, ARP machen, aber funktioniert.

 ip address add 50.76.102.200/24 dev eth0 ip route add default dev eth0 

Eine sehr einfache (und gute) Alternative besteht darin, eine DG-Adresse von Ihrem Dienstanbieter in diesem Subnetz zu erhalten und diese für Ihre VMs zu verwenden. Sagen Sie 50.76.102.1.

 ip address add 50.76.102.200/24 dev eth0 ip route add default via 50.76.102.1 dev eth0 

Wenn nicht, können Sie (zumindest in Linux mit iproute2) einen DG verwenden, der sich nicht in demselben Subnetz befindet:

 ip address add 50.76.102.200/24 dev eth0 ip route add default via 100.0.98.115 dev eth0 onlink 

Ich hoffe du bekommst die Idee.

0
skydanc3r

Ich habe es nicht geschafft, dieses Problem in der von mir geplanten Art und Weise zu beheben. Die einzige Möglichkeit, Bridged-Netzwerke für vms zu verwenden, bestand darin, die IP-Adresse mit .201 auf dem Host als eth0: 0-Alias ​​mit der Netzmaske 255.255.255.252 anzuheben. Und weisen Sie der VM die IP-Adresse .202 mit der Netzmaske 255.255.255.252 und dem Gateway .201 zu - das funktioniert einwandfrei. Auf diese Weise werden jedoch zu viele IP-Adressen verwendet, wobei nur zwei Hosts verwendet werden können.

Was ich tat, war, alle IP-Adressen .200-.203 als Aliasnamen eth0: 0 - eth0: 3 jeweils mit Netzmaske 255.255.255.255 hinzuzufügen, so dass sie alle verwendbar sind. Und ich habe einen virtuellen NIC-Host nur für die vms erstellt, die über ein privates LAN im Bereich 192 verfügen, und ich verwende SNAT / DNAT, um jeden vm hinter dem Bereich 192 an eine öffentliche IP-Adresse zu binden.