如何通过 MAC 地址分配静态 IP 地址

如何通过 MAC 地址分配静态 IP 地址

您好,我遇到了一个不寻常的情况。我正在多个 MicroTCA 机箱上实施一个系统。我为这些机箱配备了多台单板计算机。每个 SBC 都有三个以太网接口和关联的 MAC 地址。我正在运行 Ubuntu Desktop 16.04 LTS。

我想要一个可以部署在所有机箱上的单个 SSD 映像。我希望该 SSD 映像知道要为其看到的任何 MAC 地址分配什么静态 IP 地址。这样我就可以将任何 SBC 插入任何机箱并获得正确的 IP 地址。

我发现 Ubuntu 中的图形网络工具允许我通过 MAC 分配静态 IP,但我不知道它将这些信息存储在哪里。我不想通过该工具单击来为所有 SBC 上的三个接口中的每一个进行所有这些分配。

我查看了编辑,/etc/network/interfaces但它按接口名称分配静态 IP 地址,即eth0enp13s0我不知道这些名称是否在所有 SBC 上都相同。在我的计算机上,我通常会看到“enp11s0”、“enp12s0”和“enp13s0”。

我无法使用外部 DHCP 服务器来分配 IP 地址。

是否有一个文件可以编辑来定义静态 IP 地址到 MAC 地址的映射?

任何意见是极大的赞赏。

答案1

你可以在 SSD 上存储一个脚本,其中包含 MAC 地址到 ip 的映射,并使用 nmcli 进行设置

nmcli connection add ifname ifname [con-name name] [autoconnect {yes | no}] [save {yes | no}] [master master] [slave-type type]
   [type type] [ARGUMENTS...] [ip4 addr] [gw4 addr] [ip6 addr] [gw6 addr] [-- [+|-]setting.property value ...]

有关这些参数的更多详细信息

man nmcli 

大约 140 行

相关内容