LINUX.ORG.RU
решено ФорумAdmin

Ubuntu 16.04: Изменение наименования сетевых интерфейсов

 


0

1

После установки Ubuntu 16.04.1 имя сетевого интерфейса стало ens33. Добавил в конфигурацию загрузки “net.ifnames=0 biosdevname=0»

Имя стало eth0, теперь я хочу его поменять на, скажем. eth1.

Файл: /etc/udev/rules.d/70-persistent-net.rules отсутствует.

Команда #udevadm trigger --subsystem-match=net --action=add данный файл не создает



Последнее исправление: tyrpyr (всего исправлений: 1)

ifconfig eth0 down

ip link set eth0 name eth1

ifconfig eth1 up

sova ★★
()

Ты перепробовал все варианты, выхода нет, вдоль.

PS Создай файл вручную, будь мужиком, ... !

berrywizard ★★★★★
()

Разобрался:

в Ubuntu 16.4 отсутствует генератор файла: /lib/udev/write_net_rules

Создал файл /etc/udev/rules.d/70-persistent-net.rules руками:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth7"

По сравнению с Debian 7 в файле нет параметра KERNEL==«eth*»

tyrpyr
() автор топика
Ответ на: комментарий от tyrpyr

Если кому интересно, правила в стиле циски (имя интерфейса зависит от номера слота и номера порта):

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ENV{ID_BUS}=="pci", ENV{NET_MATCHID}=="0000:01:01.0", ATTR{type}=="1", KERNEL=="eth*", NAME="e1p0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ENV{ID_BUS}=="pci", ENV{NET_MATCHID}=="0000:01:01.1", ATTR{type}=="1", KERNEL=="eth*", NAME="e1p1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ENV{ID_BUS}=="pci", ENV{NET_MATCHID}=="0000:01:09.0", ATTR{type}=="1", KERNEL=="eth*", NAME="e9p0"
Толстый плюс такого варианта — при замене сетевой платы имена не съезжают, в отличие от именования по MAC-адресу. Например, здесь --
[root@st2 tmp]# lspci -nn | fgrep -i ethe
02:00.0 Ethernet controller [0200]: Intel Corporation 82576 Gigabit Network Connection [8086:10c9] (rev 01)
02:00.1 Ethernet controller [0200]: Intel Corporation 82576 Gigabit Network Connection [8086:10c9] (rev 01)
03:00.0 Ethernet controller [0200]: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet [14e4:1639] (rev 20)
03:00.1 Ethernet controller [0200]: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet [14e4:1639] (rev 20)
[root@st2 tmp]#
выгоревшую Broadcom достаточно заменить на любую другую двухпортовую плату, и можно снова запускать сервер. Вот с распаянной на MB Intel придётся таки правила рихтануть, это да.

berrywizard ★★★★★
()
Ответ на: комментарий от berrywizard

а разве по дефолту не так? Оо

$ ifconfig | grep enp
enp2s0    Link encap:Ethernet <...>
enp3s0    Link encap:Ethernet <...>
$ lspci | grep Ethe
02:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

Deleted
()
Ответ на: комментарий от tyrpyr

в Ubuntu 16.4 отсутствует генератор файла: /lib/udev/write_net_rules

Его выкинули в очередном systemd. Кстати, так же выкинули из udev код, обеспечивающий обмен имён. То есть, если у тебя eth0 есть, eth1 ты сделаешь, а вот если у тебя есть и eth0, и eth1, то местами ты их с новым udev из нового systemd не поменяешь. Надо откатывать это «нововведение».

AS ★★★★★
()
Ответ на: комментарий от AS

Спасибо за примечание, проверил на Debian 8 под виртуалкой c 3 сетевухами - мои изменения сохранились.

tyrpyr
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.