Tabla de Contenidos

Configuración de red para OpenVZ en servidor iWeb

Este documento toma elementos de la configuración mostrada en Using private IPs for Hardware Nodes.

Sistema instalado

iWeb entrega el sistema configurado así:

 # ip addr show
 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
     inet6 ::1/128 scope host 
        valid_lft forever preferred_lft forever
 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 10
     link/ether 00:1b:21:28:d5:15 brd ff:ff:ff:ff:ff:ff
     inet 70.38.78.182/27 brd 70.38.78.191 scope global eth0
     inet 70.38.83.81/29 brd 70.38.83.87 scope global eth0:1
     inet 70.38.83.82/29 brd 70.38.83.87 scope global eth0:2
     inet 70.38.83.83/29 brd 70.38.83.87 scope global eth0:3
     inet 70.38.83.84/29 brd 70.38.83.87 scope global eth0:4
     inet 70.38.83.85/29 brd 70.38.83.87 scope global eth0:5
     inet 70.38.83.86/29 brd 70.38.83.87 scope global eth0:6
     inet6 fe80::21b:21ff:fe28:d515/64 scope link 
        valid_lft forever preferred_lft forever
 # ip route show
 70.38.83.80/29 dev eth0  proto kernel  scope link  src 70.38.83.81 
 70.38.78.160/27 dev eth0  proto kernel  scope link  src 70.38.78.182 
 default via 70.38.78.161 dev eth0 

Reservar IPes para contenedores

Desconfigurar todas las IP, menos la principal y una de los alias del archivo /etc/network/interfaces (solo debe quedar eth0 y eth0:1 activas en el HN)

Reiniciar interfaces de red:

 /etc/init.d/networking restart
 # ip addr show
 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
     inet6 ::1/128 scope host 
        valid_lft forever preferred_lft forever
 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 10
     link/ether 00:1b:21:28:d5:15 brd ff:ff:ff:ff:ff:ff
     inet 70.38.78.182/27 brd 70.38.78.191 scope global eth0
     inet 70.38.83.81/29 brd 70.38.83.87 scope global eth0:1
     inet6 fe80::21b:21ff:fe28:d515/64 scope link 
        valid_lft forever preferred_lft forever

Paquetes requeridos

 apt-get install bridge-utils

Script para crear bridge

 #!/bin/bash
 
 sleep 5
 brctl addbr br0
 ifconfig eth0 0
 brctl addif br0 eth0
 ifconfig br0 70.38.78.182/27
 ifconfig br0:1 70.38.83.81/29
 ip route del default via 70.38.78.161 dev eth0
 ip route add default via 70.38.78.161 dev br0
                                             

Ejecutar script en background. Esto perderá conexion de red y requerirá volver a conectar.

 # ./bridge.sh >/dev/null 2>&1 &
 # exit

Al volver a conectar se creo un bridge:

 # ip addr show
 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
     inet6 ::1/128 scope host 
        valid_lft forever preferred_lft forever
 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 10
     link/ether 00:1b:21:28:d5:15 brd ff:ff:ff:ff:ff:ff
     inet6 fe80::21b:21ff:fe28:d515/64 scope link 
        valid_lft forever preferred_lft forever
 3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
     link/ether 00:1b:21:28:d5:15 brd ff:ff:ff:ff:ff:ff
     inet 70.38.78.182/27 brd 70.38.78.191 scope global br0
     inet 70.38.83.81/29 brd 70.38.83.87 scope global br0:1
     inet6 fe80::21b:21ff:fe28:d515/64 scope link 
        valid_lft forever preferred_lft forever
 # ip route show
 70.38.83.80/29 dev eth0  proto kernel  scope link  src 70.38.83.81 
 70.38.78.160/27 dev br0  proto kernel  scope link  src 70.38.78.182 
 default via 70.38.78.161 dev br0 

Configuración fija

Si todo queda bien, adaptar el /etc/network/interfaces para que esta configuración sea la por defecto:

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
        address 70.38.78.182
        netmask 255.255.255.224
        network 70.38.78.160
        broadcast 70.38.78.191
        gateway 70.38.78.161
        bridge_ports eth0

auto br0:1
iface br0:1 inet static
        address 70.38.83.81
        netmask 255.255.255.248

Se coloca el alias en el bridge.

Reiniciar y ver que todo quede funcionando normalmente.

Crear primer contenedor

Ya se puede crear el primer contenedor, sugiendo este documento