#language fr ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[LXC/SimpleBridge|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 [[fr/LXC|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 # broadcast # gateway # # les options dns-* sont implémentées par le paquet resolvconf package, si installé # dns-nameservers # dns-search votre.domaine.de.Recherche.ici }}} Relancez 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 # 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 MASQUERADE }}} * La 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.