Subsections of Documentation Infra OpheoLab

Guides pour infra OpheoLab

Guides pas à pas pour installer et configurer les outils DevOps.

Subsections of Guides pour infra OpheoLab

Créer une partition avec un type LVM (Logical Volumes Manager)

Contexte : Une partition avec un type LVM sera utilisé pour cet exemple.

liste des disques et partitions existantes

lsblk

Fig. 1 Fig. 1

On voit que le disque fait 8G et que seulement 5.6G sont utilisés. Le restant servira de partition LVM de test.

Création d’une partition avec type LVM

sudo fdisk /dev/sda

Ensuite commande p pour lister les partitions

Fig. 2 Fig. 2

Commande n pour créer une nouvelle partition, puis p pour primaire et le numéro de la partition. Numéro 2 dans ce cas. Indiquer la taille au lieu de laisser le dernier secteur par défaut

Fig. 3 Fig. 3

Par défaut fdisk utilisera un type de partition linux. Pour connaître les différents types de partitions et leurs codes associés, il faut utiliser la commande l.

Fig. 4 Fig. 4

Le type de partition LVM a pour code 8e. Prenez le temps de bien vérifier que ce code soit bien le même pour vous car sur une autre de mes installations il était à 31. Je ne sais pas pourquoi car sur les 2 systèmes, c’est une debian 10.3 avec exactement la même version de fdisk. Si vous avez des infos je suis preneur.

Changement du type de partition commande t, puis sélection de la partition, renseigner le code Hexadécimal (8e) du type de partition et w pour conserver en compte les changement.

Fig. 5 Fig. 5

A présent nous disposons d’une partition qui pourra être utilisé pour créer un Physical Volume (PV).

Dans un prochain article nous verrons comment utiliser LVM avec cette partition.

Configurer rsyslog remote serveur/client

Configuration de base pour déporter les logs sur un serveur central rsyslog.

Configuration serveur

Créer un fichier 10-main.conf dans /etc/rsyslog.d/

sudo mkdir /etc/rsyslog.d/10-main.conf

Ajouter les lignes suivante dans le fichier de conf 10-main.conf

$ModLoad imudp
$UDPServerRun 514
$AllowedSender UDP, 192.168.10.0/24

$template syslog, "/var/log/remote/%hostname%/%programname%"
*.* ?syslog
& ~

Redémarrer le service

sudo service rsyslog restart

Configuration client

Ajouter la ligne suivante dans /etc/rsyslog.conf

#Si UDP 
*.*     @IP_SERVEUR_RSYSLOG>:514

#Si TCP
*.*     @@IP_SERVEUR_RSYSLOG>:514

Redémarrer le service

sudo service rsyslog restart

Quick-fix pour infra OpheoLab

Aide-mémoire quick fix

Subsections of Quick-fix pour infra OpheoLab

Commande find

Commandes find utiles

Supprimer les fichiers partiels d’une synchro rsync

find . -regextype egrep -regex ".*\.[a-zA-Z0-9]{6}$" -exec rm {} \;

RETEX infra OpheoLab

Retour d’expérience incidents

Subsections of RETEX infra OpheoLab

Problème avec logrotate

J’utilise un serveur de log centralisé rsyslog.

Les logs de chaque serveur se trouvent dans leurs répertoires respectifs. ex : /var/log/distant/serveurMail/ /var/log/distant/serveurWeb/

Je souhaitais une rotation hebdomadaire sur un an de chaque fichier de conf. Je pensais que la configuration suivante suffirait :

/var/log/distant/*/*
{
        rotate 52
        weekly
        missingok
        notifempty
        delaycompress
        compress
        postrotate
        invoke-rc.d rsyslog rotate > /dev/null
        endscript
}

Mais cette configuration a mis la pagaille dans les extensions de mes noms de fichiers de log. Avec beaucoup d’entre eux terminant par une succession de 1.1.1.1 et parfois des compressions entre deux tentative de rotation.

Je terminais donc avec ce genre de fichiers :

Fig. 1 Fig. 1

Cela s’explique car je possède les mêmes noms de fichiers de log sur différent serveurs. Avec mon / la comparaison de logrotate ne fonctionne pas comme attendu.

J’ai du indiquer le chemin complet pour chaque serveur :

/var/log/distant/serveurMail
/var/log/distant/serveurWeb
{
        rotate 52
        weekly
        missingok
        notifempty
        delaycompress
        compress
        postrotate
        invoke-rc.d rsyslog rotate > /dev/null
        endscript
}

Je les mis en place aujourd’hui. A voir si changement d’ici une semaine.

En attendant le ménage a été fait dans les logs : Tout ce qui avait une taille de 0, 20, 33 ou 34 octets a été supprimé :

find <PATH> -size <N>c rm {} +

Cheat Sheets IT

Cheat Sheets générales IT

Subsections of Cheat Sheets IT

Cheat Sheets Alcatel

Cheat Sheets Alcatel

Subsections of Cheat Sheets Alcatel

Commande utiles OmniSwitch Alcatel

Cette page présente les principales commandes pour configurer les switch Alcatel basés sur Alcatel Operating System Release 6 (AOS 6). Toutes les options de chaque commande ne seront pas forcément abordées. Principaux modèles de switches en Release 6 :

  • OmniSwitch 6250
  • OmniSwitch 6350
  • OmniSwitch 6450
  • OmniSwitch 6850E
  • OmniSwitch 6855
  • OmniSwitch 9000E
  • OmniSwitch 9900

Les fichiers de configuration

Les switches Alcatel possèdent deux modes de sauvegarde de configuration : working et certified.  Au démarrage le switch va comparer les deux versions, si elles diffèrent le démarrage se fera en mode certified. Lorsque le switch est lancé en mode certified, la configuration ne peut être modifiée… en théorie car ça reste possible.

Gérer les fichiers de configuration

Voir la configuration en cours d’exécution

show configuration snapshot all

Savoir dans quel mode se trouve le switch (working ou certified)

show running-directory

Sauvegarder ses modifications de configuration

  • D’abord enregistrer la running configuration vers le répertoire working
copy running-config working

également faisable avec la commande suivante

write memory
  • Ensuite enregistrer vers certified
copy working certified

Ou alors en une seule commande pour enregistrer la running config vers working et certified

write memory flash-synchro

Voici l’astuce pour sauvegarder la configuration alors que le switch est en mode certified

copy certified working
write memory
copy working certified

Redémarrage switch

reload

Forcer le redémarrage en mode “working”

reload working no rollback-timeout

Redémarrage programmé : Le redémarrage programmé est très utile lors de manipulations hasardeuses de la configuration en remote. Si on perd la main et que la config n’a pas été enregistrée en certified, il suffira d’attendre le redémarrage planifié pour revenir à la configuration précédente.

#redémarrage dans n minutes
reload in <n>
#redémarrage à une heure particulière
reload at HH:MM
#Voir si un redémarrage est programmé
show reload
# annuler un redémarrage programmé
reload cancel

Informations système

Montrer les informations système, tels que l’uptime, la date, le nom, le contact et la localisation du switch

show system

Pour changer le nom, le contact et la localisation

system name "nom"
sytem contact "contact_details"
system location "description_localisation"

Session

Afficher la configuration session : nom du fichier de bannière, valeur du timeout de session et le prompt par défaut

show session config

Par défaut le prompt ressemble à ça -> voici la commande pour obtenir le prompt suivant SW01#

session prompt default "SW01#"

Paramétrage du timeout d’une session telnet ou SSH

session timeout cli <n>
# avec <n> en minutes

Bannière lors de l’authentification sur le switch

session banner cli <fichier.txt>

Nombre maximum d’essais de login avant de réinitialiser la connection TCP. Par défaut la valeur est à 3. modifiable entre 1 et 10.

session login-attempt <n>
# avec <n> entre 1 et 10

Utilisateurs et accès

Par défaut l’utilisateur local avec les droits administrateur est tout simplement : admin et le mot de passe : switch

Création d’un nouvel utilisateur local et configuration du mot de passe

user <nom_utilisateur> password <mot_de_passe>

Lister les accès

show aaa authentication

Autoriser la connexion en console avec utilisateur local

aaa authentication console local

Activer les services tels que ssh, telnet, ftp, … Exemple avec ssh qui autorise la connexion avec radius en priorité sinon avec utilisateur local si défaut du serveur radius.

#activation du service
ip service ssh
#Authentifications autorisées
aaa authentication ssh <Radius_group> local

La définition du <Radius_group> se définit à minima à l’aide la commande suivante

aaa radius-server <Radius_group> host <IP_serveur_Radius> key <clef_authentification> timeout 2

Pour voir la liste des services actifs

show ip service

Interfaces

Activer / désactiver un port

interfaces slot/port admin up
interfaces slot/port admin down

Voir le status des ports

# De tous les ports d'un switch
Show interfaces status
# D'un port en particulier
Show interfaces port slot/port

Compteur d’erreurs

show interfaces counters errors
# Pour réinitialiser le compteur
interfaces slot/ports no l2 statistics

Attribuer un nom/alias/description à un port

interfaces slot/port alias <nom_port>

Gestion de la vitesse et des flux des ports. Avant de forcer manuellement la vitesse et/ou le mode de duplex d’un port, il faut désactiver l’auto négociation.

Ex :

interfaces 1/2 autoneg disable
interfaces 1/2 speed 1000
interfaces 1/2 duplex full
# Changer la vitesse
interfaces <slot/port> speed <10> ou <100> ou <1000>
# change le mode de duplex
interfaces <slot/port> duplex half

Gestion ARP et MAC adresses

Lister la table ARP

show arp

Modifier enregistrement dans la table

# Ajout
arp <IP> <MAC>
# Supression 
no arp <IP>
# Supprimer toutes les lignes ajoutées automatiquements
clear arp-table

Configurer la durée de vie d’un enregistrement ARP

mac-address-table aging-time <secondes> 

Visualiser les adresses MAC

show mac-address-table