我正在运行 Debian 8.6,但突然无法获取 eth0 地址。
/etc/network/interfaces looks like this:
auto lo
iface lo inet loopback
auto eth0 inet dhcp
我没有明确升级操作系统上的任何内容,并且其他计算机正在连接到网络。
任何人都可以提供有关可能出现问题以及如何出现问题的任何见解吗?
答案1
默认接口名称已由 systemd 重命名。如果您想要旧的行为,请将net.ifnames=0
参数传递给内核。 (在 grub.cfg 或/etc/default/grub
)
答案2
任何人都可以提供有关可能出现问题以及如何出现问题的任何见解吗?
可以在以下位置找到快速答案Archlinux-wiki:
对于具有多个 NIC 的计算机,具有固定的设备名称非常重要。许多配置问题都是由接口名称更改引起的。 udev 负责哪个设备获得哪个名称。 Systemd v197 引入了可预测的网络接口名称,它自动为网络设备分配静态名称。接口现在以 en(有线/以太网)、wl(无线/WLAN)或 ww(WWAN)为前缀,后跟自动生成的标识符,创建一个条目,例如
enp0s25
.可以通过添加net.ifnames=0
内核参数来禁用此行为。
要获取以前的接口名称,您可以:
1) 将您的/etc/default/grub
更改编辑GRUB_CMDLINE_LINUX=""
为:
GRUB_CMDLINE_LINUX="net.ifnames=0"
如果biosdevname
安装了,您需要添加:
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
更新grub:
update-grub
或者
grub-mkconfig -o /boot/grub/grub.cfg
并重新启动
2)您也可以创建一个新的udev-rule
:
编辑/etc/udev/rules.d/70-persistent-net.rules
然后将您的界面名称更改为eth0
3)如果biosdevname
软件包已安装在您的系统上,请将其删除,然后更新 initramfs
apt-get purge biosdevname
update-initramfs -u
删除/etc/udev/rules.d/70-persistent-net.rules
然后编辑你的/etc/network/interfaces
(在你的情况下没问题),重新启动你的系统