Изменение названия сетевых интерфейсов Ubuntu 16.04
Я пытался изменить имя сетевых интерфейсов в этой новой версии Ubuntu 16.04 LTS, но у меня нет /etc/udev/rules.d/70-persistent-net.rules .
Итак, я попытался использовать /lib/udev/write_net_rules, но он не существует.
Зачем мне эта модификация?
Потому что я использую инструмент для симуляции виртуальных платформ, которые используют гибкое лицензирование, а аутентификация должна быть в имени интерфейса eth0.
Любое предложение?
Команда ip link возвращает
user@laptop:~$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
link/ether b8:2a:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff
3: wlp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 5c:e0:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff
user@laptop:~$ ifconfig
enp6s0 Link encap:Ethernet HWaddr b8:2a:xx:yy:xx:yy
lo Link encap:Local Loopback
wlp7s0 Link encap:Ethernet HWaddr 5c:e0:xx:yy:xx:yy
(Некоторая информация была проигнорирована и подавлена XD) Я уже пробовал некоторые ссылки:
Имя сетевого интерфейса изменяется после обновления до 15.10 - изменения udev Как переименовать интерфейс Ethernet?
Спасибо за помощь.
4 ответа
Существует много вводящей в заблуждение информации о том, как изменить сетевые имена в последних версиях Ubuntu. Некоторая информация указывает на systemd.link, что просто неправильно, потому что Ubuntu (по состоянию на 16.04) не использует эту часть systemd.
На самом деле, изменение имени интерфейса работает почти так же, как раньше, с двумя небольшими отличиями: во-первых, файл /etc/udev/rules.d/70-persistent-net.rules
теперь должен быть создан вручную. Преимущество этого заключается в том, что вам не нужно беспокоиться о каком-либо сценарии, перезаписывающем этот файл, и вы можете просто добавлять нужные строки (вам также не нужны комментарии). Второе - и это изменение, которое стоило мне много времени, чтобы понять это - формат немного изменился по сравнению с Ubuntu 14.04 LTS:
Строка для привязки имени интерфейса сетевого адаптера с MAC-адресом "02:01:02:03:04:05" к "eth0" теперь:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:01:02:03:04:05", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"
Эта строка выглядит почти так же, как в Ubuntu 14.04 LTS, с одним небольшим отличием: в Ubuntu 14.04 было дополнительное условие KERNEL=="eth*"
, Почему-то это не работает в Ubuntu 16.04 LTS. Если это дополнительное условие присутствует, вся строка игнорируется, и вы возвращаетесь к поведению по умолчанию (как указано в 80-net-setup-link.rules
).
В Ubuntu 16.04.1 LTS, Linux plaptop 4.4.0-31-genericx86_64 MATE.Шаг один из ответа @Geancarlo Abich, и это сработало. Ubuntu создал новые имена сразу после перезагрузки:
Отредактируйте ваш / etc / default / grub, изменив строку с
GRUB_CMDLINE_LINUX=""
в
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
и наконец:
$ sudo update-grub
и перезагрузите вашу систему:
$ sudo reboot
msa@plaptop:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 70:5a:0f:d7:03:38
inet addr:10.67.10.43 Bcast:10.67.10.255 Mask:255.255.255.0
inet6 addr: fe80::8c03:edb5:a3d1:ba21/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:63129 errors:0 dropped:0 overruns:0 frame:0
TX packets:37788 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:51115719 (51.1 MB) TX bytes:5006758 (5.0 MB)
Interrupt:16 Memory:f1200000-f1220000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:255 errors:0 dropped:0 overruns:0 frame:0
TX packets:255 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:21076 (21.0 KB) TX bytes:21076 (21.0 KB)
wlan0 Link encap:Ethernet HWaddr 44:85:00:62:c6:e5
inet addr:10.67.14.106 Bcast:10.67.14.255 Mask:255.255.255.0
inet6 addr: fe80::5844:f9dd:32ff:9b45/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25 errors:0 dropped:0 overruns:0 frame:0
TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5320 (5.3 KB) TX bytes:14611 (14.6 KB)
Ubuntu-16,04-сервер-amd64
В /etc/default/grub
, менять
GRUB_CMDLINE_LINUX=""
в
GRUB_CMDLINE_LINUX="net.ifnames=0"
Затем введите:
sudo update-grub
и перезагрузите вашу систему
sudo reboot
Я попытался смешать некоторые предложения, и я нашел решение!
Шаг 1. Отключите наследуемые имена прошивки по умолчанию.
Отредактируйте свой /etc/default/grub
изменяя линию от
GRUB_CMDLINE_LINUX=""
в
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
и, наконец, запустить от имени пользователя root:
$ sudo update-grub
и перезагрузите вашу систему.
$ sudo reboot
Шаг 2. Создайте постоянный файл /etc/udev/rules.d/70-persistent-net.rules
как корень и заполните их.
$ sudo gedit /etc/udev/rules.d/70-persistent-net.rules
Пример:
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device lan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="ethX"
# PCI device Wlan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wlanX"
(Используйте MAC-адрес интерфейсов, чтобы обратиться к интерфейсу, который вы хотите переименовать, и измените значения имени интерфейса "X", как вы хотите)
Сохраните изменения и перезагрузите компьютер.
$ sudo reboot
Это работает для меня.