Bon, hier soir j'arrivais pas à dormir donc je me suis dit que j'allais testé vserver. Heureusement, j'avais une machine qui s'ennuyait, donc étant dans ma période 4400, je me suis dit que j'allais en profiter. La machine "hote" s'est donc vu appelé lightball ;)

Donc, voici rapidement comment installer un vserver :

  • patcher le kernel, en laissant les valeurs par défaut dans la section VSERV
  • recompiler && rebooter
  • apt-get install util-vserver
  • la commande magique :
    vserver maia build -n maia --hostname maia.oj.null --interface eth1:10.16.0.101 -m debootstrap -- -d sarge
    Je ne pense pas avoir à l'expliquer, elle est assez intuitive ;)
  • Attendez ....
  • Fini ! Il vous reste juste un
    vserver maia enter
    et vous êtes dedans
  • Ensuite, occupons nous de l'interface. Elle est configurable dans /etc/vservers/< nom du vserv >/interfaces/0/. A l'intérieur il y a le fichier ip avec .. l'ip , dev pour savoir si ce sera une interface virtuelle de eth0, eth1 .. , mask, mais surtout on peut rajouter le "name". Mettez y maia, et vous aurez au lancement de votre vserv un eth1:maia avec l'ip de votre vserv.
    N'oubliez pas de faire que votre sshd de votre serveur hôte n'écoute pas sur 0.0.0.0 (ListenAddress) , sinon il écoutera aussi sur l'eth du vserv, et sera prioritaire, donc plus aucun intérêt !
  • Bon le soucis c'est que 1. vous n'aurez pas de net si vous avez mis une ip privée et que le serveur hôte a une IP privée et publique, 2. Il y a pas mal de choses que vous n'aurez pas le droit de faire

    Pour le 1. , c'est assez simple, si vous considérez que votre vserv est une autre machine de votre réseau, vous vous retrouvez dans une situation "home", donc vous nattez votre connection sur votre serveur hôte (iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE et echo 1 > /proc/sys/net/ipv4/ip_forward si eth0 est l'iface vers le public).

    Pour le 2. , Vserv fonctionne avec des CAPABILITIES, qui sont configurables dans le fichier /etc/vservers/< nom du vserv >/bcapabilities . Pour ma part, j'ai mis ceux là:
    CAP_DAC_READ_SEARCH
    CAP_SETGID
    CAP_SETUID
    CAP_NET_BIND_SERVICE
    CAP_SYS_RESOURCE
    CAP_NET_RAW
    je vous laisse regarder la liste complète ici.
  • Je crois que c'est à peu près tout, je rajouterai si j'ai eu d'autres soucis ;)
And Maia was born ...