Это касается linux, но если кто-нибудь знает общий метод * nix, это было бы хорошо.
Вчера я загрузил систему с подключенным кабелем Ethernet. «NetworkManager» не установлен, поэтому после его запуска я отправился искать имя интерфейса Ethernet, ifconfig
чтобы вручную запустить клиент DHCP, но он не показал ничего, кроме lo
,
Сетевая карта была указана через lspci
, и соответствующий драйвер ядра был загружен. Система обычно использует Wi-Fi, и я мог вспомнить имя интерфейса для этого wlan0
. Когда я попробовал ifconfig wlan0 up
, wlan0
появился. Но только имена локальных сетей интерфейса я мог помнить , были eth[N]
и em[N]
- ни один из них работал.
Этот документ ссылается на «предсказуемые имена интерфейсов», но не помогает объяснить, какими они могут быть в простых терминах. Это относится к фрагменту исходного кода, который подразумевает, что имя в этом случае может быть выведено из шины PCI и номеров слотов, что выглядит как излишне сложная проблема.
Другие поиски привели меня к мысли, что это может быть определено systemd
в связи с udev
, но есть почти 100 файлов /usr/lib/udev/rules.d
и потратить час, пытаясь определить, где (и если ) есть файл конфигурации systemd для этого, также кажется смешным.
Также было бы неплохо знать наверняка, что они доступны, а не только как они могут быть названы, если они есть, так что я могу исключить проблемы с оборудованием и т. Д. Разве нет простого способа найти имена доступных сетевых интерфейсов? на Linux?
ip route
- я написал этот вопрос на следующий день после того, как проблема была решена (см. Мой собственный ответ); Я не имею привычки использовать ip
и не ценю чрезмерно спартанские справочные страницы, поэтому я, вероятно, отказался от них после одной попытки и начал проходить /sys
, так как я знал, что kmod был загружен и т. Д., И это было более простым мне. Я полностью уберу это из вопроса.
ip link
но затем вы принимаете ответ, который предполагает,ip link show
что делает то же самое. Почему?