В настоящее время я работаю над проектом, который включает три независимых модуля, работающих на трех отдельных машинах (в настоящее время это делается в 3 разных виртуальных машинах), которые все должны общаться друг с другом. Раздражение, с которым я сталкиваюсь, заключается в том, что когда я переношу виртуальные машины на другой компьютер или в другую сеть, виртуальные машины получают другие IP-адреса, чем те, которые были жестко закодированы в каждом модуле.
Я чувствую, что должен быть более простой и переносимый способ сделать это. Возможно ли назначить каждой виртуальной машине псевдоним IP, скажем, в подсети 10.0.0.x и ссылаться на них по этому адресу вместо их фактического адреса 192.168.1.x? Каждая виртуальная машина и хост работают под управлением Ubuntu 9.04 64-bit.
Спасибо заранее, Дэйв Макклелланд
Редактировать: Копирую файл /etc/network/interfaces вместо того, чтобы прокомментировать его ниже — он испортился
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
решение1
Отредактируйте /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
Измените в соответствии с предпочитаемой вами сетевой подсетью/настройками.
Чтобы создать псевдоним на DHCP-сервере 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
Откройте интерфейс:
$ 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
решение2
Я столкнулся с тем же в Ubuntu. То, что вы редактируете файл интерфейса, чтобы жестко закодировать IP, не мешает DHCP-клиенту арендовать новый IP.
sudo /etc/init.d/dhcp stop
Как только вы увидите, что все работает, вы можете удалить DHCP-клиент навсегда, чтобы он больше не появлялся:
sudo apt-get remove dhcp3-client