Мое новое устройство RPi 3 (yay) недавно загрузилось с деактивированной сетью Ethernet.
Итак, я посмотрел /etc/networks/interfaces
и увидел строку:
auto eth0
iface eth0 inet dhcp
Позвонив, ifup eth0
к сожалению, дал следующее сообщение:
eth0 No such device
No hardware found
Итак, я проверил свое ifconfig -a
и увидел странное устройство:
enx*MACADDRESS* Link encap:Ethernet HWaddr **:**:**:**:**:**
Попытка изменить /etc/networks/interfaces
имя привела к работающей сети. Как я могу изменить это имя устройства обратно eth0
?
PS: у меня нет никаких 70-persistent-net.rules
файлов. ОС Ubuntu MATE 15.10
Спасибо.
ethernet
networking
ethernet-port
Том Сивик
источник
источник
Ответы:
У меня была эта проблема при запуске Debian armhf на Raspberry Pi 2, вы можете изменить имя интерфейса, создав файл /etc/udev/rules.d/70-persistent-net.rules и поместив его в
замените b8: ac: 6f: 65: 31: e5 своим MAC-адресом eth0, перезагрузитесь, и он станет eth0, у вас может не быть доступа в Интернет после перезагрузки, потому что в / etc / network / interfaces определяется неправильный интерфейс, просто измените enx * к eth0
Редактировать: это не проблема, а новая схема именования интерфейсов «Предсказуемые имена интерфейсов», вы должны адаптировать ее и использовать вместо того, чтобы пытаться вернуть ее к старым.
источник
ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
. Это в основном отключение именования. Работает сейчас .. спасибо!KERNEL=="eth*"
запись для этого, чтобы работать.Это решение работает только в том случае, если вы видите странное устройство сетевого интерфейса, например,
env{hwdaddress}
при запуске$ ifconfig -a
вместоeth0
. Я попробовал все распространенные ответы о добавлении правил, но сработало только это исправление.Я использую Raspberry Pi 3 с предустановленным сервером Ubuntu 16.04 armhf. Короче говоря, запущены
$ apt-get update
добавленные предсказуемые имена сетевых интерфейсовОтредактируйте следующий файл:
Тебе следует увидеть:
Измените ИМЯ в конце следующим образом:
Сохранить изменения
Перезагружать. Теперь все должно работать, предполагая, что все указывает на eth0.
Редактирование (26.10.2016) Чтобы предотвратить перезапись этого исправления в будущих обновлениях, выполните следующие действия.
источник
eth0
моего Pi с Ubuntu Server 16.04. Спасибо. Одна небольшая модификация вашего ответа, которую я бы посоветовал вам попробовать, внедрить, а затем добавить к своему ответу: Скопируйте73-usb-net-by-mac.rules
файл в/etc/udev/rules.d/
каталог и измените его; если вы измените один из них,/lib/udev/rules.d
он может быть перезаписан в будущем обновлении ОС.Распи-конфиг это самый простой способ.
Если вы используете Raspbian, то он установлен по умолчанию. Но если вы работаете в Ubuntu, Mint или Mate, вы можете установить его командой ниже:
Затем вы можете настроить его с помощью raspi-config.
Выполнено.
источник
Это НЕ «ошибка», это «особенность» « согласованное именование сетевых устройств ». (Я не вижу ничего последовательного в этом.)
Есть, вероятно, много способов «исправить» это, но они могут не работать, если меняется оборудование.
Чтобы восстановить предыдущее поведение, добавьте "net.ifnames = 0 biosdevname = 0" в конец
cmdline.txt
.источник
net.ifnames=0
. Я не верю, что кому-то нужно следить за сообщениями об ошибках, чтобы популярная ОС работала с общей аппаратной конфигурацией, но это жизнь. bugs.launchpad.net/ubuntu/+source/systemd/+bug/1593379config.txt
подлинник не работает на Pi как документированная ошибка (возможно, теперь, когда вышел последний выпуск udev, который наконец-то исправился). Это удивительно неизвестная ошибка, которая затрагивает все системы с Ethernet на USB.Я не сталкивался с этим конкретно с MAC-адресом как частью имени, однако то, что вы испытываете, называется согласованным именованием сетевых устройств.
Это было сделано, потому что это возможно, и, возможно, даже в некоторых системах с несколькими сетевыми картами, что карты выйдут из строя и, используя схему именования eth0, eth1 и т. Д., Вы в конечном итоге примените правила маршрутизации и тому подобное. на неправильный интерфейс.
Многие дистрибутивы Linux перешли на какое-то согласованное именование сетевых устройств, обычно это будет выглядеть примерно так
enp0s1
, идентифицируя шину PCI и точку подключения к шине (0 и 1 соответственно).Вы можете получить дополнительную информацию по адресу https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/ch-Consistent_Network_Device_Naming.html , а также о том, как изменить свою систему на старый способ работы вещи, если вы все еще хотите сделать это.
источник
У меня была та же проблема для Ubuntu Server 16.04, запущенного в Raspberry Pi 2, и это (см. Ссылку ниже) помогло мне решить проблему
https://bugs.launchpad.net/ubuntu-pi-flavour-maker/+bug/1585335
источник
Просто:
sudo ln -s /dev/null /etc/systemd/network/99-default.link
а также
sudo reboot
.Источник: https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
источник
С помощью odroid создание этого файла решило мою проблему
источник
У меня была та же проблема на Raspberry Pi 2 с Ubuntu 16.04, и что работало, следуя по ссылке из #goutam и добавляя /etc/udev/rules.d/70-persistent-net.rules со следующим:
источник
Я нашел это предложение здесь :
Измените одну строку в 70-persistent-net.rules на
который отбрасывает атрибут KERNEL и изменяет NAME с = на: =
Кажется, он принудительно устанавливает любой найденный MAC-адрес в eth0 Работает на Raspberry Pi и загрузочных системах Uboot.
источник
Для меня, запустив Debian Unstable на Raspberry Pi 2, символическая ссылка, упомянутая в комментарии к первому ответу, тоже была правильной идеей, но ее имя должно было быть другим:
ln -vis /dev/null /etc/udev/rules.d/80-net-setup-link.rules
источник
enx
имена интерфейсов на Raspi 2 и 3. Я в настоящее время не могу вспомнить, как интерфейс WLAN был назван на Raspi 3.просто отключите правила udev, отвечающие за процесс переименования интерфейса, т.е.
или
РЕДАКТИРОВАТЬ: thx @ sparkie за выявление ошибки. Я всегда путаю заказ. :)
источник
Я понимаю, что этот вопрос старый, но я столкнулся с этой проблемой, и ни одно из предложенных решений на этой странице до сих пор не решило мою проблему. Мне кажется, что трюк с правилами rules.d ничего не делает.
Мое решение состояло в том, чтобы просто написать сценарий, который идет в папке init.d, чтобы назначить DHCP для проводного порта Ethernet независимо от имени. Это важно, потому что у меня есть несколько блоков Raspberry Pi, и все они столкнулись с этой же проблемой. (очень расстраивает)
Моя проблема усложняется, потому что у меня есть папка сетевого хранилища, которую нужно смонтировать во время процесса загрузки. Из-за того, что интерфейс не подошел, это монтирование не удалось, и все стало для меня все хуже и хуже.
Вот мое решение. Я надеюсь, что это поможет кому-то еще, кто не может найти присоединение, используя ответы выше
Создайте файл /etc/init.d/raspi-init-network, используя ваш любимый текстовый редактор. Мне нравится использовать vi.
Это код, который принадлежит в файле
Убедитесь, что скрипт исполняемый
Активируйте код, чтобы он выполнялся во время загрузки, выполнив команду update-rc.d.
После этого у меня не было ни одной проблемы, и я смог скопировать код на все мои устройства Pi с одинаковыми устойчивыми результатами.
ПРИМЕЧАНИЕ. Если вы не монтируете диски, вы можете пропустить строку «mount -a».
TWEAKS: Если вы используете свой Wi-Fi, вы можете изменить строку, которая начинается с «interface =», и отредактировать первый сегмент «grep». Этот первый grep захватывает всю строку интерфейса, который вы хотите использовать. Второй grep берет эту строку и возвращает только имя интерфейса.
источник