Translation(s): English - Français
Cette page contient des exemples de réseau "bridge" ou routé fournis par l’hôte.
D’autres configuration réseau pour container peuvent être trouvé sur la page LXC principale.
L’hôte comme bridge
Fonctionnalités:
persistant dans le fichier /etc/network/interfaces de l’hôte
l’interface ethernet virtuelle veth du container peut partager le lien de connexion sur l’interface physique de l'hôte (eth0). Ainsi le container réside sur le même segment Ethernet et parle au même serveur dhcp que l’hôte.
Requiert le paquet bridge-utils.
Éditez le fichier /etc/network/interfaces de l’hôte ce cette manière :
# Commentez les lignes suivantes :
# L’interface réseau principale
#allow-hotplug eth0
#iface eth0 inet dhcp
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_fd 0
bridge_maxwait 0
# Décommentez ci-dessous et commentez ci-dessus pour avoir une ip statique sur l’hôte
#auto br0
#iface br0 inet static
# bridge_ports eth0
# bridge_fd 0
# address < IP de l’hôte ici, exemple: 192.168.1.20>
# netmask 255.255.255.0
# network <IP du réseau ici, exemple: 192.168.1.0>
# broadcast <IP de broadcast ici, exemple: 192.168.1.255>
# gateway <IP de la passerelle ici, exemple: 192.168.1.1>
# # les options dns-* sont implémentées par le paquet resolvconf package, si installé
# dns-nameservers <Adresse IP du DNS ici, exemple: 192.168.1.1>
# dns-search votre.domaine.de.Recherche.iciRelancez les connections réseaux:
/etc/init.d/networking restart
La section réseau dans la configuration du container (stocké sur l’hôte dans /var/lib/lxc/containername/config) pourrait ressembler à ça
## Réseau lxc.utsname = containershostname lxc.network.type = veth lxc.network.flags = up # Ceci est l’interface définit plus haut dans le fichier interface de l’hôte : lxc.network.link = br0 # Nom de l’interface réseau dans le container, # par défaut eth0, vous pouvez choisir un nom librement # lxc.network.name = lxcnet0 lxc.network.hwaddr = 00:FF:AA:00:00:01 # L’ip peut être configuré à 0.0.0.0/24 ou bien ne tenez pas compte de cette ligne # si vous souhaitez utiliser un client dhcp dans le container lxc.network.ipv4 = 192.168.1.110/24 # Définissez la passerelle pour avoir un accès à Internet lxc.network.ipv4.gateway = 192.168.1.1
Pour compléter l’exemple ci-dessus, le fichier /etc/network/interfaces pourrait être édité pour ressembler à ça
auto eth0 iface eth0 inet dhcp #iface eth0 inet static # address <IP du container ici, exemple: 192.168.1.110> # Tout autres réglages comme ceux pour l’hôte
Un bridge additionnel plutôt que changer l’hôte en br0
Fonctionnalités:
- configuration manuelle avec brctl
L’interface Ethernet virtuelle veth accède au réseau via le bridge créé sur l’hôte. Par défaut, le container n’est pas visible en dehors de l'hôte.
# script pour configurer un réseau en NAT pour les invités LXC
CMD_BRCTL=/usr/sbin/brctl
CMD_IFCONFIG=/sbin/ifconfig
CMD_IPTABLES=/sbin/iptables
CMD_ROUTE=/sbin/route
NETWORK_BRIDGE_DEVICE_NAT=lxc-bridge-nat
HOST_NETDEVICE=wlan0
PRIVATE_GW_NAT=192.168.100.1
PRIVATE_NETMASK=255.255.255.0
${CMD_BRCTL} addbr ${NETWORK_BRIDGE_DEVICE_NAT}
${CMD_BRCTL} setfd ${NETWORK_BRIDGE_DEVICE_NAT} 0
${CMD_IFCONFIG} ${NETWORK_BRIDGE_DEVICE_NAT} ${PRIVATE_GW_NAT} netmask ${PRIVATE_NETMASK} promisc up
${CMD_IPTABLES} -t nat -A POSTROUTING -o ${HOST_NETDEVICE} -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
Autres possibilités:
Fonctionnalités:
persistant dans sysctl.conf /etc/sysctl.conf
persistant dans interfaces /etc/network/interfaces
Décommentez la ligne suivent dans /etc/sysctl.conf:
# Décommentez la prochaine ligne pour activer le "packet forwarding" pour IPv4 net.ipv4.ip_forward=1
Insérez les lignes suivantes dans /etc/network/interfaces :
auto lxc-bridge-nat
iface lxc-bridge-nat inet static
bridge_ports none
bridge_fd 0
bridge_maxwait 0
address 192.168.100.1
netmask 255.255.255.0
up iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADELa configuration de /etc/network/interfaces de chaque container est équivalente à la proposition dans "L’hôte comme bridge"; si vous n’ajoutez pas un serveur dhcp dans le lxc-bridge-nat, le container devrait maintenant utiliser une configuration avec ip statique.
Le fichier de configuration utilise maintenant lxc-bridge-nat comme lien et une autre ip
lxc.network.link = lxc-bridge-nat lxc.network.ipv4 = 192.168.100.10/24
- L’hôte peut se connecter facilement depuis le réseau original 192.168.1.0 à celui qui est « natté » en 192.168.100.0
- si vous voulez accéder au port du container (exemple : mettre un serveur apache dans le container) depuis l’extérieur, vous devrait faire suivre le port depuis le l’hôte vers l’IP du container.
Références
http://www.vislab.uq.edu.au/howto/lxc/lxcnetwork.html -> Ressource utile qui montre comment régler un réseau bridge ou nat pour vos containers.
http://box.matto.nl/lxconlaptop.html -> un autre exemple pour les réseaux natté aussi applicable pour les connections wlan sur les portables.
