Как переименовать сетевой интерфейс в 15.10?

Я решил сделать чистую установку 15.10, и в результате нужно переустановить MATLAB. Лицензии MATLAB привязаны к аппаратному адресу eth0.

Моя карта Ethernet указана как enp1s0, и мне нужно переименовать ее в eth0. только вот указан в /etc/network/interfaces, а также /etc/udev/rules.d/70-persistent-net.rules не существует, поэтому я не уверен, с чего начать.

5 ответов

Мое решение для этого было создать файл /etc/udev/rules.d/10-rename-network.rules с содержанием:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"

У меня была такая же проблема и добавление файлов в /etc/udev/rules.d/ не помогло. Похоже, проблема заключается в использовании предсказуемых имен сетевых интерфейсов, как описано здесь. Чтобы создать собственную схему именования вручную, т. Е. Назвать ваше устройство "eth0" для MATLAB, вы можете создать свою собственную .link файлы в /etc/systemd/network/ как описано здесь.

В частности, я создал файл /etc/systemd/network/10-eth.link с содержанием

[Match]
MACAddress=ff:ff:ff:ff:ff:ff
[Link]
Name=eth0

замена ff:ff:ff:ff:ff:ff с MAC-адресом устройства, которое я хотел изменить. После перезагрузки имя было по желанию.

Если по какой-либо причине ответ, предложенный @zab, не работает для вас, вы также можете отключить эту схему именования, как здесь. Но метод, предложенный @zab, потенциально безопаснее

Я просто не включил biosdevname=0 в аргумент командной строки, он по умолчанию выключен.

Следующие шаги должны быть сделаны:

$ sudo nano /etc/default/grub

В строке GRUB_CMDLINE_LINUX добавьте net.ifnames=0

GRUB_CMDLINE_LINUX="[previous parameters] net.ifnames=0"

Затем сгенерируйте новый файл grub:

$ sudo grub-mkconfig -o /boot/grub/grub.cfg

По окончании перезагрузите систему.

У меня была проблема с сервером 16.04 (минимальная) на Raspberry Pi 3, и ни один из опубликованных ответов не помог. Решением проблемы было отключение предсказуемых имен сетевых интерфейсов, как описано здесь: https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

запустив эту команду:

ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

Это работало для меня на сервере 16.04, поскольку eno1 показывал, когда я делал ifconfig -a, Я должен был вызвать интерфейс как ifconfig eno1 up Затем я сделал следующее:

vi /etc/udev/rules.d/10-network.rules

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"
Другие вопросы по тегам