TLDR; Как Вы применяете изменения в /etc/udev/rules.d/70-persistent-net.rules
без перезапуска? (См. эту документацию о логических именах интерфейса Ethernet.)
Долгая версия:
У меня есть загрузочная карта флэш-памяти с интерфейсом USB, выполняющая изображение, сделанное remastersys 11,04. Я хочу смочь использовать эту загрузочную Карту памяти для выполнения сервера DHCP от любого компьютера. Чтобы сделать это, я должен присвоить статический IP-адрес eth0
в /etc/network/interfaces
и ссылка eth0
в /etc/default/isc-dhcp-server
.
Однако сетевой плате присваивают ethX на основе MAC-адреса, таким образом, это только работает над первым компьютером, где карта флэш-памяти с интерфейсом USB используется - NIC каждого последующего компьютера присвоят eth1
, eth1
, и т.д.
Кажется, что существует две стратегии, которые могли работать для решения этой проблемы:
/etc/network/interfaces
и /etc/default/isc-dhcp-server
на основе первого ethX
это подходит, когда Вы работаете ifconfig
- это должно быть любым NIC, находится на самом деле в компьютере./etc/udev/rules.d/70-persistent-net.rules
так, чтобы независимо от того, что MAC-адрес был присвоен NIC, назван eth0
.Я знаю, что могу сделать № 1, потому что изменения в этих файлах могут быть применены путем перезапуска networking
и isc-dhcp-server
.
Однако № 2 кажется инструментом для очистки мне, как я полагаю /etc/udev/rules.d/70-persistent-net.rules
создаст набор грязи, поскольку эта Карта памяти используется в различных компьютерах.
Любая справка ценилась бы.
Я закончил тем, что шел с опцией № 1 (динамично переписывающий различные файлы конфигурации, для которых был нужен ethX). Это было легко сделать с простым сценарием Ruby.
Если сценарий, делающий динамическое, переписывает, startup.rb
, Я создал названную обертку startup-wrapper.rb
это называет фактический сценарий с exec 'sudo startup.rb'
так, чтобы startup.rb
выполнения с корневыми полномочиями.
Я затем создал запись в Приложениях Запуска со следующей командой: gnome-terminal -e /path/to/startup-wrapper.rb
. Это предложит пользователю их пароль для sudo
на начальной загрузке.