Гости Ubuntu 18.04, клонированные виртуальным боксом, имеют одинаковый IP-адрес, но другой MAC-адрес в сети NAT

Я попытался создать группу виртуальных машин в Virtualbox и подключить их к сети NAT. Основная информация показана ниже:

The Virtualbox version: 6.0.12
The Ubuntu guest version: ubuntu-18.04.2
The NAT network info:
     NetworkName:    natnet22
     IP:             192.168.13.1
     Network:        192.168.13.0/24
     IPv6 Enabled:   No
     IPv6 Prefix:    fd17:625c:f037:2::/64
     DHCP Enabled:   Yes
     Enabled:        Yes
     loopback mappings (ipv4)
             127.0.0.1=2

Когда я закончу создание машины Ubuntu, DHCP-сервер, возможно, назначит ей ip 192.168.13.4 . Но когда я клонировал машину, я меняю MAC-адрес клонированной. DHCP-сервер все еще назначает ip 192.168.13.4 клонированному.

Почему клонированный Ubuntu получает тот же IP-адрес с исходным кодом? Мне нужно, чтобы у них были разные ip в сети NAT для управления ими. Пожалуйста, помогите мне решить проблему.

0
задан 10 October 2019 в 09:21

3 ответа

Попробуйте выполнить следующие команды на клонированной виртуальной машине:

sudo ip address flush scope global
sudo dhclient -v
0
ответ дан 2 January 2020 в 21:46

Выполните следующие команды в оболочке bash. Использовать идентификатор машины в качестве идентификатора.

sudo rm /etc/machine-id
sudo systemd-machine-id-setup
1
ответ дан 1 March 2020 в 16:24

В новых версиях Ubuntu netplan используется для настройки сети. Файл /etc/machine-id используется для создания идентификатора DHCP по умолчанию, а не для использования MAC-адреса сетевой карты.

Когда система Ubuntu клонируется, в процессе клонирования может измениться MAC-адрес сетевой карты, но обычно это не приводит к автоматическому изменению /etc/machine-id.

В ваших двух системах вы можете сравнить содержимое /etc/machine-id, и оно, вероятно, будет одинаковым.

У вас есть два варианта:

  1. Изменить идентификатор машины хотя бы на одном из серверов (ответ huangjunpo)

    user@host:~$ cat /etc/machine-id
    d8dcd93cd8bffce0f7ed73875eb5be3a
    user@host:~$ sudo rm /etc/machine-id
    user@host:~$ sudo systemd-machine-id-setup
    Инициализация идентификатора машины из генератора случайных чисел.
    user@host:~$ cat /etc/machine-id
    4b603489b08541ce9127791047081f46
    
  2. Если вы используете netplan, измените способ построения netplan идентификатора клиента для DHCP, чтобы использовать MAC-адрес, добавив dhcp-identifier: mac в файл конфигурации netplan в /etc/netplan. ]. Добавьте его под любой интерфейс, который вам нужен, и будьте осторожны с отступами в файле yaml. (см. netplan.io - примеры)

    user@host:~$ cat /etc/netplan/00-installer-config.yaml
    # Это сетевая конфигурация, написанная 'subiquity'
    сеть:
    Ethernet:
    enp3s0:
    DHCP4: правда
    DHCP-идентификатор: Mac
    версия: 2
    

После внесения этого изменения вам нужно будет применить его, чтобы оно вступило в силу.

sudo netplan apply

Обратите внимание, что /var/lib/dbus/machine-id связан с /etc/machine-id.

user@host:~$ ls -l /var/lib/dbus/machine-id
lrwxrwxrwx 1 root root 15 May  8 20:30 /var/lib/dbus/machine-id -> /etc/machine-id
4
ответ дан 8 May 2020 в 20:53

Другие вопросы по тегам:

Похожие вопросы: