Blog

  • Promox: déplacement d’un conteneur LXC

    il n’y a pas de bouton pour déplacer un conteneur LXC. Heureusement, il est possible de la faire via une opération de backup / restore.

    Commençons par faire un backup du conteneur:

    Une fois le backup réalisé. On peut cliquer dessus et choisir le bouton restore:

    Une fenêtre s’ouvre, et on peut choisir l’emplacement de destination du conteneur:

    Et voila. En quelques clics, il est possible de changer de disque un conteneur.

  • Création d’un serveur d’envoi de mail

    Comme je reçois beaucoup de spam sur certaines adresses. J’ai regardé ce qu’il était possible de faire pour améliorer la réception des mails.

    Je me suis tourné vers une solution à base de spam assassin.

    J’ai trouvé un tuto plutôt bien fait ici.

    Comme ça n’a pas du marché du premier coup, voici les ajustements que j’ai fait.

    • J’ai rencontré le message suivant :
      warning: SASL authentication failure: cannot connect to saslauthd server: Permission denied
    adduser postfix sasl
    service postfix restart
    service saslauthd restart
    • warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory
    sudo ln -s /var/spool/postfix/var/run/saslauthd /var/run
    sudo chown root:sasl /var/spool/postfix/var/run/saslauthd

    créer /etc/procmailrc

    ORGMAIL=${HOME}/Maildir/
    DEFAULT=${ORGMAIL}

    créer (ou editer) /etc/login.defs

        MAIL_DIR      Maildir/
        #MAIL_DIR        /var/mail
        # Note: QMAIL_DIR alone does not work as advertised... also need MAIL_FILE
        MAIL_FILE      Maildir/

    Ajouter dans /etc/profile

    export MAIL=~/Maildir
    • Ajout de let’s encrypt pour gérer le certificat

    Attention, en mode standalone let’s encrypt va démarrer un server sur le port 443 pour vérifier que vous êtes bien le propriétaire du domaine. Il faudra peut être ouvrir le port sur le firewall pour que cela fonctionne.

    sudo apt install letsencrypt
    sudo letsencrypt certonly --standalone -d <mail.example.com>

    editer /etc/postfix/main.cf

    smtp_tls_CAfile = /etc/letsencrypt/live/mail.domain.tld/chain.pem
    smtpd_tls_cert_file = /etc/letsencrypt/live/mail.domain.tld/cert.pem
    smtpd_tls_key_file = /etc/letsencrypt/live/mail.domain.tld/privkey.pem

    Enfin

    postfix stop; postfix start

    Ajout d’une contrab pour le renouvellement du certificat:

    35 12 * * * certbot renew --post-hook "systemctl reload postfix"

    Le post hook permet de recharger postfix seulement si il y a eu tentative de renouvellement de certificat.

  • Créer un template de container avec proxmox

    Pour pouvoir utiliser plusieurs conteneurs avec proxmox basé sur le même modèle, il peut être intéressant de créer un template. Par exemple, pour avoir un agent zabbix installer par défaut et configurer pour envoyer les données sur le serveur zabbix central.

    Dans la version actuelle, je n’ai pas trouvé d’option permettant de faire cela via l’interface. Mais en se basant sur différents forums, il est possible de réaliser cette opération facilement.

    Voici les différentes étapes:

    1. télécharger un container de base (debian ou autre)
    2. créer un container qui va servir de template et le démarrer
    3. entrer dans le conteneur crée avec la commande
      pct enter <conteneur_id>
    4. faire les opérations nécessaires (création de user / installation d’applications)
    5. faire du ménage dans le conteneur si besoin (apt-get clean, resolv.conf)
    6. supprimer les interfaces réseaux avec la commande
      pct set <conteneur_id> --delete net0
    7. supprimer le hostname de la machine
      pct set <conteneur_id> --delete hostname
    8. arrêter le conteneur
    9. faire un backup de la vm depuis l’interface (format gzip)
    10. déplacer le fichier depuis l’emplacement de backup vers ../templates/cache/name-version.tar.gz

    Il est maintenant possible de se servir du template name-version pour créer des conteneurs.

  • Installation de promox

    Actuellement la version courante est la 5.1.3.

    Pour lancer l’installation, il faut mettre l’iso sur une clé USB et démarrer le serveur.

    Il faut définir la partie réseau qui permettra d’accèder à l’interace WEB par la suite.

    Une fois l’installation terminée, il ne reste qu’a rebooter le serveur.

    Ce qui nous amène sur ce prompt:

    Comme indiqué, nous pouvons passé par un navigateur pour continuer la configuration.

  • Nas maison avec proxmox

    Ayant choisi de refaire mon nas, je me suis tourné vers proxmox pour repartir de zéro.

    voici un mini cahier des charges de ce que je souhaite faire:

    • cloisonner les applications (fonctionnalités) que j’utilise sur le nas
    • gérer un réseau privé avec serveur DHCP + dns
    • partage de fichier sur le réseau local

    Le premier point sera fait avec proxmox qui propose un système de virtualisation (VM + conteneur léger)

    le second sera fait avec pfsense qui permettra de gérer la partie réseau

    Dans les prochains articles, nous allons voir comment tout cela prends forme.

  • Surveillance de la temperature des disques avec Zabbix

    Je cherchais un moyen de suivre la température de mes disques durs  et je suis tombé sur cet article.

    http://virtuallyhyper.com/2013/10/monitor-smart-attributes-zabbix/

    Dans l’ensemble, il est encore à jour. J’ai juste rencontré un souci avec le script perl qui doit renvoyer les informations sur les disques.

    Le programme ne renvoyait pas une liste au format json.
    J’ai dû modifier la ligne suivante:

    print "\t,\n" if not $first;

    par

    if (defined $first){
    print "\t,\n";
    }

    Ce qui me permet de voir l’évolution de la température des disques dans Zabbix (Je le faisais déjà sous cacti et je trouvais que ça manquait sou Zabbix).

    temp

    L’article source permet aussi de surveiller le nombre de secteur ré alloué et lever une alerte préventive lorsque le disque commence à défaillir.

     

  • docker sous intellij

    Intellij supporte docker maintenant:

    On peut lancer les containers depuis intellij. On peut aussi exec des commandes directement sur le container (docker exec)

    Capture d’écran 2016-02-25 à 21.21.05

    Il y a aussi un debut de completion dans le Dockerfile.

    Capture d’écran 2016-02-25 à 21.23.11

    Cela va me faciliter la tache pour la mise au point de dockerfile.

  • Netstat, a quoi ca sert

    Je parle de netstat dans le dernier article mais à quoi ça sert ?

    netstat permet d’avoir des informations sur les connexions réseaux dans un système linux.

    ex : pour connaître les ports en écoute

    $netstat -an | grep LISTEN
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN

    On peut voir ici qu’un server ssh est lancé (22 est le port par defaut pour le ssh).

    Un autre cas d’utilisation qui peut être utile, c’est de savoir qui occupe un port particulier.

    $sudo netstat -laput | grep ssh
    tcp        0      0 *:ssh                   *:*                     LISTEN      1176/sshd

    Le résultat est sshd, il s’agit bien du process daemon pour un serveur ssh.
    NB: pour utiliser cette dernière commande, il faut utiliser sudo ou etre root pour avoir accès à tous les processus.

    Netstat a d’autres usages, il s’agit là des deux principaux que j’utilise au quotidien.

  • Netstat sous debian

    Petit pense-bete personnel car cela fait plusieurs fois que je cherche l’info.

    Sous debian, netstat est dans le package net-tools:

    apt-get install net-tools

    Ca peut être utile pour mettre au point des images docker.

     

  • Mon disque est rempli de snapshots

    En analysant l’espace disque d’un serveur, je me suis aperçu que sur notre nexus (repository manager) nous avions un historique assez impressionnant de snapshot. En effet, nous avions tous les builds depuis près de 4 ans à raison d’un build par jour. Cela occupait pas moins de 700Go.

    (suite…)