GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Ubuntu:come configurare indirizzi IP esterni per ospiti Lxc?

Sto esplorando le funzionalità LXC in Ubuntu 12.04 e voglio davvero configurare una rete come questa:

client1:   192.168.56.101/24
lxc-host:  192.168.56.102/24
guest1     192.168.56.201/24
guest2     192.168.56.202/24
guest3     192.166.56.203/24

Voglio solo una rete "piatta" in cui gli ospiti abbiano pieno accesso alla LAN e siano visibili dai clienti. Sono abituato a collegare in rete con libvirt/KVM, come descritto qui:http://libvirt.org/formatdomain.html#elementsNICSBridge

Sull'host:

# /etc/network/interfaces
auto br0
iface br0 inet static
    address 192.168.56.102
    netmask 255.255.255.0
    broadcast 192.168.56.255
    bridge_ports eth1

lxc.conf per il primo ospite:

# /var/lib/lxc/guest1/config:
lxc.network.type=veth
lxc.network.link=br0
lxc.network.flags=up
lxc.network.hwaddr=00:16:3e:13:48:4e
lxc.network.ipv4=192.168.56.201/24

Sembra che 192.168.56.201 sia invisibile al mondo esterno, che non è quello che voglio. Sembra che io debba fare una di queste cose:

1) Imposta manualmente il routing sull'host e sul guest

2) Fai qualcosa di strano... crea in anticipo interfacce virtuali sull'host e configura gli ospiti per usarle lxc.network.type=phys . Non so se funzionerebbe davvero.

Sono concentrato su Ubuntu, ma anche le risposte per RHEL/Fedora sarebbero utili….

Risposta accettata:

Questo è praticamente giusto, anche se ti manca una riga come questa:

lxc.network.ipv4.gateway = X.X.X.X

Ho un ospite LXC in esecuzione su Debian. Per prima cosa, configura il bridge host (in modo semplice), in /etc/network/interfaces :

auto wan
iface wan inet static
        address 72.X.X.X
        netmask 255.255.255.0
        gateway 72.X.X.1
        bridge_ports wan_phy    # this line is important.
        bridge_stp off
        bridge_fd 2
        bridge_maxwait 20

Nel tuo caso, l'hai chiamato br0 , e l'ho chiamato wan . Il ponte può essere chiamato come vuoi. Prima fai in modo che funzioni:se fallisce, indaga con (ad es.) brctl

Quindi la tua configurazione LXC è impostata per unirsi a quel bridge:

lxc.utsname = FOO
lxc.network.type = veth
lxc.network.link = wan                  # remember, this is what I call my bridge
lxc.network.flags = up
lxc.network.name = v-wan                # optional, I believe
lxc.network.ipv4 = 72.X.X.Y/24          # different IP than the host
lxc.network.ipv4.gateway = 72.X.X.1     # same as on the host

Come osserva HoverHell, qualcuno con root nel contenitore può modificare l'indirizzo IP. Sì. È un bridge (noto anche come switch Ethernet). Se vuoi impedirlo, puoi utilizzare le regole del firewall sull'host, almeno nel mio caso, i pacchetti devono passare attraverso iptables dell'host.


Ubuntu
  1. Come configurare l'indirizzo IP statico su Ubuntu 18.04

  2. Come configurare l'indirizzo IP statico su Ubuntu 20.04

  3. Come configurare il server Bacula su Ubuntu 16.04

  4. Come riavviare la rete su Ubuntu

  5. Come configurare il client DHCP di Ubuntu

Come impostare il legame di rete in Ubuntu 20.04

Come riavviare la rete su Ubuntu 20.04

Come configurare il bridge di rete in Ubuntu

Come configurare e utilizzare il bridge di rete in Ubuntu Linux

Come riavviare la rete su Ubuntu 22.04

Come impostare la rete esterna per i container nei container Linux (LXC)