Journal 1er install de vserver(s)

Posté par  (site web personnel) .
Étiquettes :
0
29
août
2004
Ce week-end, je me suis décidé à installer et tester vservers.

En fin de compte c'est tout bête:
1- installer une debian (/ à 2Go + SWAP)
2- mettre le sources.list à jour (stable/unstable/testing) et apt.conf
3- apt-get update
4- mettre le kernel qui va bien en .deb, j'en ai trouvé un ici:
http://lena.franken.de/linux/debian_and_vserver/kernel-image-2.4.18(...)
car je n'arrive pas à prendre celui là:
ftp://ftp.solucorp.qc.ca/pub/vserver/kernel-2.4.25-vs1.26.tar.gz(...)
5- on redémarre sur le nouveau kernel
6- on met à jour le système:
apt-get install ssh lvm2 util-vserver vserver-debiantools
7- Créer une partion LVM, qui pointe sur /var/lib/vservers, pour LVM:
http://clx.anet.fr/spip/article.php3?id_article=237(...)
8- Fin de la configuration de l'OS pour héberger les Vservers

Pour Installer et configurer un vserver:
Le 1er vserver que je vais créer est un serveur SQUID pour éviter de recharger les fichiers sur le net. Mais vous pouvez commencer par créer un vserver de référence:
http://vservers-fr.org/(...)
Par défaut les vservers sous une debian sont des debian, voici les manipulations:
1- Vérifier que votre partition /var/lib/vservers est ok
2- utiliser la commande newvserver pour :
$ newvserver --vsroot /var/lib/vservers --hostname debian-SQUID --domain chezmoi.net --ip 192.168.1.231 --interface eth0 --arch i386
3- attendre qu'il installe le bootstrap et qu'il le mette à jour (le temps dépend de la puissance de la machine et de la connexion internet)
4- Copier votre sources.list + apt.conf dans l'arboresence de votre vserver
6- vserver debian-SQUID start
6- vserver debian-SQUID enter
7- apt-get update
8- apt-get install squid
9- configurer votre SQUID.conf
10- configurer votre apt.conf pour qu'il prenne en charge SQUID
11- faites des essais avec apt-get update
12- Mise à jour à votre sauce: apt-get dist-upgrade / install

Voila, c'est fini!

Pour ma part, je n'arrive pas à installer ssh. Lorsqu'il essaye de générer ma clés /dev/urandom n'existe pas:
"PRNG is not seeded"

Sinon vserver ne fonctionne pas en IPv6. Il n'y a pas d'info pas récupérer une distribution et la mettre en vserver.
J'ai souvent une erreur, il ne peut pas exécuter /etc/init.d/rc 2
et je suis obligé de refaire mon vserver.

Voici mes sources d'info:
Portail francophone des vservers: http://vservers-fr.org/(...)
LVM: http://clx.anet.fr/spip/article.php3?id_article=237(...)
Vservers et debian: http://lena.franken.de/linux/debian_and_vserver/vserver.html(...)
Vservers et debian: http://vserver.strahlungsfrei.de/tiki-index.php?page=GetTheKernelAn(...)
et bien sûr: http://www.linux-vserver.org/(...)

Bon, je vais aller créer mes vservers alternc et gforge de référence...
:)
  • # J'ai oublié de parler des "capabilities"

    Posté par  (site web personnel) . Évalué à 3.

    Les "capabilities" sont des droits que l'on donne à un vserver suivant ces droits il aura droit de faire certaines choses:
    CAP_NET_RAW: You can create arbitrary ip-packets
    CAP_SYS_TIME: You are allowed to set time: date, netdate, xntpd
    CAP_NET_BROADCAST: You are allowed to send broadcast-packets, i.e. Samba
    CAP_NET_BIND_SERVICE: Bind ports below 1024
    CAP_CHOWN: You are allowed to change owner of files
    CAP_SYS_ADMIN: You are allowed to do everything, includes mounting filesystems!


    Vous faites votre choix puis dans le fichier de configuration de votre vserver: /etc/vservers/xx.conf
    Vous ajouter:
    S_CAPS="CAP_NET_RAW CAP_NET_BIND_SERVICE"

    Tous les droits sont dans: capability.h

    Info:
    http://lena.franken.de/linux/debian_and_vserver/vserver.html(...)
  • # Attention aux veilles versions/doc

    Posté par  (site web personnel) . Évalué à 2.

    re,

    il faut faire attention aux vielles doc et aux fichiers fichiers.
    Dans mon cas, j'ai dû croiser les informations pour pas me tromper.

    De plus, j'ai juste récupérer les outils vservers sur les sites debian; donc pas trop de problème.

    Le plus important est le kernel, pour l'instant celui que j'ai pris est suffisant.

    Un autre truc, quand on install les .deb de vservers il retirer pleins de packages pour des raisons de sécurités. Donc on doit passer derrière pour ajouter ces outils/packages
  • # précisions

    Posté par  (site web personnel) . Évalué à 2.

    Il ne faut pas oublier de configurer les services reseau tournant sur la machine hote et dans le vserver pour qu'ils ne bindent que sur l'interface réseau qui va bien:

    Si tu as un sshd qui tourne sur la machine hote et qui binde sur toutes les interfaces (par defaut) tu ne pourra pas utiliser sshd dans ton vserver, et vis-et-versa. C'est valable pour tous les autres services (ftp, squid, telnet, http, etc) Il faut donc penser a configurer l'interface sur laquelle le daemon doit binder.

    Certains services ne marchent pas dans un vservers, par exemple, bind doit etre compiler avec un flag particulier.

    Il y a aussi un risque d'incompatibilité avec certains matériels actifs.. genre des switch de bas de gamme qui n'arriveront pas à gerer X adresses IP pour une seule mac address. (faut vraiment tomber sur du matos pourri)

    Je n'ai jamais essayé de faire tourner un vserver en ipv6, mais on utilise nos vservers sur des interfaces virtuelle vlan, et cela marche très bien (un vserver par vlan).

    Voila, c'était juste quelles précisions qui me sont passée par la tête
    • [^] # Re: précisions

      Posté par  (site web personnel) . Évalué à 1.

      J'ai vu pour bind, je vais le mettre dans le système racine (tout comme nfs, samba,ssh)

      Pour les services, je vais essayer de voir cela mais il disait qu'il y a un problème avec /dev/urandom
      • [^] # Re: précisions

        Posté par  (site web personnel) . Évalué à 3.

        Dans mon script de creation automatique de vservers (qui utilise yum pour installer une fedora core minimale via le net) j'ai ca:
        mkdir -p $VROOT/dev && chmod 755 $VROOT/dev
        mkdir $VROOT/dev/pts
        vserver_mknod $VROOT/dev/null c 1 3 666
        vserver_mknod $VROOT/dev/zero c 1 5 666
        vserver_mknod $VROOT/dev/full c 1 7 666
        vserver_mknod $VROOT/dev/random c 1 8 644
        vserver_mknod $VROOT/dev/urandom c 1 9 644
        vserver_mknod $VROOT/dev/tty c 5 0 666
        vserver_mknod $VROOT/dev/ptmx c 5 2 666

        c'est peut-etre ce qu'il te manque.
        • [^] # Re: précisions

          Posté par  (site web personnel) . Évalué à 1.

          Par contre, je n'ai pas le vserver_mknod, tu l'ai pris dans quel package?

          Je vais essayer cela ce soir
          sinon, j'ai essayé une autre commande avec cp:
          cp -av /dev/[random|urandom] $VROOT/dev/

          Je pense que cela doit venir d'un probème dans le package debian

          Il faut vraiment faire attention à l'assignation de l'adresse IP dans tous les services...
          • [^] # Re: précisions

            Posté par  (site web personnel) . Évalué à 2.

            Oops.. j'avais oublié:

            vserver_mknod est une fonction faite en bash:

            vserver_mknod()
            {
            mknod $1 $2 $3 $4
            chmod $5 $1
            }


            qui permet de créer le device dans le bon répertoire.
            • [^] # Re: précisions

              Posté par  (site web personnel) . Évalué à 1.

              Cela n'a pas fonctionné, je ne comprends pas...

              par contre, j'ai trouvé un contournement
              touch /dev/null
              chmod a+rw /dev/null

              puis ensuite postfix et procmail sont ok


              Sinon comment on configure l'adresse ip d'écoute de portmap...
              je sais je devrais aller l'info; j'irai quand j'aurai fini ma config(spamassasin+filtre ml) et récupérer mes 300 mails
              a+
  • # Expérience peu concluante pour moi

    Posté par  . Évalué à 0.

    J'avais fait une installation de vservers il y a quelques mois. Quelques problèmes m'ont fait abandonné ce système pour un "simple" Linux:

    - consommation mémoire importante
    - impossible de mettre les vservers sur des subnets personnels et de les empécher de communiquer entre eux(*). Ils peuvent toujours se pinguer et voir le réseau local même sans gateway.
    - impossible de trouver comment configurer iptables pour filtrer le traffic réseau depuis, vers et entre les vservers
    - impossible aux vservers d'accéder à ppp0 pour ma connexion ADSL, ils ne fonctionnent que pour le local


    (*) : en gros je voulais que les vservers soient sur un subnet particulier, et ne puissent pas communiquer entre eux. Un vserver s'oocuppait ensuite de iptables et des règles de traffic entre les vservers. Manque de pot, la configuration de iptables est dans le kernel, donc pas exportable dans un vserver (ou alors avec un patch, mais je n'ai pas essayé).


    Pour iptables et le net, il doit y avoir un moyen, mais j'ai vraiment perdu trop de temps dessus.

    Donc en gros les vservers pour une machine dans un réseau c'est bien pratique, mais pour une passerelle c'est beaucoup plus galère :(

Suivre le flux des commentaires

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