Sto cercando di installare più contenitori LXC su un host, ognuno con IP statici pubblici propri.
Il mio host esegue l'ultima versione di Ubuntu. Ha una singola interfaccia di rete chiamata eth0. Gli IP statici sono pingabili da Internet e sono chiamati eth0: 210, eth0: 211 ... I numeri dopo i due punti sono il byte meno significativo degli indirizzi. Oltre a queste interfacce, ho installato br0 sull'IP pubblico dell'host. Ci sono anche le interfacce lo, veth2LPP9A e lxcbr0. Lxcbr0 ha l'indirizzo di un IP privato.
L'host / etc / network / interfaces assomiglia a:
auto br0
iface br0 inet static
bridge_ports eth0
bridge_fd 0
[...]
Finora ho usato varie fonti online, tra cui Bridging LXC container per ospitare eth0 in modo che possano avere un IP pubblico per aiutarmi a configurarlo.
Il file di configurazione del contenitore ha:
lxc.network.type = veth
lxc.network.link = br0
Ho rimosso la configurazione statica lxc.network.ipv4 da questo file poiché ha causato problemi. Quando eseguivo lxc-ls --fancy con questa configurazione, vedevo lo stesso IP pubblico due volte nell'output. Inoltre, rovinerebbe la configurazione della sottorete delle interfacce / etc / network / del container.
Parlando del file delle interfacce del contenitore, sembra un po 'come:
auto eth0
iface eth0 inet static
address [...]
netmask 255.255.255.255
#gateway [...]
dns-nameservers 8.8.8.8
post-up route add [...] dev eth0
post-up route add default gw [...]
post-down route del [...] dev eth0
post-down route del default gw [...]
Ho dovuto commentare il gateway e aggiungere il percorso aggiungere comandi a questo file. Altrimenti, l'avvio del contenitore richiederebbe alcuni minuti.
I file / proc / sys / net / bridge / bridge-nf- * sull'host sono tutti impostati su 0. Il valore / proc / sys / net / ipv4 / ip_forward è 1.
Il problema è che, anche se "route -n" del contenitore sembra che dovrebbe, non riesco a eseguire il ping dal contenitore. SSHing a quello che dovrebbe essere l'IP del contenitore, mi collega all'host.
EDIT: la rimozione dell'IP statico del contenitore dall'host mi ha aiutato, ma ora sto ricevendo un nuovo errore. Il tentativo di eseguire il ping del contenitore dall'host genera Redirect HostFrom, New nexthop. I pacchetti passano ripetutamente dal gateway all'host. L'esecuzione di un traceroute dall'host mostra che la prima fermata è al gateway. Quindi tutti gli altri percorsi sono * * *. Ottengo lo stesso problema indipendentemente dal fatto che il contenitore sia online o meno.