Почему / etc / network / interfaces игнорируется?

Я искал в интернете последние 2 часа и не могу найти решение следующей проблемы.

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

Вот что находится в файле / etc / network / interfaces:

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

Чтобы исправить мое сетевое соединение, я запускаю небольшой скрипт «fix»:

#!/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

Без этого я не могу только ping 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)

Вот как он выглядит сразу после загрузки. Отсутствует только IPv4-адрес xenbr0 (и данные маршрутизации / 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)
10
задан 3 July 2013 в 20:21

3 ответа

У вас есть:

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? Если это так, попробуйте удалить их.

0
ответ дан 3 July 2013 в 20:21

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

[ifupdown]
managed=true

, который заставляет ifup автоматически не вызывать интерфейсы.

Если это является причиной проблемы, то я предлагаю либо dpkg --purge network-manager, либо настройку managed=false.

Я подал отчет об ошибке по этому поводу: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1187693

0
ответ дан 3 July 2013 в 20:21

Мне удалось исправить мою проблему, изменив 2 файла. Прежде всего, как предположил Эрик Карвалью, я прокомментировал auto eth0 в /etc/networking/interfaces. (Обратите внимание, что это довольно странно, некоторые онлайн-учебники, похоже, предполагают, что это не требуется для Xen.)

Это само по себе не исправило медленную загрузку. Похоже, что при запуске прошло еще несколько секунд, прежде чем интерфейсы появились, а Ubuntu уже застрял в 60-секундном ожидании простоя. Это я исправил, изменив время задержки в /etc/init/failsafe.conf с 60 секунд до 1 секунды. (Я узнал об этом файле через Google, понятия не имею, какой именно он был.)

0
ответ дан 3 July 2013 в 20:21

Другие вопросы по тегам:

Похожие вопросы: