Forum Linux.noyau Network & Pid NamSpace

Posté par  . Licence CC By‑SA.
Étiquettes :
1
28
mai
2014

Bonjour,

J'ai fait un espace de nommage pour un processus, qui est le serveur httpd.
Pour ce faire je me suis aidé de ce code source : http://lwn.net/Articles/532741/

J'ai également fait un espace de nommage réseau avec la commande " ip netns add " et "ip link add veth0 type veth peer name veth1".

Mon problème est que je n'arrive pas à trouver le moyens de réunir ces deux espaces de nommages pour que le serveur httpd puisse écouter sur la carte réseau qui est rattachée à l'espace de nommage réseau.

Merci d'avance pour toutes les propositions de réponses.

  • # Sujet du commentaire

    Posté par  . Évalué à 3.

    Je ne sais pas quelle est ta situation actuelle, mais:

    • Si tu n'a pas déplacé une des interfaces veth0 ou veth1 dans ton namespace par défaut, alors pense à le faire: ip link set veth0 netns ${nom du netns ou pid d'un programme qui est dedans, par ex 1 (le processus d'init)}

    • Une fois que tu a ton veth0 dans ton namespace par défaut, il faut que tu choisisse par quel moyen tu va connecter veth0 au reste du monde: Si tu bridge, tu utilisera deux adresses MAC. Si tu bridge ou si tu route, il te faudra deux adresses IP différentes. Si tu utilise du NAT historique, il va falloir du port forwarding. Il n'y a pas de solution miracle.

    Et sinon, juste un dernier conseil: n'utilise les network namespace que lorsque tu ne peux pas faire autrement, c'est loin d'être gratuit pour le système. Si tu veux tuer une mouche, n'utilise pas un lance roquette.

    • [^] # Re: Sujet du commentaire

      Posté par  . Évalué à 1.

      Merci pour ta réponse,

      je n'ai pas été assez précis, mon bute est de faire un container personnalisé,

      j'ai chrooté le serveur httpd , et certaines commandes que j'ai sélectionner.
      J'ai fait en sorte que un utilisateur (adminWeb) après sont logging se voit attribué le shell du chroot.
      J'ai pus enfermé se chroot dans un espace de nommage (PID namesapce) pour ainsi que l'rosqu'ont est dans le chroot ont ne puisse pas voir les processes tournant sur la machine hôte.

      J'ai créer un network namespace pour pouvoir l'attribué au container. j'ai réussis à rellier la carte veth0 au network namespace et l'autre bout la veth1 à mon hôte. mais je n'arrive pas à que le server httpd puisse écouter sur la carte veth0.

      Mon projet et de comprendre et décortiquer comment est fait un container comme créer par LXC.

      • [^] # Re: Sujet du commentaire

        Posté par  . Évalué à 3.

        Mon projet et de comprendre et décortiquer comment est fait un container comme créer par LXC.

        ce ne serait pas plus simple d'aller lire les scripts de LXC ???

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.