Чому / etc / network / інтерфейси ігноруються?


10

Я шукав в Інтернеті останні 2 години і, здається, не знайшов рішення для наступної проблеми.

Щойно я встановив Xen у свіжому Xubuntu 13.04, і щоб налаштувати мережу, мені довелося видалити network_manager. Отже, вся конфігурація мережі здійснюється через / etc / network / інтерфейси. Принаймні, саме так має статися. Однак, здається, те, що я вкладаю туди, просто ігнорується: мій інтерфейс xenbr0 не присвоює IPv4 адресу, шлюз за замовчуванням не встановлений і не встановлено сервер імен.

Ось що у файлі / etc / network / interface:

auto lo
iface lo inet loopback

# There are no IP configurations for eth0, it’s all defined under xenbr0:
#auto eth0

# Static configuration
auto xenbr0
iface xenbr0 inet static
  bridge_ports    eth0
  address         192.168.1.200 # the IP address of the Ethernet port
  broadcast       192.168.1.255
  netmask         255.255.255.0
  gateway         192.168.1.1   # the address of the router
  bridge_stp      off           # disable Spanning Tree Protocol - optional
  bridge_waitport 0             # no delay before a port becomes available - optional, comment out if this gives you troubles
  bridge_fd       0             # no forwarding delay - optional
  dns-nameservers 192.168.1.1

Для того, щоб виправити мережеве з'єднання, я запускаю невеликий сценарій "виправити":

#!/bin/bash
ifconfig xenbr0 192.168.1.200 netmask 255.255.255.0 up
route add default gw 192.168.1.1 xenbr0

Я хотів би виправити в основі. Зараз завантаження займає щонайменше 1 хвилину додатково, оскільки система чекає робочого мережевого підключення.

Редагувати : мені також довелося додати /etc/resolvconf/resolv.conf.d/base та запустити sudo resolvconf -u:

nameserver 192.168.1.1

Без цього я можу лише пінг IP-адреси, жоден DNS-запит не проходить. Це насправді мене переконало, що файл інтерфейсів повністю ігнорується.

Редагувати 2 : Робити sudo restart networkingабо sudo /etc/init.d/networking restartнічого не робити.

Редагування 3 : додаткова інформація. Ось як ifconfigповинен виглядати вихід (робоча мережа / підключення до Інтернету):

eth0      Link encap:Ethernet  HWaddr 00:1c:c0:77:09:9d  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3346 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2903 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2931429 (2.9 MB)  TX bytes:661616 (661.6 KB)
          Interrupt:20 Memory:e3200000-e3220000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1720 (1.7 KB)  TX bytes:1720 (1.7 KB)

xenbr0    Link encap:Ethernet  HWaddr 00:1c:c0:77:09:9d  
          inet addr:192.168.1.200  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21c:c0ff:fe77:99d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3329 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2875 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2870029 (2.8 MB)  TX bytes:647394 (647.3 KB)

Ось як це виглядає відразу після завантаження. Єдине, чого не вистачає, це адреса xenbr0 IPv4 (та дані маршрутизації / DNS, але ви цього не бачите у висновку ifconfig):

eth0      Link encap:Ethernet  HWaddr 00:1c:c0:77:09:9d  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0 B)  TX bytes:0 (0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0 B)  TX bytes:0 (0 B)

xenbr0    Link encap:Ethernet  HWaddr 00:1c:c0:77:09:9d  
          inet6 addr: fe80::21c:c0ff:fe77:99d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0 B)  TX bytes:0 (0 B)

Перевірте init.d та інші сценарії запуску інформації про відсутність інформації про ініціалізацію мережевого інтерфейсу. Дайте нам знати, що ви знайшли.
RGS

Коли ви вводите /etc/init.d/networking restart, ви отримуєте конфігурацію файлу інтерфейсів?
ortang

Спробуйте з auto eth0і iface eth0 inet manual.
Ерік Карвальо

Коли ви запускаєтесь ifconfigвідразу після завантаження, чи є якийсь інтерфейс?
Ерік Карвальо

@ortang: Ні, я також спробував це, нічого не відбувається.
Дархук

Відповіді:


16

Ти маєш:

address         192.168.1.200 # the IP address of the Ethernet port

і повідомити, що це лінія, яка не працює. Чи знаєте ви з інтерфейсів (5), що:

   Lines starting with `#' are ignored. Note  that  end-of-line  comments
   are NOT supported, comments must be on a line of their own.

Ви додали коментарі в кінці рядка до запитання, чи у вас їх справді є у вашому /etc/network/intefacesфайлі? Якщо так, спробуйте їх видалити.


@Darhuuk Robie має рацію. Я думаю, що це не так у вашому файлі інтерфейсів.
Ерік Карвальо

Ах, приємна знахідка. Ті коментарі, які додав Xen, встановлюються і справді знаходяться в кінці рядка. Як auto eth0видається, коментарі виправили мою проблему, хоча коментарі все ще є.
Дархук

Вбудовані коментарі також не підтримуються в / etc / network / інтерфейсах, здається. Дякую, це дозволило мені, щоб мій другий мережевий інтерфейс працював у моєму VPS.
Ешер

3

Можливо, незважаючи на видалення пакета мережевого менеджера, у вас все ще є файл, /etc/NetworkManager/NetworkManager.confщо містить

[ifupdown]
managed=true

що ifupавтоматично не викликає інтерфейси.

Якщо це причина проблеми, то я пропоную dpkg --purge network-managerабо встановити managed=false.

Я подав звіт про помилку з цього приводу: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1187693


Я перевірю це сьогодні ввечері, коли повернусь додому. Однак інтерфейси з'являються після завантаження, просто неправильно налаштовані. Ручний запуск sudo restart networkingтакож не усуває проблеми.
Дархук

@jdthood, ви не хочете сказати, що ifupdown може бути вже встановлений managed=false, і йому потрібно встановити це для trueтого, щоб він почав використовувати налаштування /etc/network/interfaces?
Алаа Алі

@Alaa, ні, я не мав на увазі те, що ти пропонуєш. В Ubuntu ifupнасправді заглядає /etc/NetworkManager/NetworkManager.confі утримується від автоматичного оновлення інтерфейсів, якщо NM налаштований для настройки цих інтерфейсів моїми засобами " [ifupdown] managed=true".
jdthood

Я просто спробував з керованими істинними та хибними (це було те, що було встановлено), і жоден із них не працював. Потім зробив dpkg --purge, який нічим не допоміг, мій / etc / network / інтерфейси досі не враховуються.
Дархук

3

Мені вдалося виправити свою проблему, змінивши 2 файли. Перш за все, як це було запропоновано Ерік Карвалью, я Розкоментувати auto eth0в /etc/networking/interfaces. (Зауважте, що це досить дивно. Здається, що декілька навчальних посібників в Інтернеті дозволяють вважати, що це не потрібно для Xen.)

Це само по собі не виправило повільний завантаження. Здається, що при запуску все ще пройшло кілька секунд, перш ніж з'явилися інтерфейси, а тим часом Ubuntu вже застряг у режимі очікування на 60 секунд. Це я зафіксував, змінивши час затримки через /etc/init/failsafe.confвід 60 секунд до 1 секунди. (Я дізнався про цей файл через Google, не маючи уявлення, який саме він був.)

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