Weisen Sie einem VirtualBox-Gast mit einem NAT-Netzwerk eine statische IP-Adresse zu, ohne auf den Gast zuzugreifen

721
Mohamed Laradji

Ich verwende VirtualBox 5.2.18 auf Ubuntu Server 18.04. Ich habe mehrere VirtualBox-Gastmaschinen, die ein NAT-Netzwerk gemeinsam nutzen intnet. Derzeit intnetverfügt ein DHCP-Server (von VirtualBox eingerichtet), der den Gästen automatisch dynamische IPs zuweist. Dies funktioniert gut, aber ich möchte, dass der DHCP-Server bestimmten Gästen statische IP-Adressen basierend auf der MAC-Adresse der Netzwerkschnittstelle zuweist. Statische IP-Adressen können innerhalb der Gäste festgelegt werden. Dies ist jedoch zeitaufwändig und hängt vom Gastbetriebssystem ab. Gibt es in VirtualBox eine Möglichkeit, den Gästen statische IPs zuzuweisen?

Im VirtualBox-Installationsordner befindet sich eine ausführbare Datei mit dem Namen VBoxNetDHCP. Gemessen an der Ausgabe von VBoxNetDHCP, scheint es eine statische IP-Zuweisung nach MAC-Adresse zu ermöglichen. Ich kann es jedoch nicht zum Laufen bringen und die Dokumentation dafür ist praktisch nicht vorhanden.

0
Wenn ich dies tue, verwende ich eine andere kleine VM, um DHCP, DNS für eine gefälschte Domäne usw. in meinem internen Netzwerk bereitzustellen. Mit Debian 9 können Sie nach der Installation bis zu 128 MB RAM und vielleicht 1,5 GB Festplattenspeicher verwenden. ivanivan vor 5 Jahren 2
Ich neige dazu, @ivanivan. Hast du zufällig ein Tutorial zur Hand? Mohamed Laradji vor 5 Jahren 0
Ich werde es als Antwort posten, gib mir ein paar ... ivanivan vor 5 Jahren 0

1 Antwort auf die Frage

0
ivanivan

Normalerweise neige ich dazu, wenn ich solche Dinge mache (und ich mache es oft), eine VM, die als Netzwerkserver fungiert und DHCP, DNS - sowohl für die Welt als auch für das lokale Spoofing fake.tld- macht.

Am einfachsten ist es, eine einfache, einfache Installation von Debian über das netinstall-Image durchzuführen. Wählen Sie keine der Paketgruppen außer der ssh-Serveroption und möglicherweise "Standard-Dienstprogramme" aus.

Installieren Sie das isc-dhcp-serverPaket, sobald es betriebsbereit ist, um es in einen DHCP-Server für Ihr internes VM-Netzwerk zu verwandeln . Dann bearbeiten/etc/dhcp/dhcpd.conf

Hier ist ein einfaches Beispiel von mir. Dies legt eine kurze Lease-Zeit (5 Minuten) fest, setzt die Client-Suchdomäne usw. auf "fake.tld", verweist auf ihre DNS-Abfragen auf 192.168.1.2 und gibt Adressen im Bereich von 10.99.98.80-100 mit aus 24 Bit Netzmaske. Beachten Sie, dass auf der VM, die dies ausführt, ein Adapter mit einer IP-Adresse innerhalb des 10.99.98.0/24-Subnetzes konfiguriert sein muss.

Neben dem allgemeinen Pool gebe ich dem Gerät die MAC-Adresse 80:c1:6e:2b:b6:cdeines explizit definierten Leases (sowie eines beliebigen anderen optionDNS-Servers, Gateway usw.) für die .110IP. Alle derartigen "statischen Leases" müssen für Adressen AUSSERHALB Ihres dynamischen Bereichs sein, jedoch innerhalb des in der Konfigurationsdatei UND des Netzwerkadapters des Computers, auf dem der Dienst gehostet wird, konfigurierten Subnetz.

Wenn Sie einen neuen Host hinzufügen und möchten, dass er über eine bestimmte IP-Adresse verfügt, fügen Sie einfach eine weitere Hostzeilengruppe hinzu. Der Hostname muss nicht mit dem übereinstimmen, was der Client sendet, er muss jedoch eindeutig in der Datei sein. Starten Sie den Dienst neu, nachdem Sie ihn hinzugefügt habenservice isc-dhcp-server restart

ddns-update-style none; option domain-name "fake.tld"; option domain-name-servers 192.168.1.2; option domain-search "fake.tld"; default-lease-time 600; max-lease-time 720; authoritative; log-facility local7;  subnet 10.99.98.0 netmask 255.255.255.0{ range 10.99.98.80 10.99.98.100; option routers 10.99.98.1; }  host lr-tv { hardware ethernet 80:c1:6e:2b:b6:cd; fixed-address 10.99.98.110; option routers 10.99.98.1; option domain-name-servers 192.168.1.2; } 
Dies funktionierte für mich mit Ausnahme der folgenden: 1. Meine DHCP-VM verwendet `Ubuntu Server` (der auf` Debian` basiert) anstelle von `Debian`. Ich habe dasselbe `isc-dhcp-server`-Paket installiert. 2. Mein internes Netzwerk (in meiner Frage "intnet") ist "192.168.1.0 / 24" und ich habe "Optionsrouter 192.168.1.1;" und "Option Domain-Name-Server 192.168.1.1;" verwendet. Ich konnte mit 'nmap -sn 192.168.1.0 / 24' feststellen, welche IP verwendet werden soll. 3. Ich habe die Optionen `routers` und` domain-name-servers 'global definiert, indem ich sie zu `/ etc / dhcp / dhcpd.conf' nach der Zeile` # Optionsdefinitionen hinzugefügt habe, die allen unterstützten Netzwerken gemeinsam sind ... `. Mohamed Laradji vor 5 Jahren 0