Schlagwort: lxc

  • LXC-Container mit zwei+ IP-Adressen in verschiedenen Netzwerken

    Mit mehrere Netzwerkgeräten kann man einem LXC-Container mehrere IP-Adressen in unterschiedlichen Netzen zuweisen.

    Dazu erstellt man in der LXC-Container-Konfiguration (z.B.: /var/lib/lxc/beispiel-kontainer/config) zwei (oder mehr) Blöcke mit entsprechenden Netzwerk-Einstellungen.

    lxc.network.type = veth
    lxc.network.flags = up
    lxc.network.link = br0
    lxc.network.name = eth0
    lxc.network.hwaddr = 00:16:3e:1d:3f:2b
    lxc.network.ipv4 = 123.122.121.120/32
    lxc.network.ipv4.gateway = 188.187.186.185
    
    
    lxc.network.type = veth
    lxc.network.flags = up
    lxc.network.link = lxcbr0
    lxc.network.name = eth1
    lxc.network.hwaddr = 00:16:3e:1d:4f:1b
    lxc.network.ipv4 = 10.0.0.10
    

    In diesem Beispiel hat der Host die IP-Adresse 188.187.186.185 und der Container die private 10.0.0.10 und öffentliche 123.122.121.120 IP-Adresse. Da Host-IP und die öffentliche IP-Adresse des Containers in unterschiedlichen Netzwerken liegen muss man beim Host eine entsprechende Route eintragen.

    Hier der entsprechende Auszug aus /etc/network/interfaces des Hosts:

    iface br0 inet static
            bridge_ports eth0
            bridge_stp off
            bridge_fd 0
            bridge_maxwait 0
            address 188.187.186.185
            broadcast 188.187.186.255
            gateway 188.187.186.1    
            up route add -host  123.122.121.120/32 dev br0
    

    Nun kann der Container neu gestartet werden. Ohne Konfiguration innerhalb des Containers kennt dieser nun 2 neue Netzwerkgeräte, IP-Adressen und die entsprechenden Routen:

    $ route -n
    Kernel-IP-Routentabelle
    Ziel                         Router                      Genmask                   Flags  Metric Ref    Use Iface
    0.0.0.0                   188.187.186.185    0.0.0.0                   UG            0       0        0 eth0
    10.0.0.0                 0.0.0.0                    255.0.0.0               U              0       0        0 eth1
    188.187.186.185   0.0.0.0                    255.255.255.255   UH            0       0        0 eth0