Нет, я не хочу постоянных сетевых правил

У меня есть загрузочный memstick Linux, который я использую на множестве разных ПК (но все они одинаковы для модели и конфигурации). Проблема в том, что udev переименовывает эти интерфейсы, так что то, что было eth0 на последнем ПК, вдруг ethX, где X = 1..inf. Это приводит к сбою if-up (вызываемого ifplugd), поскольку /etc/network/interfaces указывает только, как вызвать eth0 :

 auto eth0 iface eth0 inet dhcp 

Это хорошо известная проблема; Я искал googled и обнаружил, что это вызвано изменением MAC-адресов и что оно может быть исправлено путем удаления /etc/udev/rules.d/70-persistent-net.rules . Но это работает только после перезагрузки, что неудобно и должно быть ненужным, так как я знаю, какое поведение я хочу.

То, что я хочу, – это непостоянные сетевые правила или, альтернативно, сценарий /etc/network/interfaces который адаптируется к изменяющимся именам имен, или, возможно, это может быть сделано с ifplugd. Каков наилучший способ достичь этого?

Distro: Ubuntu 8.04.

  • Усечение имен папок после первого пробела
  • Войти в систему
  • Неверная конфигурация iperf?
  • Что необходимо для USB-устройства, которое появится под звуком в панели управления Ubuntu?
  • В awesome window manager, как я могу привязать ключевые привязки к событиям клавиатуры?
  • Календарь Google в терминале
  • SHH Туннелирование принимается только на некоторых портах
  • Как отключить внутреннюю веб-камеру?
  • 2 Solutions collect form web for “Нет, я не хочу постоянных сетевых правил”

    Постоянные сетевые правила генерируются /lib/udev/rules.d/75-persistent-net-generator.rules (или что-то подобное, я ищу новую машину Debian).

    Если Ubuntu 8.04 все еще имеет этот сценарий генератора в файле /etc/udev/rules.d, вы можете просто избавиться от него.

    В противном случае, я полагаю, что пустой файл в /etc/udev/rules.d переопределит значение в / lib.

    Вы также можете написать свой собственный файл правил, чтобы дать интерфейсу имя – генератор постоянных правил игнорирует интерфейс, если имя уже установлено.

    Я последовал совету Derobert, удалив /etc/udev/rules.d/75-persistent-net-generator.rules , а также отредактировал уже сгенерированный /etc/udev/rules.d/70-persistent-net.rules чтобы строки выглядели так:

     SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{type}=="1", KERNEL=="eth*", NAME="%k" 

    Обратите внимание на %k в NAME , что означает использование имени ядра.

    Linux и Unix - лучшая ОС в мире.