LINUX.ORG.RU

сетевая карта «теряет» mac-адрес

 , ,


0

1

Всем доброго времени суток, малых пингов, стабильных систем и вкусных печенек! У меня такая проблема. В тырнете я решшения найти не смог, поэтому решил задать вопрос на этом форуме. У меня стоит кубунту уже 3 года и все было хорошо. Я не силен в администрировании линукс-систем и знаком с ними только на уровне пользователя. Так вот, все у меня было хорошо, пока вечерм 31-ого декабря не случился скачек напряжения и комп не вырубился. После включения обнаружил отсутствие сети. Когда делал ifconfig

у меня отображался только интерфейс lo. Когда я пытался поднять интерфейс eth0 с помощью

sudo ifconfig eth0 up

то получал сообщение что такого интерфейса нет. Получив список интерфейсов командой

cat /proc/net/dev

то узнал что мой называется enp2s0. При попытке поднять его получал сообщение, что заданный адрес неверен. Некоторое время помучавшись и погуглив нашел команду для задания mac-адреса вручную

ifconfig eth0 hw ether

Задав адрес и перезагрузив networking, у меня наконец заработала сеть. Но теперь после каждой перезагрузки компа эту процедуру приходится повторять. Нашел, что в папке

/etc/udev/rules.d/

должен быть файл для сетевой карты, но у меня его не было. Решил создать свой и назвал его 60-net-enp2s0.rules, куда внес строку для переименования этого интерфейса в eth0

SUBSYSTEM==«net», ATTR{address}==«00:26:18:54:7d:ef», NAME=«eth0»

Но как решить проблему с постоянным назначением мак адреса я не нашел. И интерфейс переименовываться так эе не захотел.

то узнал что мой называется enp2s0.

Вообще, это так сказать «предсказуемые» имена сетевых интерфейсов, которые появились с некоторого релиза systemd (udev), udev теперь уже часть systemd, где-то уже как 2 года.

Вообще, если система поставлена давно, то даже после обновления пакета с udev имена должны остаться старые, а не новые.

Для начала проверь файловые системы на ошибки.

А так, что бы отключить новый формат имён, то нужно добавить к параметрам ядра: net.ifnames=0

Почитай вот это: https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterface...

SUBSYSTEM==«net», ATTR{address}==«00:26:18:54:7d:ef», NAME=«eth0»

Делать этого не надо, смотри выше.

Но теперь после каждой перезагрузки компа эту процедуру приходится повторять. Нашел, что в папке

Пропиши команду смены мак адреса в функцию pre-up сетевого интерфейса.

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

Для начала проверь файловые системы на ошибки.

проверил диск - все хорошо.

Вообще, это так сказать «предсказуемые» имена сетевых интерфейсов, которые появились с некоторого релиза systemd (udev), udev теперь уже часть systemd, где-то уже как 2 года.

Возможно я немного ошибся и она стоит около 2-х лет. Убунту у меня стоит около 5-и лет, но я ее несколько раз переустанавливал, так что могу и ошибаться касательно нынешней системы.

А так, что бы отключить новый формат имён, то нужно добавить к параметрам ядра: net.ifnames=0

Если честно, то я немного очкую лезть в ядро, так что оставлю имена как есть) В целом мне не принципиально как они называются)

Пропиши команду смены мак адреса в функцию pre-up сетевого интерфейса.

Вроде проблема решилась после того, как добавил строку

hwaddress ether 00:26:18:54:7d:ef

в /etc/network/interfaces. Теперь этот файл выглядит так:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback



auto enp2s0
iface enp2s0 inet dhcp
hwaddress ether 00:26:18:54:7d:ef

Во всяком случае при перезагрузке проблема не проявилась.

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

Если честно, то я немного очкую лезть в ядро, так что оставлю имена как есть) В целом мне не принципиально как они называются)

Мда, 5 лет или больше используешь Linux и не знаешь, что такое параметры ядра. Это параметры, которые указаны в загрузчике, там где указывается корневой раздел root=трам_пам_пам, quiet и прочее.

Так вот там же нужно прописать и параметр net.ifnames=0 и он будет обрабатываться не ядром, а udev, просто он указывается в строке cmdline и всё. Нет, если тебя устраивают такие имена, то дело твоё.

в /etc/network/interfaces. Теперь этот файл выглядит так:

Но вообще, функция pre-up прописывается несколько иначе.

Почитай вот здесь: https://wiki.debian.org/ru/NetworkConfiguration

Т.е. вид примерное вот такой:

   iface eth0 inet manual
   pre-up ifconfig $IFACE up
   post-down ifconfig $IFACE down

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

Убунту у меня стоит около 5-и лет, но я ее несколько раз переустанавливал, так что могу и ошибаться касательно нынешней системы.

Возможно, проблема вовсе не в Ubuntu.
Включи панель управления - 192.168.1.1 в браузере и посмотри, как видит подключённые сетевые девайсы твоего модем/роутер.

Mac адресация - будет указана правильно, если модем работает правильно.

blitz ()
Ответ на: комментарий от kostik87

Мда, 5 лет или больше используешь Linux и не знаешь, что такое параметры ядра

я линух использую на уровне пользователя. Я его ставил чтобы выполнять на нем определенную работу, а не копаться в нем.

Т.е. вид примерное вот такой:

по этой ссылке написано, что эти строки используются для переключения интерфейса в режим моста. Мне не нужен мост, мне нужет обычный интерфейс, получающий настройки от моего маршрутизатора по дхцп

rukojob ()
Ответ на: комментарий от blitz

Возможно, проблема вовсе не в Ubuntu.

Проблема именно в убунту. Другие устройства, получающие адрес с моего роутера работают отлично.

Включи панель управления - 192.168.1.1 в браузере и посмотри, как видит подключённые сетевые девайсы твоего модем/роутер

подключенные девайсы он видит примерно так

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

Но у тебя же подключены к роутеру, все кто ни попало - девица Таня и другие ай-поделия.
Бордель, собственно.

> Другие устройства, получающие адрес с моего роутера работают отлично.

Должно быть лишь два устройства - твой комп и твой сматрфон.

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

Должно быть лишь два устройства - твой комп и твой сматрфон.

ну так это мой комп, мой айпд, мой айфон и комп моей жены. Это только таблица дхцп клиентов, а вообще устройств у меня несколько больше

rukojob ()
Ответ на: комментарий от blitz

не, дело не в них. Из-за скачка напряжения комп с линухом вырубился, а бесперебойник почему-то не сработал. Из-за этого линух и глючит. Проблема решилась редактированием /etc/network/interfaces.

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

Из-за скачка напряжения комп с линухом вырубился, а бесперебойник почему-то не сработал.

Это вызывает определённо беспокойство.
В квартире - разве нет защиты от перенапряжения на входе трёх-фазными автоматами и УЗИ?

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

ну соседи у нас люди простые, немного алконавтные, так что не думаю что у них там майнинг-ферма) но какое-нибудь дер%мо у себя вполне могут держать и им перегружать сеть - это я допускаю. А почему бесперебойник не сработал не знаю(( хреновый наверно просто. Когда скачек произошел, он сразу впал в припадок с протяжным беспрерывным писком. Очень мерзким. В себя пришел только после перезагрузки

rukojob ()