Проблема "очікування конфігурації мережі"


72

Ця проблема виникає іноді, коли запускається ubuntu. Іноді ви не можете реально завантажуватися на інтерфейс.

Екран заставки з 5 крапками та повідомленням:

чекає конфігурації мережі

далі:

чекання додаткових 60 секунд для конфігурації мережі

Відповіді:


44

Я вирішив піти на підхід CLI та Alt + Ctrl + F2, щоб ви могли БЕЗКОШТОВНО робити це під час входу в графічний інтерфейс.

  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.bak", перш ніж робити що-небудь

  1. Ctrl+ Oякщо ви використовуєте nano та Ctrl+ S(файл> зберегти), якщо ви використовуєте лист.

  2. Ctrl+ Xякщо ви використовуєте nano і Ctrl+ Q(файл> вийти), якщо ви використовуєте лист.

  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-й рядок) Не працює і для мене. Мені потрібно вручну налаштувати інтерфейс і вказати його адресу !!
mythicalcoder

3
Мій файл інтерфейсів виглядає саме так, але проблема не зникає /:
Енді

5
Зауважте, що це буде працювати лише в тому випадку, якщо ви network-managerвстановили. Він встановлюється на настільній версії Ubuntu, але не на серверній версії. Якщо у вас не network-managerвстановлено, а ви це робите, то жоден з ваших інтерфейсів не працюватиме
kbuilds

37

У будь-якій ситуації, в якій я зіткнувся, це проблема в / etc / network / інтерфейсах

Вам не доведеться видаляти все, як було запропоновано в попередньому дописі, а навпаки, перевірити на наявність загальних проблем.

У моєму випадку це було визначення параметра шлюзу для додаткової 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

2-й параметр шлюзу призведе до того, що ubuntu зависне на 60+ секунд під час завантаження, вам потрібно лише визначити шлюз для першого розділу eth0, вам потрібно визначити шлюз для будь-яких додаткових карт nic, IE eth1, wlan0 тощо, але НЕ для додатковий IPS, присвоєний одному і тому ж nic. Більш рання версія Ubuntu не мала жодних проблем з цим, але Ubuntu 12.04 це не любить ... Буду приємно, якщо він може просто проігнорувати це.

Я впевнений, що в цьому файлі є інші "проблеми", які можуть спричинити це, тому слід ознайомитись з файлом і переконатися, що немає помилок друку тощо


Параметр "мережа" застарілий, більше не потрібен.
jdthood

2
ця відповідь не стосується мене, у мене немає жодного шлюзу в жодних активних строфах цього файлу
memnoch_proxy

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команди, які фактично призупиняють систему. Окрім виконання завдання, принаймні в моєму випадку в мережевій конфігурації взагалі не було помилок, тому все пройшло нормально.

До речі, ваше рішення дозволяє лише налаштувати інтерфейс зворотного зв'язку, що я не міг собі дозволити в налаштуваннях (мені довелося налаштувати інтерфейси та мости вручну).


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), ніхто не помітить, що він також може бути відкритий!


2
Це правильна відповідь. Я сподіваюся, що оригінальний запитувач обрав це як правильну відповідь і позначив проблему як вирішену.
thatmaheshrs

1
Дякуємо, що поділилися @Tino. Історія хороша, але, на мою думку, вона занадто захаращує відповідь, і принаймні її не слід ставити перед останніми корисними технічними записками
ndemou

@ndemou Дякую за зауваження, відредаговано відповідно. Я спробував використати спойлер для історії, але він не вийшов так, як мені сподобалось, тому я залишив його так, як зараз.
Тіно

Найкраща відповідь та іронія історії - безцінна.
Rui F Ribeiro

13

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

Це призведе до швидшого завантаження, і це не виправить жодних проблем із /etc/network/interfacesфайлом. Виправлення проблем із /etc/network/interfacesфайлом - не мета /etc/init/failsafe.confфайлу.

Бувають ситуації, коли ви хочете, щоб мережевий інтерфейс не працював (тобто мати ноутбук, який лише в якийсь час підключається інтерфейс eth0 (дротове з'єднання)). Мені не хочеться чекати дві додаткові хвилини для завантаження мого ноутбука, оскільки у мене немає підключеного дротового з’єднання.


4
Чи можуть деякі з цих рядків (і навмисні затримки, які вони виробляють) були важливими? Якщо ні, то рекомендую розширити цю відповідь, щоб пояснити, чому.
Елія Каган

2
Я вважаю, що ці затримки зараз виключно в конфігурації сервера ubuntu, і вони є там, щоб зменшити кількість людей, які скаржаться на те, що речі не працюють належним чином, тому що деякі мережеві демони запускалися до того, як були робочі інтерфейси (можливо, dns), тому краще почекати тут, ніж поспішати через завантаження без мережевих з'єднань.
kkron

1
Хороша відповідь! Автор failsafe.conf залишив свій електронний лист із коментарями, чому він чекає дві хвилини, якщо немає статичної адреси. Я думаю, що ця людина може нести повну відповідальність за випадки Ubuntu, які завантажуються на
48 разів

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.


Можливо замінити auto p4p1з allow-hotplug p4p1і ваш комп'ютер також черевики швидко , якщо Ethernet вниз. Однак це залежить від вашої установки. Наприклад, якщо це робоча станція або сервер з мережевими спільними можливостями ( NFSабо Samba), ви остаточно хочете зачекати, поки мережа стане доступною, перш ніж продовжувати, то allow-hotplugце буде неправильним вибором.
Тіно

Дякую!! З ifconfig -aя виявив, що інтерфейси справді eth4і є eth5.
франкадавал
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.