Los cambios en /etc/network/interfaces se ignoran y se restauran al reiniciar

Los cambios en /etc/network/interfaces se ignoran y se restauran al reiniciar

Quería configurar una máquina virtual según este tutorial:http://www.howtoforge.com/virtualization-with-kvm-on-a-debian-lenny-server

Llegué al punto en el que tengo que modificar el archivo de interfaces, que se ve así:

auto lo
iface lo inet loopback

auto  eth0
iface eth0 inet static
      address   176.9.XXX.XXX
      netmask   255.255.255.255
      pointopoint   176.9.XXX.XXX
      gateway   176.9.XXX.XXX

Y lo cambié a esto:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
    address   176.9.XXX.XXX
    netmask   255.255.255.255
    pointopoint   176.9.XXX.XXX
    gateway   176.9.XXX.XXX
    bridge_ports eth0
    bridge_fd 9
    bridge_hello 2
    bridge_maxage 12
    bridge_stp off

Luego hice: /etc/init.d/networking restart, pero mi salida ifconfig permanece igual y cuando reinicio mi servidor el archivo de interfaz se ve como antes. ¿Por qué está pasando esto?

ifconfig:

eth0      Link encap:Ethernet  HWaddr 00:18:51:XX:XX:XX
          inet addr:176.9.XXX.XXX  Bcast:176.9.XXX.XXX Mask:255.255.255.255
          inet6 addr: fe80::218:51ff:XXXX:XXXX/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4236 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4569 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:414559 (404.8 KiB)  TX bytes:501379 (489.6 KiB)

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:16436  Metric:1
          RX packets:3406 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3406 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:319219 (311.7 KiB)  TX bytes:319219 (311.7 KiB)

Respuesta1

Realmente no es una respuesta, pero sí algunas observaciones demasiado largas para un comentario, que podrían ayudar...

Primero, ¿tienesbridge-utilsinstalado? La razón es que elifupdownEl paquete responsable de analizar /etc/network/interfacesy administrar su red es solo un montón de scripts de shell que llaman a herramientas apropiadas de nivel inferior (como las deiproute, dhcp3-clientetc.), por lo que si le faltan herramientas que son responsables del trabajo duro de configurar puentes, ifupdownpor sí solo no podrá configurar su puente.

En segundo lugar, en lugar de "reiniciar la red", debería haber aprovechado las cosas interactivas que ofrece ifupdownen forma de scripts ifupy ifdownscripts: para probar si la interfaz brindge puede iniciarse, haría

# ifup br0

y mira lo que pasa. Por favor consultapáginas de manual apropiadas.


Tercero, por favor deja de usar

# /etc/init.d/<foo> <action>

y hacer

# service <foo> <action>

en su lugar (disponible desde Squeeze). Esto tiene una serie de ventajas:

  • Funciona sin importar qué sistema init esté instalado; es decir, funciona incluso con upstart, systemd, openrcetc., mientras que cada uno de estos sistemas proporciona sus propias herramientas específicas para controlar los servicios.

    Por lo tanto, su uso servicefacilitará su transición a otro sistema de inicio más adelante (Jessie hará la transición de su sistema al systemdpredeterminado) al no requerir que vuelva a aprender rápidamente cómo administrar sus servicios.

  • Con sysvinit(lo que estás usando actualmente), desinfecta adecuadamente el entorno antes de llamar al script de inicio de destino. El antiguo enfoque de invocación directa es vulnerable a verse afectado por el estado del shell que llamó al script. El servicescript se asegura de que el script de inicio al que llama vea un entorno con un directorio de trabajo sensible $PATH, umasketc.

información relacionada