2

Я думаю, что это связано с предсказуемыми именами сетевых интерфейсов. Устройство Raspberry Pi B модели работает на кали (kali-next)

  1. Имена, включающие в себя номера встроенного ПО /BIOS для бортовых устройств (пример: eno1)
  2. Имена, включающие встроенное ПО /BIOS, снабженные индексными номерами слотов горячего подключения PCI Express (пример: ens1)
  3. Имена, включающие физическое / географическое расположение соединителя оборудования (пример: enp2s0)
  4. Имена, включающие MAC-адрес интерфейсов (пример: enx78e7d1ea46da)
  5. Классическое, непредсказуемое именование ядра ethX для ядра (пример: eth0)

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

Где я могу отключить политику 4? Я не знаю, почему он включен в первую очередь. Похоже, что прошивка /BIOS не предоставили информацию об индексе / местоположении для интерфейса Ethernet.

$ udevadm test-builtin net_id /sys/class/net/enx78e7d1ea46da 2> /dev/null
ID_NET_NAME_MAC=enx78e7d1ea46da
ID_OUI_FROM_DATABASE=Raspberry Pi Foundation

3 ответа3

1

Эта проблема, по-видимому, вызвана ошибкой в /lib/udev/rules.d/73-usb-net-by-mac.rules в версиях до v233 пакетов debian и ubuntu udev.

Проблема была исправлена этим коммитом:

https://anonscm.debian.org/cgit/pkg-systemd/systemd.git/commit/debian/extra/rules/73-usb-net-by-mac.rules?id=9e202a329175b0ca4eaa09a75897aa2044eb7d7a

Смотрите также:

https://askubuntu.com/questions/811295/73-usb-net-by-mac-rules-issue-with-net-ifnames/895879#895879

На момент написания этой статьи v233 не была выпущена для Debian jessie.

Один из способов решить проблему локально - отредактировать файл таким же образом, как и при фиксации выше, а затем перезагрузить компьютер.

0

После нескольких часов копания и бездействия я нашел исправление для Raspberry Pi 3 с предустановленным сервером Ubuntu 16.04 armhf. Короче говоря, запущено $ apt-get update добавлены предсказуемые имена сетевых интерфейсов.

Отредактируйте следующий файл:

$ vim /lib/udev/rules/73-usb-net-by-mac.rules

Тебе следует увидеть:

ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", NAME=="", \
    ATTR{address}=="?[014589cd]:*", \
    TEST!="/etc/udev/rules.d/80-net-setup-link.rules", \
    IMPORT{builtin}="net_id", NAME="$env{ID_NET_NAME_MAC}"

Измените ИМЯ в конце следующим образом:

ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", NAME=="", \
    ATTR{address}=="?[014589cd]:*", \
    TEST!="/etc/udev/rules.d/80-net-setup-link.rules", \
    IMPORT{builtin}="net_id", NAME="eth0"

Сохранить изменения. Перезагружать. Теперь все должно работать, предполагая, что все указывает на eth0.

-1
rm /lib/systemd/network/90-mac-for-usb.link
ln -s /dev/null /lib/systemd/network/90-mac-for-usb.link

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .