Настроить сетевую карту, не зная ее имени

Настроить сетевую карту, не зная ее имени

У меня есть домашний headless-сервер, который загружается с (и имеет корневую файловую систему) съемного USB-накопителя. Я устанавливаю его со своего ноутбука (следуя этомухороший контрольный список) и отредактируйте файлы конфигурации по мере необходимости. В идеале я хотел бы иметь возможность полностью настроить систему, пока USB-накопитель подключен к моему ноутбуку, чтобы после подключения к серверу она сразу загружалась на многопользовательском уровне с включенной сетью и запущенным демоном SSH.Желаемая мной конфигурация сети очень проста: она имеет одну интегрированную сетевую карту MOBO, которую я хочу настроить статически.

Основная проблема, которую я обнаружил, заключается в том, что я (достоверно) не знаю, какое имя интерфейса будет назначено моей сетевой карте. До сих пор слепое использование eth0in /etc/network/interfacesделало свое дело, однако в последний раз, когда я переустанавливал, он переключился наПредсказуемые имена сетевых интерфейсови мне пришлось тащить монитор и клавиатуру, чтобы войти в систему локально и устранить неполадки.

Так как же мне избежать подобной боли в будущем?

решение1

Я думаю, что самое простое и практичное решение — вернуться к классическому поведению.

  1. В конфигурации загрузчика USB-накопителя (например, в конфигурации grub2) добавьте параметр net.ifnames=0в командную строку ядра.
  2. Продолжайте использовать eth0в /etc/network/interfaces.

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

решение2

Если вы модернист, вы можете перейти на использование systemd-networkdвместо обычного метода статической конфигурации. Смотрите man systemd.network; основная идея заключается в удалении /etc/network/interfacesи создании вместо /etc/systemd/network/static.networkэтого типа

[Network]
Address=1.2.3.4/26
Gateway=1.2.3.3

Не забудьте systemctl enable systemd-networkdтакже.

решение3

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

Связанный контент