J'essaie de configurer plusieurs conteneurs LXC sur un hôte, chacun avec ses propres adresses IP publiques publiques.
Mon hôte exécute la dernière version d'Ubuntu. Il possède une seule interface réseau nommée eth0. Les adresses IP statiques peuvent faire l'objet d'un ping depuis Internet et sont nommées eth0: 210, eth0: 211 ... Les nombres après les deux points sont l'octet le moins significatif des adresses. En plus de ces interfaces, j'ai configuré br0 sur l'adresse IP publique de l'hôte. Il existe également les interfaces lo, veth2LPP9A et lxcbr0. Le lxcbr0 a l'adresse d'une adresse IP privée.
L'hôte / etc / network / interfaces ressemble à:
auto br0
iface br0 inet static
bridge_ports eth0
bridge_fd 0
[...]
Jusqu'à présent, j'ai utilisé diverses sources en ligne, y compris des conteneurs Bridging LXC pour héberger eth0 afin qu'ils puissent avoir une adresse IP publique pour m'aider à configurer cela.
Le fichier de configuration du conteneur a:
lxc.network.type = veth
lxc.network.link = br0
J'ai supprimé la configuration statique lxc.network.ipv4 de ce fichier car cela a causé des problèmes. Lorsque j'ai exécuté lxc-ls --fancy avec cette configuration, je voyais deux fois la même IP publique dans la sortie. De plus, cela perturberait la configuration de sous-réseau des interfaces / etc / network / du conteneur.
En parlant du fichier d'interface du conteneur, il ressemble un peu à:
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 [...]
J'ai dû commenter la passerelle et ajouter les commandes route add à ce fichier. Sinon, le conteneur prendrait quelques minutes pour démarrer.
Les fichiers / proc / sys / net / bridge / bridge-nf- * sur l'hôte sont tous définis sur 0. La valeur / proc / sys / net / ipv4 / ip_forward est 1.
Le problème est que, même si "route -n" du conteneur semble devoir le faire, je ne peux pas sortir du conteneur. SSH à ce qui devrait être l'IP du conteneur, me connecte à l'hôte.
EDIT: La suppression de l'IP statique du conteneur de l'hôte a aidé, mais maintenant je reçois une nouvelle erreur. Une tentative de ping sur le conteneur à partir de l'hôte entraîne la redirection de HostFrom, New nexthop. Les paquets vont simplement de la passerelle à l'hôte, à plusieurs reprises. L'exécution d'un traceroute à partir de l'hôte montre que le premier arrêt est à la passerelle. Ensuite, toutes les autres routes sont * * *. Je reçois le même problème, que le conteneur soit en ligne ou non.