Étiquette : linux

  • Partage de repertoire entre conteneur

    Par réflexe, j’ai commencé par partagé des répertoires via le protocole samba entre plusieurs conteneurs. Mais cela impose de d’installer les paquets samba sur proxmox.

    Du coup, proxmox commence à faire plus de choses que ce pour quoi je l’ai installé (système de virtualisation).

    J’ai donc chercher une autre solution.

    Dans proxmox, on peut ajouter un point de montage sur un disk.

    Mais le résultat n’est pas intéressant, on se retrouve avec un répertoire vm-108-disk-2 dans le local-lvm. On se retrouve donc avec des répertoires dédiés très loin du résultat recherché.

    En consultant les forums, j’ai trouvé ceci.

    En éditant, le fichier /etc/pve/lxc/.conf

    et changer la ligne

    mp0: local-lvm:vm-108-disk-2,mp=/test,size=8G

    en

    mp0: volume=/tank/test,mp=/opt/test

    On va monter le répertoire /tank/test dans le container sous le chemin /opt/test

    Si on fait cela pour tous les containers, on a un moyen de partager un filesystem sans samba.

  • Configuration de pfsense – ssh

    Il est possible d’activer l’accès SSH sur pfsense.

    Pour cela, il faut aller dans system -> advanced

    Il faut cocher la case et sauvegarder

    Une fois que pfsense à appliquer les modifications, on peut accèder en SSH à l’interface LAN (avec le mot de passe de l’interface WEB):

  • Configuration de pfsense – dhcp

    La première chose que j’ai activé sur pfsense est le service dchp.

    Ce service va permettre de distribuer les adresses ips sur le reseau local et d’enregistrer la correspondance ip <-> nom dans un DNS local.

    Il est important de cocher cette case pour que la resolution fonctionne.

    Après sauvegarde et application des paramètres, on devrait avoir un reseau avec dhcp fonctionnel.

    On peut vérifier le bon fonctionnement dans la partie Status > DHCP leases

  • Installation de pfsense

    Pour isoler le réseau local, j’ai installé pfSense pour jouer le role de firewall (plus d’info ici).

    Avant de commencer l’installation, il faut créer 2 interfaces réseau. Une sera considéré comme WAN (accès exterieur), l’autre LAN (accès local).

    Sur proxmox, j’ai crée 2 bridges Linux.

    vmbr1 sera le WAN et vmbr0 sera le lan.

    Installation

    Créer une VM dans proxmox et uploader l’iso de pfsense dans local.

    Démarrer la VM, il reste à suivre les indications de la procédure d’installation.

    En choisissant les options par défaut lors l’installation, j’arrive à ca:

    On peut voir que les interfaces réseau ne sont pas  configurées (em0 et em1). Je vais les configurer avant de pouvoir lancer l’interface WEB.

    Il faut définir les adresses IP manuellement avec l’option 2 et se laisser guider.

    Si tout va bien, cela va donner quelques choses comme ca:

    une fois que c’est fait, on peut accéder à l’interface d’administration de pfsense via l’url http://192.168.59.5 (adresse IP de l’interface LAN)

    Il ne reste plus qu’a se connecter avec les comptes par défaut.

    Nous arrivons alors sur une assistant de configuration.

    Sur cet écran, on peut choisir le nom de son domaine (test.lan dans mon cas). On peut aussi définir le nom du serveur DNS primaire qui servira à résoudre les noms. J’ai mis le DNS de google à titre d’exemple mais on peut aussi mettre celui de son FAI.

    Utilisation d’un serveur ntp. J’ai laissé les valeurs par défaut.

    configuration de l’interface WAN. J’ai laissé sur DHCP, mais on pourrait très bien définir une IP statique.

    Réglage de l’interface LAN. Ici pas de choix possible, c’est forcément, une IP statique.

    Pour plus de sécurité, on peut changer le mot de passe de l’interface.

    Et voila, pfSense est installé.

    Il ne reste plus qu’a configurer quelques services pour ce soit pleinement fonctionnel.

  • 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.

  • 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.