Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Название сетевых интерфейсов  (Прочитано 3958 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Lith

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Название сетевых интерфейсов
« : 20 Июнь 2017, 13:41:16 »
Приветствую всех.
Объясните, от чего зависит имя сетевого интерфейса? Почему при переподключении, например, usb wifi адаптера в один и тот же usb порт, каждый раз имя интерфейса меняется. Дело в том, что у меня скрипт, который завязан на имени интерфейса, а если он меняется, соответственно скрипт не работает, и даже катнуть его из конфига не получится, потому что кол-во символов в имени каждый раз разное. То wlan0, то wlan1, то wlp0s4u20, то wlp2s0 и прочее и прочее. Можно как то зафиксировать его?

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2084
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Название сетевых интерфейсов
« Ответ #1 : 20 Июнь 2017, 13:50:57 »
Через правило udev.

В команде которая ниже, вместо xx:xx:xx:xx:xx:xx впиши мас адрес своего устойства wifi и выполни команду из терминала.
После перезагрузки проверь командой ifconfig -a
Имя интерфейса теперь должно быть всегда wlan0

echo 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"' | sudo tee -a /etc/udev/rules.d/70-persistent-net.rules

Оффлайн Lith

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Название сетевых интерфейсов
« Ответ #2 : 20 Июнь 2017, 14:07:42 »
ecc83, благодарю, однако, не вышло. Правило создалось, я проверил по указанному пути. После перезагрузки вместо вписанного wlan1, имя wlp0s2u201. Команду я скопировал из вашего поста, поменял только мак и название.

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2084
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Название сетевых интерфейсов
« Ответ #3 : 20 Июнь 2017, 14:44:45 »
ecc83, благодарю, однако, не вышло.

Перед тем как предложить решение, я попробовал это у себя. У меня всё вышло.

Оффлайн Lith

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Название сетевых интерфейсов
« Ответ #4 : 20 Июнь 2017, 15:18:10 »
ecc83, чтобы не быть голословным
14:57 ubuntu ~ $ cat /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="MAC", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan1"

Пользователь добавил сообщение 20 Июнь 2017, 15:22:13:
Насколько я понимаю правило применимо к любому интерфейсу, даже от юсб адаптера?

Пользователь добавил сообщение 20 Июнь 2017, 15:30:34:
Попробовал с интерфейсом встроенного модуля вайфай - тот же результат. Видимо, что-то все таки не так.
« Последнее редактирование: 20 Июнь 2017, 15:30:34 от Lith »

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2084
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Название сетевых интерфейсов
« Ответ #5 : 20 Июнь 2017, 15:31:34 »
ecc83, чтобы не быть голословным

Что это такое у вас?

Цитировать
ATTR{address}=="MAC"

Где в вашем правиле указан мас адрес устройства, по которому нужно определить это устройство?
Вы понимаете что такое мак адрес?

Оффлайн Lith

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Название сетевых интерфейсов
« Ответ #6 : 20 Июнь 2017, 15:39:52 »
ecc83, понимаю, поэтому и не публикую его тут, а заменяю. Разумеется в правиле указан верный.

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2084
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Название сетевых интерфейсов
« Ответ #7 : 20 Июнь 2017, 15:51:49 »
Разумеется в правиле указан верный.

Вы абсолютно уверены, что не допустили ошибку в цифрах и синтаксисе его написания?
Там должно быть 12 цифр. Посмотреть этот адрес можно командой:

sudo lshw -class network
Далее в строке "серийный №" будет адрес. В правило нужно вносить его в кавычках.

Оффлайн Lith

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Название сетевых интерфейсов
« Ответ #8 : 20 Июнь 2017, 15:54:03 »
ecc83,
ip actrl+shift+c/v
Не ошибся...

Оффлайн symon.2014

  • Забанен
  • Старожил
  • *
  • Сообщений: 1225
  • Ковырятель страны OS.
    • Просмотр профиля
Re: Название сетевых интерфейсов
« Ответ #9 : 20 Июнь 2017, 16:07:20 »
wlp0s4u20 - свисток usb (или ноут) для 16.04
wlan0 cетевая для 14.04
wlp2s0 для 16.04

Примерно (ИМХО)

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4315
  • Capture the truth
    • Просмотр профиля
Re: Название сетевых интерфейсов
« Ответ #10 : 20 Июнь 2017, 16:13:35 »
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="wlan1"
не нужно никаких drivers, id, kernel, и прочего мусора
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн Lith

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Название сетевых интерфейсов
« Ответ #11 : 20 Июнь 2017, 16:21:41 »
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="wlan1"
не нужно никаких drivers, id, kernel, и прочего мусора
Оп, а вот так заработало! Премного благодарен!

 

Страница сгенерирована за 0.172 секунд. Запросов: 22.