我正在运行一个有两个网卡的服务器(Ubuntu 16.04)eno1和eno2。
- 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
)