J'ai installé LXC en utilisant:
lxc-create -t ubuntu -n lxcguest1
Mais je ne peux accéder aux services qui y sont exécutés à partir de mon réseau local, il semble être en NAT. Comment puis-je le configurer pour pouvoir y accéder (il faut probablement qu'il obtienne l'adresse DHCP de mon routeur Linksys)?
Merci.
Je viens de traiter ce problème moi-même. Fondamentalement, vous devez configurer un pont et y lier votre carte réseau et votre conteneur. Voici l'article que j'ai suivi:
http://bj0z.wordpress.com/2011/08/19/howto-build-a-base-lxc-container-in-ubuntu-11-04/
On dirait que, comme moi, vous avez besoin de la solution "pont" plutôt que de la solution NAT. J'ai également désactivé la configuration de pont LXC par défaut (qui est NAT'ed). Pour ce faire, éditez simplement le fichier: /etc/default/lxc
et remplacez USE_LXC_BRIDGE="TRUE"
par USE_LXC_BRIDGE="FALSE"
et redémarrez.
Ma configuration sur les hôtes Ubuntu 14.04.1 LTS (Trusty Tahr)
Ajouter à /etc/network/interfaces
sur l'hôte
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 0.0.0.0
auto br0
iface br0 inet dhcp
bridge_ports eth0
(redémarrer après les modifications)
Et sur les fichiers de configuration du conteneur (/var/lib/lxc/containername/config
) je mets lxc.network.link = br0
Avec cela, le conteneur obtiendra des adresses IP publiques du serveur DHCP, tout comme l’hôte.
J'ai utilisé les paramètres par défaut Ubuntu LXC et configuré mon routeur pour envoyer tout le trafic sur 10.0.3.xxx à la machine Ubuntu. Sur un routeur compatible DD-WRT, les paramètres ressemblent à la capture d'écran ci-dessous. Remplacez 192.168.1.137
par l'adresse IP de la machine exécutant LXC. Les autres routeurs doivent avoir des options similaires pour configurer une route statique (voici instructions de route statique pour Linksys , par exemple).
Cela n'a aucun rapport, mais j'ai également utilisé le service DNSMasq pour faire pointer un nom d'hôte vers l'adresse IP du conteneur LXC. De cette façon, je peux accéder au conteneur à http://gitlab/
n'importe où sur le réseau. À mon avis, il est beaucoup plus facile d'utiliser un nom d'hôte pour accéder à un conteneur que de se souvenir de l'adresse IP.