¿Por qué se ignora / etc / network / interfaces?

10

He estado buscando en Internet durante las últimas 2 horas y parece que no puedo encontrar una solución al siguiente problema.

Acabo de instalar Xen en un nuevo Xubuntu 13.04 y para configurar la red, tuve que eliminar network_manager. Por lo tanto, toda la configuración de la red se realiza a través de / etc / network / interfaces. Al menos, eso es lo que debería suceder. Sin embargo, parece que lo que puse allí simplemente se está ignorando: mi interfaz xenbr0 no tiene asignada una dirección IPv4, no hay una puerta de enlace predeterminada y no se configura ningún servidor de nombres.

Esto es lo que hay en el archivo / 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

Para arreglar mi conexión de red, ejecuto un pequeño script de "arreglo":

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

Sin embargo, me gustaría arreglarlo en el núcleo. En este momento, el arranque requiere al menos 1 minuto extra, porque el sistema espera una conexión de red que funcione.

Editar : También tuve que agregar lo siguiente a /etc/resolvconf/resolv.conf.d/base y ejecutar sudo resolvconf -u:

nameserver 192.168.1.1

Sin esto, solo puedo hacer ping a las direcciones IP, no se pasan solicitudes DNS. Esto es realmente lo que me convenció de que el archivo de interfaces se ignora por completo.

Edición 2 : Hacer sudo restart networkingo sudo /etc/init.d/networking restartno hace nada.

Edición 3 : información adicional. Así es como ifconfigdebería verse la salida (red de trabajo / conexión a Internet):

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)

Esto es lo que parece justo después del arranque. Lo único que falta es la dirección xenbr0 IPv4 (y los datos de enrutamiento / DNS, pero no se puede ver en la salida de 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)
Darhuuk
fuente
Compruebe init.d y los otros scripts de inicio para ver la información de inicialización de la interfaz de red que falta. Háganos saber lo que encontró.
RGS
Cuando escribe /etc/init.d/networking restart, ¿obtiene la configuración del archivo de interfaces?
ortang 01 de
Prueba con auto eth0y iface eth0 inet manual.
Eric Carvalho
Cuando se ejecuta ifconfigjusto después del arranque, ¿hay alguna interfaz activa?
Eric Carvalho
@ortang: No, también lo intenté, no pasa nada.
Darhuuk

Respuestas:

16

Tienes:

address         192.168.1.200 # the IP address of the Ethernet port

e informar que esta es la línea que no funciona. ¿Es consciente de las interfaces (5) que:

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

¿Agregó los comentarios de fin de línea para la pregunta o realmente los tiene en su /etc/network/intefacesarchivo? Si es así, intente eliminarlos.

Robie Basak
fuente
@Darhuuk Robie tiene razón. Creo que esto es lo que está mal en su archivo de interfaces.
Eric Carvalho
Ah, buen hallazgo. Esos comentarios fueron agregados por la instalación de Xen y de hecho están al final de la línea. Sin comentarios auto eth0parece haber solucionado mi problema, a pesar de que los comentarios todavía están allí.
Darhuuk
Parece que los comentarios en línea tampoco son compatibles con / etc / network / interfaces. Gracias, esto me permitió hacer que mi segunda interfaz de red funcionara en mi VPS.
Escher
3

Quizás, a pesar de haber eliminado el paquete de administrador de red, todavía tiene el archivo que /etc/NetworkManager/NetworkManager.confcontiene

[ifupdown]
managed=true

lo que hace que ifupno aparezca automáticamente las interfaces.

Si esta es la causa del problema, entonces sugiero cualquiera dpkg --purge network-managero configuración managed=false.

Presenté un informe de error sobre esto: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1187693

jdthood
fuente
Lo comprobaré esta noche cuando llegue a casa. Sin embargo, las interfaces están activas después del arranque, pero no están configuradas correctamente. La ejecución manual sudo restart networkingtampoco soluciona el problema.
Darhuuk
@jdthood, ¿no quieres decir que ifupdown podría estar configurado ya managed=falsey que necesita configurarlo truepara que comience a usar la configuración /etc/network/interfaces?
Alaa Ali
@Alaa, no, no quise decir lo que sugieres. En Ubuntu, en ifuprealidad mira /etc/NetworkManager/NetworkManager.confy se abstiene de las interfaces de auto-upping si NM está configurado para configurar esas interfaces como " [ifupdown] managed=true".
jdthood
Solo intenté con ambos, verdadero y falso (esto fue lo que estaba configurado), ninguno de los dos funcionó. Luego hice un dpkg --purge, que tampoco ayudó, mi / etc / network / interfaces todavía no se tiene en cuenta.
Darhuuk
3

Logré solucionar mi problema cambiando 2 archivos. En primer lugar, como se sugiere por Eric Carvalho, que sin comentar auto eth0en /etc/networking/interfaces. (Tenga en cuenta que esto es bastante extraño, varios tutoriales en línea parecen sugerir que esto no debería ser necesario para Xen).

Sin embargo, eso por sí solo no solucionó el arranque lento. Parece que en el inicio todavía tardó unos segundos antes de que aparecieran las interfaces y, mientras tanto, Ubuntu ya estaba atascado en una espera inactiva de 60 segundos. Esto lo solucioné modificando el tiempo de retraso /etc/init/failsafe.confde 60 segundos a 1 segundo. (Descubrí este archivo a través de Google, no tengo idea de cuál era exactamente).

Darhuuk
fuente