Ich arbeite derzeit an einem Projekt, das drei unabhängige Module umfasst, die auf drei separaten Maschinen laufen (derzeit in 3 verschiedenen VMs), die alle miteinander kommunizieren müssen. Ein Ärgernis, auf das ich stoße, ist, dass die VMs beim Übertragen auf einen anderen Computer oder in ein anderes Netzwerk andere IP-Adressen erhalten als die, die in jedem Modul fest codiert sind.
Ich bin der Meinung, dass es dafür einen einfacheren und portableren Weg geben muss. Ist es möglich, jeder VM eine Alias-IP zuzuweisen, beispielsweise im Subnetz 10.0.0.x, und sie mit dieser Adresse anzusprechen, anstatt mit ihrer tatsächlichen Adresse 192.168.1.x? Auf jeder VM und dem Host läuft Ubuntu 9.04 64-Bit.
Vielen Dank im Voraus, Dave McClelland
Bearbeiten: Ich habe meine Datei /etc/network/interfaces kopiert, anstatt sie unten zu kommentieren – sie wurde verstümmelt
auto eth0
iface eth0 inet dhcp
iface eth0:0 inet static
address 192.168.14.21
network 192.168.14.0
netmask 255.255.255.0
broadcast 192.168.14.255
gateway 192.168.14.1
Antwort1
Bearbeiten Sie /etc/network/interfaces:
iface eth0 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
Ändern Sie es entsprechend Ihrem bevorzugten Netzwerk-Subnetz/Ihren bevorzugten Netzwerk-Einstellungen.
So erstellen Sie einen Alias für den per DHCP verwalteten eth0:
# The primary network interface
auto eth0
iface eth0 inet dhcp
iface eth0:0 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
Rufen Sie die Benutzeroberfläche auf:
$ sudo ifup eth0:0
$ ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:0c:29:b0:fe:76
inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:19 Base address:0x2000
Antwort2
Ich bin in Ubuntu auf dasselbe Problem gestoßen. Nur weil Sie die Schnittstellendatei bearbeiten, um die IP fest zu codieren, hindert das den DHCP-Client nicht daran, eine neue IP zu leasen.
sudo /etc/init.d/dhcp stop
Sobald Sie sehen, dass dies funktioniert, können Sie den DHCP-Client endgültig entfernen, damit er nicht wiederkommt:
sudo apt-get remove dhcp3-client