samedi 2 avril 2022

FreeNAS

Cet ancien article fait référence au produit FreeNAS (qui est désormais devenu TrueNAS). Personnellement je suis passé à XigmaNAS (ex Nas4Free) car je ne voulais pas utiliser de ZFS à la maison et donc conserver un RAID-1 logiciel.

  • Actuces:

Interface web inaccessible:

Si après avoir effectué des modifications sur votre NAS et que par mégarde vous avez aussi spécifié une adresse IPv6 en plus de l'adresse IPv4, vous vous retrouver comme un c*** sans interface web.

L'explication la voici, en effectuant cette modification, la configuration de votre serveur web qui gère l'affichage de l'interface d’administration est modifiée. Une seconde ligne est ajoutée (listenner) et provoque un crash lors du redémarrage de votre NAS. Les partages du NAS reste accessible mais l'interface d'administration ne répond plus.

Pour ce fait il faut modifier la configuration de NGINX qui est le serveur web de FreeNAS:

/usr/local/etc/nginx/nginx.conf


Il suffit ensuite de commenter les lignes listen en trop telle que celle-ci:

#listen [fe80:0:0:0:0:0:c0a8:101]:80;


Enfin il faut redémarrer les services
/usr/local/etc/rc.d/nginx  restart    //serveur web
/usr/local/etc/rc.d/django restart    //framework
 

Simulation d'un disque HS, puis remplacement par un nouveau:

En cliquant sur le feu rouge clignotant en haut à droite de l'interface, FreeNAS nous indique que notre pool fonctionne en mode dégradé.

On remarque que le nouveau disque ada0 est en cours de synchronisation. Il faut donc attendre, attendre....ce délai est bien sûr variable en fonction de la taille des disques mais on s'en rend vraiment compte lorsqu'il y a plus d'1To à synchroniser..... Malgré ce désagrément, nous profitons d'avoir cette HA (haut disponibilité) des données et nous pouvons continuer à lire et écrire nos données de manière transparente.

On peut aussi voir la progression en ligne de commande:






Installation d'un plugin : Exemple avec "miniDLNA"


Accéder à des partages CIFS depuis Windows 7

Overview rapide:

 

1)

 2)
 



mardi 4 novembre 2014

Vim - Les commandes à retenir

vim


Dans ce billet, je vais lister quelques commandes vraiment pratiques dans l'utilisation quotidienne de Vim. C'est en quelque sorte "The ultimate survial guide of Vim". Cette liste est bien sûr non exhaustive et il en existe encore une multitude. N'hésitez pas à les faire partager si vous avez.


  • Les commandes de bases (communes à l'éditeur "vi")
:wq (ou alors :x)Sauvegarde puis ferme le fichier
:q!Ferme le fichier sans enregistrer les modifications
:45Positionne le curseur à la 45ème ligne du fichier
ddSupprime la ligne courante
iPasse en mode insertion (Touche "Echap" pour sortir du mode)

  • Effectuer un remplacement massif dans le fichier
Une fois le fichier ouvert, taper l'expression suivante :%s/texte_origine/nouveau_texte/g puis pressez la touche "Entrer"

  • Commenter / dé-commenter plusieurs lignes à la fois
1) Se placer tout d'abord sur la permière ou dernière ligne de la zone à commenter
2) Faire un CTRL+V (V comme Visual Block)
3) Se rendre sur la dernière ligne (ou la première selon votre point de départ)
4) Taper ensuite :s/^/# et pressez la touche "Entrer"

Pour réaliser l'opération inverse, c'est à dire dé-commenter plusieurs lignes, il suffit de répéter les points ci-dessus mais en remplaçant l'expression de substitution de l'étape 4 par :s/^#/

  • Voir les différence entre deux fichiers
vimdiff fichierA.txt fichierB.txt
NB: Avouez que cela est bien plus lisible que la commande "diff" de base.

  • Convertir un fichier Windows au format Unix
Ouvrir le fichier et saisir la commande suivante :set ff=unix puis :x pour enregistrer les modifications et quitter. C'est un équivalent de l'outil dos2unix (ex: dos2unix monfichier.txt)

  • Éditer plusieurs fichiers à la fois
1) Saisir en paramètre tous les fichiers a éditer. Exemple: vim fichierA.txt fichierB.txt fichierC.txt (ou vim * si vous être un grand fou ^^)
2) :wn pour enregistrer les modifications et passer au fichier suivant

  • Couper/coller plusieurs lignes
1) Exemple: on coupe 4 lignes après le curseur: 4d
2) Positionner le curseur à l'endroit souhaité puis coller les lignes en dessus du curseur: p (ou P pour les coller avant le curseur)

mercredi 14 mai 2014

Linux - Le routeur du pauvre



Oyé oyé les amis !

Avant de commencer, j'apporte une précision à mon titre d'article quelque peu provocateur. En effet de nombreux routeurs physiques (pour ne pas dire tous) fonctionnent avec un OS ayant une base linux. Donc aujourd'hui je vais vous montrer qu'il est très simple de transformer votre PC linux en routeur ! Si, si ! Pas besoin de dépenser des milles et des cents dans un routeur matériel, linux le fait pour vous !

En effet, il vous faut:
  • 1 PC (par exemple celui qui prend la poussière dans le grenier)
  • 2 cartes réseaux (c'est bien sûr un minimum, sinon on va pas router grand chose...à moins de tagguer les trames et de relier la carte sur un port du switch en mode trunk mais je ne vais pas compliquer la chose ici).
  • 1 OS Linux

Et maintenant ?

Pour commencer, il faut configurer les IP sur chacune des cartes réseaux. Dans un second temps il faut activer le forwarding. Pour cela, deux méthodes s'offrent à vous: soit de façon temporaire soit de façon permanente.


  • Activation temporaire (valable jusqu'au prochain redémarrage)
(ceci est un exemple à saisir en ligne de commande)
ifconfig eth0 192.168.1.1 255.255.255.0
ifconfig eth1 10.0.0.1 255.0.0.0

Ensuite il faut modifier le fichier "ip_forward" en mettant la valeur à 1
echo 1 > /proc/sys/net/ipv4/ip_forward

  • Activation permanente
1. Modification du fichier "/etc/network/interfaces" ou "/etc/sysconfig/network-scripts/ifcfg-ethX" suivant la distribution utilisée :

---> Si fichier "/etc/network/interfaces"
# interface réseau 1
    auto eth0
    iface eth0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255

# interface réseau 2
    auto eth1
    iface eth1 inet static
        address 10.0.0.1
        netmask 255.0.0.0
        network 10.0.0.0
        broadcast 10.255.255.255



--> Si fichier "/etc/sysconfig/network-scripts/ifcfg-ethX"

Sur le fichier "ifcfg-eth0":
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.1
BROADCAST=192.168.1.255
HWADDR=00:11:22:33:44:55
NETWORK=192.168.1.0
ONBOOT=yes
TYPE=Ethernet

et sur le fichier "ifcfg-eth1":
DEVICE=eth1
BOOTPROTO=static
IPADDR=10.0.0.1
BROADCAST=10.255.255.255
HWADDR=aa:bb:cc:dd:ee:ff
NETWORK=10.0.0.0
ONBOOT=yes
TYPE=Ethernet


2. Autorisation du forwarding en éditant le fichier "/etc/sysctl.conf" ou "/etc/sysconfig/network" suivant la distribution utilisée :
---> Si fichier "/etc/sysctl.conf":
net.ipv4.ip_forward = 1

---> Si fichier "/etc/sysconfig/network":
FORWARD_IPV4=true

3. Redémarrer les services réseau
service network restart


Résumé

Au final, notre petit Linux nous permet de faire la passerelle entre nos deux réseaux. Avouez que cela est plus trivial, non ? On pourra bien sûr (et il est fortement recommandé de) filtrer les flux. Par exemple avec IPTable.... (d'ailleurs je pense que ce sera l'objet d'un futur article).


Une alternative ?

Oui, enfaite il existe une distribution toute prête, il s'agit de: ZeroShell. N'exagérons rien non plus puisqu'elle permet d'offrir plein d'autre service réseau comme le DNS, le DHCP, Radius et j'en passe. Pour plus d'information, voici le lien vers le site officiel : www.zeroshell.net

mardi 3 décembre 2013

FreeWifi_secure (EAP-SIM) et les téléphones Android dual SIM



  • Introduction
Si vous n’avez pas acheté votre smartphone Android chez Free Mobile, vous ne pouvez pas vous connecter automatiquement au réseau FreeWifi Secure. Généralement le téléphone vous insulte avec un joli message d'erreur. La suite de cet article détaille la procédure à suivre pour activer le protocole EAP-SIM. Vous allez voir que la connexion au réseau FreeWifi_secure fonctionne très bien sur les téléphones double SIM, même avec le forfait à 2 euro.


  • Méthode
Pré-requis: Le téléphone doit être rooté


1) Il faut modifier le fichier /data/misc/wifi/wpa_supplicant.conf manuellement. Avant toute chose, je vous conseille de faire une sauvegarde de ce fichier afin de pouvoir réaliser un retour arrière en cas de problème.

2) Une fois le fichier ouvert, il faut ajouter le profil suivant:
network={
    ssid="FreeWifi_secure"
    key_mgmt=WPA-EAP IEEE8021X
    eap=SIM
    sim_slot="0"
    imsi="1xxxxxxxxxxxxxx@wlan.mnc015.mcc208.3gppnetwork.org"
    identity="1xxxxxxxxxxxxxx@wlan.mnc015.mcc208.3gppnetwork.org"
    pcsc="rild"
    priority=8
}

xxxxxxxxxxxxxx doit être remplacé par votre IMSI. Pensez à bien laisser le 1 devant.
Vous pouvez trouver votre IMSI à l'aide de l'application "Android Device ID" disponible sur le Play ici ou bien comme moi depuis le PC grâce au logiciel MyPhoneExplorer.

3) C'est terminé ! Il ne reste plus qu'à enregistrer les modifications, activer le wifi et à vous connecter au réseau wifi "FreeWifi_secure".

vendredi 22 novembre 2013

Android - Applications à avoir



  • Introduction
Hé oui, me voilà depuis quelques mois avec un téléphone sous Android 4 ! Ne voulant pas me ruiner avec des smartphones (Iphone ou Samsung Galaxy S...), j'ai opté pour un téléphone Chinois à 110€ TTC. Pour ceux et celles qui seraient intéressés il y a pas mal de site sur internet où l'on peut en acheter. L'avantage premier est bien évidement le prix mais également d'avoir quelque chose d'aussi puissant que la concurrence qui en coute 6 fois plus cher. Enfin, faites attention aux frais de douane qui sont très souvent associés...
Une fois le téléphone reçu, je conseille avant toute utilisation de le nettoyer de toutes les applications chinoises pour le moins "douteuses" puis de le rooter (suivant l'esprit bidouilleur de son propriétaire !).

Cet article dresse donc la liste (non exhaustive) des applications Android qu'il faut à mon sens posséder ! :-) Certaines sont payantes mais ont le mérite d'être achetées (car vraiment pratiques).


  • Listes des applications

Applications
Mappy GPS Free GPS hors-ligne qui ne nécessite pas de connexion data
Waze GPS communautaire qui nécessite une connexion data pour fonctionner. Offre l'avantage de recevoir les infos-trafics
Shazam Trouver le titre d'une musique depuis l'enregistrement par micro
Greatsong Trouver les paroles de chanson

Gestion du téléphone depuis le PC
MyPhoneExplorer Très polyvalent, il permet la gestion, la synchronisation et la sauvegarde : des contacts, des SMS, des mémos, des fichiers,... Il est aussi possible d'envoyer des SMS depuis le PC. Plusieurs modes de connexion sont possibles: USB, WIFI ou Bluetooth
Airdroid Identique à MyPhoneExplorer mais ne nécessite pas l'installation de logiciel supplémentaire sur le PC de l'utilisateur (utilisation depuis un navigateur Web uniquement)
FidMe Permet de rassembler sur son téléphone la majorité de vos cartes de fidélités
ES Explorateur Explorateur de fichier qui permet de manipuler l'ensemble des fichiers du téléphone; et si le mobile est rooté, de monter la partition système en lecture / écriture
HF Scientific Calculator Calculatrice scientifique avancée (avec traceur de courbes dans la version payante)
20 minutes Permet de suivre l'actualité depuis son téléphone
Endomondo Idéal pour avoir un suivi de vos performances sportives (footing, vélo, tennis,...) et de garder un historique du parcours emprunté, les temps, les calories,...
QR Droid Scanner de code QR très efficace
Tricount Permet de faire le compte de ses dépenses entre amis, après les vacances, un weekend, un dîner,...Ainsi on sait ce que chacun doit à l'autre
OfficeSuite 7 + PDF&HD Visionneuse de document. Permet de lire les PDF, les documents OpenOffice et les documents Microsoft (.xls, .xlsx, .doc, .docx, .ppt, .pptx,...)
RATP Recherche d'itinéraires, plans de métro, bus et RER ainsi que les horaires. Nécessite une connexion data sauf pour les plans qui sont disponibles en hors-ligne
Essence Free Permet de faire des économies de carburant en trouvant la station la la moins chère autour de nous
Dood's Music Streamer Permet d'écouter de la musique en streaming et de sauvegarder en hors-ligne les titres qui vous intéressent. Utilise GrooveShark comme source de données
Tasker (payant) Permet d'automatiser pleins de tâches et d'actions suivant l'application lancée, le jour, l'heure, le lieu, l'état du téléphone ou suite à un événement
Camera ZOOM FX (payant) Remplace l'application de base pour prendre des photos avec l'ajout de fonctionnalités: Filtres, effets, un mode stabilisateur permettant au programme calculer le moment où la caméra est fixe et de prendre la photo,...

Bidouille (root nécessaire)
Pimp My ROM Permet d'activer des fonctionnalités supplémentaires sur le téléphone
Mobileuncle MTK Tools Permet de modifier des paramètres avancés du téléphone. Attention: pour utilisateurs avertis
Permission Manager Permet à l'utilisateur de gérer les permissions de chacune de ses applications


et les jeux ?

Pour ce qui est des jeux, vu que cela n'est pas trop mon truc, je ne ferai pas de listing pour cela. J'en suis donc désolé... Les tendances du moment sont orientées vers: Candy Crush, Ruzzle et Angry Birds.

mardi 15 octobre 2013

Cisco - Hard reset du switch sans mot de passe

  • Problématique
Comment remettre en configuration usine un commutateur Cisco (exemple 2950 et 2960) lorsque nous n'avons plus l'accès au mode privilégié ? Cette confrontation peut découler de plusieurs situations différentes: équipement acheté d'occasion et non remis à zéro, oubli du mot de passe,...
La procédure décrite dans cette article a été inspirée de la documentation officielle que je vous invite à parcourir ICI.

  • Procédure
  1. Couper l'alimentation du switch et attendre 5 sec. Maintenir le bouton "mode" qui se trouve en façade et connecter l'alimentation. Une fois que la LED de status reste vert fixe relâcher le bouton.



  2. Se connecter sur le port console; le prompt "switch:" doit apparaitre.
    Saisir ensuite les commandes suivantes dans l'ordre.

    flash_init        //initialisation de la flash
    load_helper        //chargement du module d'aide pour la saisie des commandes
    delete flash:config.text        //suppression de la configuration existante afin de démarrer sur une configuration vierge
    delete flash:vlan.dat        //suppression de la base des VLAN
    boot        //lance le boot de l'IOS du commutateur



  3. L'opération est terminée, le commutateur démarre normalement avec une configuration vierge. Finalement on se rend compte que l'opération est extrêmement simple; seulement, il fallait le savoir !

samedi 5 octobre 2013

Expressions régulières, le nom qui fache !

  • Introduction
Dans cette article, nous allons faire un rapide tour d'horizon des expressions régulières et notamment leur utilité et la syntaxe. Dans le jargon on parle aussi de regexp (REGular EXPression).


  • Match
Du sport ? Oui, mais intellectuel ! Ce n'est pas comme au foot; ici il faut se creuser la tête car trouver l'expression répondant à nos critères de recherche n'est pas toujours évidente, surtout quand on débute dans le domaine ! Ah oui j'oubliai; pour les non bilingues "match" cela veut dire "correspondre".


  • Un must have !
C'est le site à avoir dans ses favoris ! C'est en potassant pas mal de cours et de documentation sur le sujet que je suis tombé sur cet excellent outil qui nous simplifie la vie. En un coup d'oeil on peux voir si notre regexp est valide ou non. Bref merci aux développeurs pour cet outil !

Version Online:
http://www.gskinner.com/RegExr/

Version Offline:
http://get.adobe.com/fr/air/ (prérequis)
http://gskinner.com/RegExr/desktop/RegExr.air


  • Pense bête (quelques rappels)
\D alpha (lettre uniquement)
\d digit (chiffre uniquement)
\s espace
(?:abc) ?: permet de ne pas extraire ce groupe d'un match d'une regexp
* 0 ou plusieurs fois
+ 1 ou plusieurs fois
? 0 ou 1 fois
/D{3,9} entre 3 et 9 caractères
/D{2} exactement 2 caractères


  • Exemple de d'expressions régulières
♦    /^ba.*\.txt$/

Cette expression permet d'inclure tous les fichiers texte (.txt) dont le nom débute par "ba". Ainsi, si nous avons les fichiers: beurre.txt, battre.txt, biere.txt et balle.txt alors seuls les fichiers battre.txt et balle.txt seront inclus.

♦    /snmp-server\shost\s((:?\d{1,3}\.){3}\d{1,3})/

Permet d'extraire l'adresse IP qui correspond à la ligne snmp-server host. (Extrait la chaine de caractère 10.11.12.13 si la ligne vaut snmp-server host 10.11.12.13)

dimanche 5 mai 2013

VMWare Worstation - Dossier partagé

  • Introduction :
Tout d'abord, brève présentation pour les débutants. L'hyperviseur VMWare et précisément la version Workstation permet depuis son propre PC de virtualiser n'importe quel OS. Notons qu'il existe des équivalents gratuits tels que VirtualBox ou VirtualPC.

Je vais vous parler ici des dossiers partagés qui permettent d'avoir un répertoire qui est accessible à la fois depuis son PC mais également depuis sa VM (Machine Virtuelle). J'avoue que j'abuse de cette fonction très pratique afin de faire des transferts temporaire vers ma VM et vice versa.
Pour des WM Windows, pas de problème le dossier se monte tout seul comme lecteur réseau et l'affaire est bouclée mais pour Linux c'est tout une autre histoire !
Lors de mes précédents maquettages sous une Debian je me fais mon petit dossier partagé mais une fois sur la VM je me suis dit: Mince il est où ce foutu dossier ?! La réponse je vous la donne: Il suffit de se rendre dans le dossier /mnt/hgfs/. J'ai cherché un bon moment avant de comprendre que ce montage bizarre hgfs était le répertoire en question. Au passage hgfs pour Host Guest File System !

D'autre me dirons RTFM et ils n'auraient pas tors car la réponse est effectivement dans la documentation officielle mais je ne l'ai pas fait...."bouhh, honte sur moi ! ^^"






  • Configuration :
Pour la configuration, il faut se rendre dans les propiétés de la VM puis de cliquer sur l'onglet options. Pour vous faciliter la vie j'ai même pris le temps de vous numéroter les étapes pour y arriver mais franchement rien de bien compliquer à faire ! Ce n'est que du "clic-clic" !




Pas si compliqué que cela, il fallait le savoir c'est tout ! :-)
Ci-dessous un aperçu du répertoire partagé..


dimanche 28 avril 2013

Cisco - Quand tout est perdu, il y a le ROMmon !

  • Introduction:

Pour une raison ou une autre vous avez "trifouillé" un peu trop votre équipement Cisco mais voilà qu'au redémarrage, celui-ci ne démarre plus ou plutôt qu'il reste bloqué dans un mod de secours appelé ROMmon.
Enfaite, ceci peut notamment arriver dans le cas où l'image iOS n'es plus présente dans la mémoire flash. Au passage, attention à la commande "delete"....pratique pour vider la base des vlans sur un commutateur via la commande "delete flash:/vlan.dat" mais ne faite surtout pas de delete flash:/ sinon c'est un erase complet et là, il n'y a plus rien ! Idem pour un upgrade de l'iOS, il faut être très vigilent et c'est que qui arrive lorsque l'on fait ce genre de mise à jour sans consulter la documentation constructeur... On oublie la commande indiquant au matériel le nom de la nouvelle image où il doit démarrer; et au prochain redémarrage c'est le crash assuré !




  • Satané prompt, je fais quoi maintenant ?

Tout d'abord nous devons renseigner les variables environnement afin de pouvoir charger un iOS dessus via une liaison RJ45. Il est également possible de réaliser la même opération par le lien série (port console) mais dans ce cas il va falloir être patient, très patient: compter environ 2h....
Pour les novices, seules les commandes en vertes sont à saisir. Il faut bien sûr les adapter en fonction ( adresses IP, nom de l'iOS à charger).

rommon 1 > IP_ADDRESS=192.168.1.1        //adresse IP de l'équipement
rommon 2 > IP_SUBNET_MASK=255.255.255.0        //masque de réseau
rommon 3 > TFTP_SERVER=192.168.1.10        //adresse IP du serveur TFTP hébergeant l'iOS, typiquement le PC
rommon 4 > TFTP_FILE=c2960s-universalk9.150-2.bin        //nom de l'iOS situé sur le serveur TFTP
rommon 5 > set        //affiche les variables environnement (permet de s'assurer que toutes les informations saisies ont été correctement saisies)
rommon 6 > tftpdnld        //lance la procédure de download, répondre par "Y" pour confirmer le téléchargement de l'IOS
rommon 7 > boot        //boot sur l'iOS

On patiente encore quelques instants le temps que l'iOS se décompresse, boot et c'est gagné ! Pour terminer, il faut lui indiquer que ce sera désormais cette image qu'il devra utiliser pour démarrer. Pour cela, lorsque l'équipement est totalement démarré; passer en mode de configuration globale (configure terminal) et saisir la commande "boot system flash:/monIOS.bin". Ci-dessous, un exemple...


Switch> enable
Switch# configure terminal
Switch(config)# no boot system flash
Switch(config)# boot system flash:/c2960s-universalk9.150-2.bin
Switch(config)# exit
Switch# write
Switch# reload


Procédure officielle de récupération à cette adresse : > ICI <




  • BONUS n°1: Backup de l'IOS :
Faire une copie de tous les fichiers de la flash vers un serveur TFTP:
Switch> archive tar /create tftp://192.168.1.1/backupios.tar flash:



  • BONUS n°2: Mise à jour de l'IOS :
Pour la mise à jour c'est quasiment la même chose mais en plus simple... Il faut supprimer l'ancien iOS via la commande delete, puis supprimer l'ancienne référence pour le boot avant de saisir la nouvelle. On enregistre les modifications et on termine l'opération par un redémarrage l'équipement pour booter sur le nouvel iOS.

Switch> enable
Switch> delete flash:/c2960s-universalk9.120-1.bin
Switch> copy tftp://192.168.1.10/c2960s-universalk9.150-2.bin c2960s-universalk9.150-2.bin
Switch# configure terminal
Switch(config)# no boot system flash
Switch(config)# boot system flash:/c2960s-universalk9.150-2.bin
Switch(config)# exit
Switch# write
Switch# reload