«Ожидание конфигурации сети» Проблема

72

Эта проблема иногда возникает при запуске Ubuntu. Иногда вы не можете загрузить интерфейс.

Заставка с 5 точками и сообщением:

в ожидании конфигурации сети

с последующим:

ожидание дополнительных 60 секунд для настройки сети

сова
источник

Ответы:

44

Я решил использовать CLI и Alt + Ctrl + F2, чтобы ВЫ БЕСПЛАТНО делали это, когда вы вошли в GUI. Хорошо, я напишу общие шаги, поэтому не стесняйтесь использовать любой подход, который вам нравится.

  1. Редактировать /etc/network/interfaces:

    sudo nano /etc/network/interfaces
    
    1. Если вы печатаете это из LXTerminal при входе в GUI, тогда:

      gksudo leafpad /etc/network/interfaces
      
  2. Удалите все, что там написано, и просто оставьте это:

    auto lo
    iface lo inet loopback
    

Рекомендуется на всякий случай сохранить резервную копию файла "interfaces", поэтому обязательно сохраните файл "interfaces.bak", прежде чем что-либо делать.

  1. Ctrl+ Oесли вы используете nano и Ctrl+ S(Файл> Сохранить), если вы используете leafpad.

  2. Ctrl+ Xесли вы используете nano и Ctrl+ Q(File> Quit), если вы используете leafpad.

  3. Перезагрузка.

  4. Готово.

сова
источник
3
auto lo iface lo inet loopbackне работает
рисовать
@draw должно быть в две строки: 1-я строка есть auto lo; 2-я строкаiface lo inet loopback
Даниэль Куллманн
2
@danielkullmann; авто ло; (1-я строка) iface lo inet loopback; (2-я строка) У меня это тоже не работает. Мне нужно вручную настроить интерфейс и дать его адрес !!
Мифический
3
Мой файл интерфейсов выглядит именно так, но проблема сохраняется /:
Энди
5
Обратите внимание, что это будет работать, только если вы network-managerустановили. Он устанавливается на настольную версию Ubuntu, но не на версию сервера. Если вы не network-managerустановили, и вы делаете это, то ни один из ваших интерфейсов не будет работать
kbuilds
37

В любой ситуации, с которой я столкнулся, это проблема в / etc / network / interfaces

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

В моем случае это было определение параметра шлюза для дополнительных IPS Ethernet. Вам нужно только определить шлюз для основного интерфейса для каждой карты.

Под этим я подразумеваю, что ваш файл выглядит так:

auto eth0
iface eth0 inet static
  address 10.0.0.5
  netmask 255.255.255.0
  network 10.0.0.0
  gateway 10.0.0.1

auto eth0:0
iface eth0:0 inet static
  address 10.0.0.6
  netmask 255.255.255.0
  network 10.0.0.0
  #gateway 10.0.0.1

Второй параметр шлюза заставит Ubuntu зависать на 60+ секунд во время загрузки, вам нужно только определить шлюз для первого раздела eth0, вам НЕОБХОДИМО определить шлюз для любых дополнительных ник карт, IE eth1, wlan0 и т. Д., Но НЕ для дополнительные IPS назначены на тот же ник. В более ранней версии Ubuntu не было проблем с этим, но Ubuntu 12.04 не нравится ... Будьте хороши, если можете просто проигнорировать это.

Я уверен, что есть другие «проблемы» в этом файле, которые могут вызвать это, поэтому вы должны проверить файл и убедиться, что нет опечаток и т. Д.

Д Лангхорн
источник
Опция «сеть» устарела, больше не нужна.
Jdthood
2
этот ответ не относится ко мне, у меня нет шлюзов в активных
разделах
3
Это был ответ, который мне был нужен
Патрик Чу
1
У меня была точно такая же проблема, и это решение работало отлично!
Солнечно,
В моем случае строка, начинающаяся с «auto», содержала интерфейс «eth2», который больше не существовал, т.е. не был настроен в интерфейсах.
RTasche
36

Это также может помочь: http://tech.pedersen-live.com/2012/05/disable-waiting-for-network-configuration-messages-on-ubuntu-boot/

В основном вы редактируете этот /etc/init/failsafe.confфайл и отключаете (комментируете) sleepкоманды, которые фактически приостанавливают работу системы. Помимо выполнения работы, по крайней мере, в моем случае не было никакой ошибки в конфигурации сети, поэтому все прошло нормально.

Кстати, ваше решение позволяет настраивать только петлевой интерфейс, чего я не мог себе позволить в своей настройке (мне пришлось вручную настраивать интерфейсы и мосты).

nelsonspbr
источник
3
Это должен быть правильный ответ. Многие люди считают , что функциональность failsafe.confявляется излишеством
kbuilds
Убить отказоустойчивого никогда не является правильным ответом. Исправление неправильной конфигурации, которая позволяет запустить отказоустойчиво, является правильным решением. Существуют различные места, где может быть неправильная конфигурация, но она определенно не является отказоустойчивой!
Тино
2
Это правильный ответ на мой взгляд. Я делаю загрузку без сетевых настроек, когда клонирую серверы или восстанавливаю резервные копии во время аварийных ситуаций. Мне не нужно ждать 2 минуты во время чрезвычайной ситуации, но с моими конфигами все в порядке.
FreeSoftwareServers
Не удалось получить доступ к URL, кажется, страница перестала работать. Он доступен на archive.org: web.archive.org/web/20160301200431/http://...
Роге
27

Реальным (!) Решением этой проблемы является следующая команда:

sudo sed -i.old-`date +%Y%m%d-%H%M%S` '/^auto lo$/!s/^auto /allow-hotplug /' /etc/network/interfaces

При /etc/network/interfacesэтом все интерфейсы (кроме lo) изменяются с autoна allow-hotplug. Таким образом, загрузка больше не ждет, пока интерфейсы появятся первыми.

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

Пример до (посмотрите на auto eth0):

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

Пример после (посмотрите на allow-hotplug eth0):

auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

Примечания:

  • Если вы подключаете общие сетевые ресурсы /etc/fstab, используйте, autoа не allow-hotplugдля интерфейса с общими сетевыми ресурсами. В противном случае вы можете увидеть странные вещи, происходящие в процессе загрузки, потому что сеть должна быть доступна до монтирования общих сетевых ресурсов. allow-hotplugне гарантирует этого.

  • Если интерфейсы находятся в autoрежиме, вы говорите: «Эти интерфейсы имеют решающее значение для загрузки, поэтому мы должны дождаться их появления, прежде чем загрузиться ». Следовательно, если они не появляются, Ubuntu задерживает загрузку с помощью отказоустойчивого, ожидая их появления в течение 120 секунд. И это правильно.

    В отличие от интерфейсов, которые настроены, чтобы allow-hotplugсообщить Ubuntu, что они являются необязательными. Следовательно, они не обязательны для загрузки.

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

  • Также имеется параметр ядра, который позволяет процессам связываться с несуществующими IP-адресами, поэтому вы всегда можете использовать их, allow-hotplugесли хотите, без ущерба для стабильности процесса загрузки. Однако это совсем другая история.

Примечания (обновление 2018-01-04):

  • На моей стороне, allow-autoделает так же, как auto, так что не помогает (пробовал с br0).

  • После обновления одной из моих систем до Debian Stretch и переключения на SystemD загрузка стала невыносимо отложенной в ожидании появления интерфейса (постоянно подключенного снаружи) br0. Однако с allow-hotplug интерфейсом br0остался вниз после загрузки . Возможно, это вызвано тем, что SystemD не получает никакого реального или искусственного события подключения к такому интерфейсу. Я не копать глубже в это, как какой - то непонятной crontabзаписи @reboot /sbin/ifup br0для rootфиксированной это для меня. (Это работает, но, вероятно, это то, что лучше не рекомендовать другим. Я хотел бы услышать, если у кого-то есть идея получше.)

((Текст заканчивается здесь, остальное для вашего развлечения))

И вот история перед сном, вдохновленная этим:

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

С этого момента стало ясно, что делать. "Взрыв плотины!" они закричали и начали собирать свой динамит. Затем они все направились прямо к плотине.

Маленький сын одного из фермеров спросил своего отца о том, что происходит. Он сказал своему сыну: «В канаве недостаточно воды, поэтому мы взрываем плотину!» Затем он немедленно ушел, чтобы следовать за стаей.

«Но», - попытался крикнуть маленький отец своему отцу, - «Но есть клапан! Просто откройте клапан!» К сожалению, его голос был слишком мягким, а ноги были слишком короткими, поэтому это сообщение никому не дошло.

Мальчик сел и заплакал. Через полчаса он услышал отдаленный «Бум», который уничтожил его любимую площадку у плотины, где также находился клапан.

Что произошло дальше?

Потоп уничтожил все драгоценные культуры. Банк забрал ферму отца мальчика. Его отец не смог заплатить за хорошую школу. Так мальчик поступил в армию, чтобы получить высшее образование. Там он узнал все о физике взрывчатых веществ и теперь пытается изобрести взрывобезопасную плотину.

При чем здесь эта история?

  • У фермеров есть другие ответы.
  • Маленький мальчик вот этот ответ.
  • Плотина - надежный спящий режим Ubuntu.
  • Клапан является правильной настройкой интерфейса.
  • Вода - это процесс загрузки.
  • Урожай это ваша ОС Ubuntu.
  • И заполненная канава, как должен выглядеть процесс загрузки.

Настройка интерфейса, в котором он находится, нарушается при удалении /etc/network/interfacesрежима сна в отказоустойчивом, и даже если кто-то увидит закрытый клапан ( auto), никто не заметит, что он также может быть открытым!

Tino
источник
2
Это правильный ответ. Я надеюсь, что оригинальный аскер выберет это как правильный ответ и пометит проблему как решенную.
thatmaheshrs
1
Спасибо, что поделились @Tino. История хороша, но, на мой взгляд, она слишком загромождает ответ и, по крайней мере, ее не следует помещать перед последними полезными техническими заметками
ndemou
@ndemou Спасибо за внимание, отредактировано соответственно. Я попытался использовать спойлер для истории, но она не вышла так, как мне понравилось, поэтому я оставил ее как есть на данный момент.
Тино
Лучший качественный ответ и ирония истории бесценны.
Руи Ф. Рибейро,
13

Добавьте #в /etc/init/failsafe.confфайл перед всеми строками, содержащими sleep <n>. Это поможет быстро загрузиться.

Это приведет к более быстрой загрузке и не устранит проблем с /etc/network/interfacesфайлом. Исправление проблем с /etc/network/interfacesфайлом не является целью /etc/init/failsafe.confфайла.

Существуют ситуации, когда вы хотите, чтобы сетевой интерфейс не работал (например, у вас был ноутбук, у которого только некоторое время был подключен интерфейс eth0 (проводное соединение)). Я не хочу ждать 2 дополнительных минуты для загрузки моего ноутбука, потому что у меня нет подключенного проводного соединения.

Бинил Джейкоб
источник
4
Могут ли некоторые из этих строк (и преднамеренные задержки, которые они вызывают) быть важными? Если нет, я рекомендую расширить этот ответ, чтобы объяснить, почему.
Элия ​​Каган
2
Я полагаю, что эти задержки в настоящее время относятся исключительно к конфигурации сервера Ubuntu, и они призваны уменьшить количество людей, которые жалуются на то, что что-то работает неправильно, потому что некоторые сетевые демоны запускались до того, как появились рабочие интерфейсы (возможно, DNS), и поэтому лучше подождать вот чем спешить через загрузку без сетевых подключений.
Ккрон
1
Хороший ответ! Автор failsafe.conf оставил там свою электронную почту с комментариями о том, почему он ждет две минуты, если нет статического адреса. Я чувствую, что этот человек может быть единолично ответственен за экземпляры Ubuntu, которые загружаются в 48 раз медленнее, чем Windows;)
Brain2000
2

У меня была похожая проблема. При запуске ifconfig -aя определил, что единственными сетевыми устройствами на моем компьютере были p4p1и lo. Был нет eth0.

Поэтому я редактировал /etc/network/interfaces, заменяя все экземпляры eth0с p4p1. Содержимое файла теперь:

auto lo
iface lo inet loopback

auto p4p1
iface p4p1 inet dhcp

После перезагрузки сеть работала нормально.

Если это имеет значение, я использовал Ubuntu 12.04.5 Server edition.

Дэвид Грейсон
источник
Возможно, замените auto p4p1на, allow-hotplug p4p1и ваш компьютер также быстро загружается, если Ethernet не работает. Однако это зависит от вашей настройки. Например, если это рабочая станция или сервер с общими сетевыми ресурсами ( NFSили Samba), вы определенно хотите подождать, пока сеть не станет доступной, прежде чем продолжить, поэтому allow-hotplugбудет неправильный выбор.
Тино
Спасибо!! С ifconfig -aя обнаружил , что интерфейсы были действительно eth4и eth5.
francadaval