Я пытаюсь установить имя для интерфейса, ethLan вместо eth0. Это также гарантирует, что имя if будет оставаться неизменным при каждой перезагрузке и ядре.
Я нашел некоторые статьи в этой теме, но им всего пару лет:
http://www.debian-administration.org/articles/463
http://www.linuxfromscratch.org/hints/downloads/files/ nameif.txt
Я сделал, как они сказали, и добавил ethLan mac в / etc / mactabs / . На данный момент у меня есть две проблемы:
1) if [...] && /sbin/nameif
Сценарий, который я поместил в /etc/network/if-pre-up.d/ , не запускается. Я решил это, добавив это в /etc/init.d/networking , но почему не работает if-pre-up.d ?
2) Интерфейс не загрузится, если я не выполню команду ifconfig ethLan вручную , несмотря на добавление его в / etc / network / interfaces . Что я делаю неправильно?
источник
udevadm info -a /sys/class/net/eth0
. (udevadm(8)
подробности см. )Для людей, которые сталкиваются с этим постом через поисковик, как я:
В Debian stretch и новее вы можете использовать файлы systemd .link, чтобы udev переименовал устройства. См. Https://manpages.debian.org/stretch/udev/systemd.link.5.en.html для справочной страницы.
Пример:
Не забудьте запустить
update-initramfs -u
потом, чтобы вставить эти обновленные файлы конфигурации в ваши initramfs, где они будут применены.источник
Есть немного более простой способ сделать это с помощью пакета с именем
ifrename
. Он имеет отдельный (изudev
) файл конфигурации, и вы можете использовать MAC-адреса для идентификации интерфейсов.Это противоречит,
wireless-tools
однако.источник
ifrename
будет конфликтовать с тем,udev
если оба будут использовать для интерфейсов постоянные имена.