通过 virtualbox 克隆的 Ubuntu 18.04 客户机在 NAT 网络中具有相同的 ip 但不同的 mac 地址

通过 virtualbox 克隆的 Ubuntu 18.04 客户机在 NAT 网络中具有相同的 ip 但不同的 mac 地址

我尝试在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 服务器可能会192.168.13.4为其分配 IP。但是当我克隆机器并更改克隆机器的 MAC 地址时。DHCP 服务器仍然192.168.13.4为克隆机器分配 IP。

为什么克隆的 Ubuntu 会获得与源相同的 IP?我需要它们在 NAT 网络中具有不同的 IP 来控制它们。请帮我解决这个问题。

答案1

在较新的 Ubuntu 版本中,netplan 用于配置网络。默认情况下,文件 /etc/machine-id 用于创建 DHCP 标识符,而不是使用 NIC 的 MAC 地址。

当克隆 Ubuntu 系统时,克隆过程可能会更改 NIC 的 MAC 地址,但通常不会自动更改 /etc/machine-id。

在您的两个系统上,您可以比较 /etc/machine-id 的内容,它们可能相同。

您有两个选择:

  1. 至少在一台服务器上更改机器ID(huangjunpo的回答)

    user@host:~$ cat /etc/machine-id
    d8dcd93cd8bffce0f7ed73875eb5be3a
    
    user@host:~$ sudo rm /etc/machine-id
    user@host:~$ sudo systemd-machine-id-setup
    Initializing machine ID from random generator.
    
    user@host:~$ cat /etc/machine-id
    4b603489b08541ce9127791047081f46
    
  2. dhcp-identifier: mac如果使用 netplan,请通过在 netplan 配置文件中添加以下内容来更改 netplan 为 DHCP 构建客户端标识符的方式以使用 MAC 地址/etc/netplan。将其添加到您需要的任何接口下,并注意 yaml 文件中的缩进。(请参阅netplan.io-示例

    user@host:~$ cat /etc/netplan/00-installer-config.yaml
    # This is the network config written by 'subiquity'
    network:
      ethernets:
        enp3s0:
          dhcp4: true
          dhcp-identifier: mac
      version: 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

答案2

在克隆的虚拟机上尝试以下命令:

sudo ip address flush scope global
sudo dhclient -v

答案3

在 bash shell 中运行以下命令。使用机器的 id 作为标识符。

sudo rm /etc/machine-id
sudo systemd-machine-id-setup

相关内容