指定 nfsroot 使用哪个网络接口

指定 nfsroot 使用哪个网络接口

我正在运行一个有两个网卡的服务器(Ubuntu 16.04)eno1eno2

  • eno1连接到外部并接收公有 IP通过 dhcp 地址
  • eno2连接到专用网络并接收私有 IP通过 dhcp 地址(例如192.168.0.2为了简单起见)

服务器启动并从私有网络上的第二台服务器(例如 192.168.0.1)接收所有内容。我遵循无盘 Ubuntu 操作指南并且一切运行良好。

  • 服务器获取 192.168.0.2 作为 IP 地址
  • 然后它通过 tftp(从 192.168.0.1)加载内核和 initramfs,并继续
  • 稍后它会挂载/,也位于 192.168.0.1

但最后一步存在一个问题。系统几乎同时尝试获取 eno1 和 eno2 的 IP 地址,有时 eno1 会先完成。然后系统尝试通过 eno1 查找 192.168.0.1,但当然无法找到并超时。

iface eno2 inet manual正如我在我的教程中包含的所述/etc/network/interfaces,以防止 eno2 丢失其地址,但这似乎没有帮助。

知道如何强制它使用 eno2 而不是首先使用哪个网络接口吗?

答案1

欲查看详细答案,请参阅nfsroot 文档

默认行为是使用为 nfsroot 配置的第一个接口。对于您来说,这是随机的,因为您有两个接口连接到两个不同的网络。

你可以通过向内核命令行添加以下命令来强制使用 nfsroot 网络接口:ip=:::::eno2:dhcp

对于网络启动教程,这将进入 /tftboot/pxelinux.cfg/default文件中的行APPEND。(替换ip=dhcp

相关内容