如何在 Debian 中设置静态 IP 地址而不考虑接口硬件?

如何在 Debian 中设置静态 IP 地址而不考虑接口硬件?

我正在为小型服务器使用 Debian 最小操作系统。我想要一个具有完整操作系统的存储设备作为备份。因此,如果出现任何问题,我将能够更换硬盘设备。但我安装备份操作系统的硬件与服务器不同。因此,我需要一种为网络接口设置静态IP地址的方法,无论接口硬件类型如何。

我使用了一个环境变量,并在 /etc/network/interfaces 文件中使用它,它适用于 DHPC,但对于静态 IP,它不起作用。这是接口文件:

auto lo
iface lo inet loopback

auto $local_int
iface $local_int inet static
        address 192.168.111.250/24
        gateway 192.168.111.1
        dns-server 8.8.8.8

我使用此命令将接口名称存储在环境变量中: local_int=$(ls /sys/class/net/ | grep en)

的输出echo $local_intens33.

答案1

我不知道您是如何设法设置环境变量并使其在您的interfaces配置中可用的?

然而,依赖于硬件的接口命名(例如ens33)是一个功能。显然,您可以停用此功能,并返回到旧的简单命名,以便您的接口名称始终为eth0.当您的接口始终被命名eth0为独立于硬件时,那么您可以在interfaces文件中使用它。

就我个人而言,我对旧的命名系统从来没有遇到过问题。但显然,如果您有超过 1 个 NIC,它可能会不稳定,这就是为什么首先实施新的命名功能的原因。但是,如果每台服务器只有 1 个 NIC,那么这应该是安全/稳定的。

我自己没有安装 Debian,所以无法测试它。但是文档似乎没那么复杂:

禁用整个当前接口命名方案的简单方法是使用内核参数 net.ifnames=0 启动 [...]

相关内容