Configuration réseau (Bis)

Réédition d’un article concernant la configuration réseau sous GNU/Linux; pratique notamment pour la configuration d’une ip statique sur une machine. Le fichier /etc/network/interfaces permet de configurer les cartes réseau de manière permanente.

Par exemple :

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.168.1.2
  netmask 255.255.255.0
  gateway 192.168.1.1

Pour configurer l’adresse des serveurs DNS, on modifie le fichier /etc/resolv.conf en y ajoutant par exemple nameserver 8.8.8.8 pour les DNS de google.

GNU/Linux: Parcours

Une minorité de personne a la chance d’entrer dans le monde de l’informatique accompagné d’un système GNU/Linux. Comme la très grande majorité, j’ai donc découvert l’informatique en commençant par un système Windows, 98 en l’occurrence. Quelques années plus tard, je reçois mon premier ordinateur perso, un portable sous Vista. Après quelques mois d’utilisation, l’envie de passer à un système GNU/Linux se fait sentir. Arrive donc une période de lecture de tuto, doc, wiki et autres forums pour savoir comment procéder et surtout, quelle distribution choisir?

Mon choix se porte vers Ubuntu, alors en version 09.04. L’installation se déroule sans aucun problème, j’ai maintenant un dual boot Ubuntu/Vista. Les mois passent et mon OS GNU/Linux devient peu à peu la référence. Je délaisse Vista, sauf pour jouer à un jeu de temps à autre.

Les mois passent, et arrive les Rencontres Mondiales du Logiciel Libre 2011 à Strasbourg. Au programme, conférence de Richard Stallman, Benjamin Bayart, Jérémie Zimmerman,… un évènement à ne pas manquer! Quelques semaines avant, j’effectue une mise à niveau vers la dernière version d’Ubuntu en date, la 11.04, et rencontre mon premier problème. Une fois la phase de login passée, seul le fond d’écran s’affiche. Pas moyen de faire apparaitre quoi que ce soit, l’interface graphique restant muette devant les clics souris. La version précédente du noyau est toujours présente dans mon Grub, je teste à tout hasard; tout y fonctionne normalement. je me rabat donc temporairement sur celle-ci en attendant de trouver une solution, que je ne trouverai finalement pas.

Dans le même temps, Stallman nous parle de liberté, pour l’utilisateur, pour le développeur. Il commence par définir le logiciel libre en trois mots: « Liberté, Égalité, Fraternité », sous un tonnerre d’applaudissements et nous expose les 4 libertés qui lui sont liés. Son discours s’appuie sur de nombreux exemples tirés de l’actualité du moment. Au passage, Stallman cite quelques distributions totalement libres, parmi celles-ci: Trisquel.

N’arrivant pas à résoudre mon problème d’affichage, je décide donc d’essayer Trisquel. Je ne suis pas dépayser, pas de changement majeur par rapport à Ubuntu. Néanmoins, les drivers wifi n’étant pas libres, ceux-ci ne sont pas présent de base. J’utilise donc Trisquel pendant un peu plus d’un trimestre, avant de prendre la décision de tester une autre distribution.

Je me tourne alors vers Debian pour un retour au source, Ubuntu et Trisquel étant construite sur une base Debian. Pas de wifi non plus après la première installation, mais quelques lignes de commande règle le problème. Je retrouve pour un temps un environnement qui me convient. Mais, car il y a un mais, la version que j’utilise est la version stable… Les logiciels ne sont donc pas disponibles dans leur dernière version. Alors que faire? Une solution consiste à passer en version testing, celle-ci étant à priori relativement stable?

Finalement, nouveau changement puisque j’utilise à présent un système Arch Linux. L’installation s’effectue entièrement en ligne de commande, en choisissant les briques qui composeront l’OS. Quelques problèmes surviennent lors de la mise en place de l’environnement de bureau, mais la lecture du wiki permet de débloquer la situation. Place ensuite à l’étape de configuration/personnalisation pour avoir un système qui me convienne parfaitement.

archlinux-logo

Après maintenant trois semaines d’utilisation quotidienne, je pense avoir trouvé l’OS qui me conviendra pour les mois (et les années?!) à venir. Agréablement surpris par les différents paquets à disposition, notamment le paquet nodejs qui permet d’éviter la compilation à partir des sources à coup de make à chaque nouvelle version. Le wiki est complet, du moins, pour les parties que j’ai pu parcourir. Satisfait donc, de cet ArchLinux tout neuf, au point que j’envisage de l’installer sur un autre ordinateur resté quant à lui sur Ubuntu.

[Conky] Script de démarrage

Conky est maintenant configuré… Prochaine étape, le démarrage automatique à l’ouverture de la session. On se place donc dans notre home où on va créer un dossier .conky pour y placer le script: mkdir .conky. On va ensuite écrire le script dans un fichier que l’on nommera .conkyboot.sh : vim .conkyboot.sh; utilisez ici l’éditeur avec lequel vous êtes à l’aise, nano, vi, vim ou autres.

Le script est très simple et tient en trois lignes:

#!/bin/bash
sleep 20;
conky -d;

Il faut ensuite rendre le fichier exécutable: chmod +x .conkyboot.sh.
Dernière étape, programmer l’exécution du script à chaque démarrage de la session. Pour cela, onglet Système – Préférences – Applications au démarrage. Puis Ajouter, et compléter le champ avec /home/user/.conky/.conkyboot.sh en remplaçant user par votre nom d’utilisateur. Remplissez le champ Nom avec Conky par exemple.

Et voilà, votre conky devrait désormais s’afficher automatiquement 20 secondes après l’ouverture de votre session.

[Conky] Afficher son IP publique

J’avais laissé Conky de côté un petit moment, et j’ai pris le temps ce soir de le réinstaller. Pas encore touché au démarrage automatique lors de la connexion, je veux d’abord vérifier s’il le fait de lui même ou pas. Mais trêve de bavardage, le sujet qui m’intéresse est celui de l’affichage de l’IP publique. J’avais déjà trouver comment afficher mon adresse ip locale et l’adresse de la passerelle.

La solution que j’ai trouvé consiste à aller interroger le site ip.nu avec curl. Néanmoins, le taux de rafraîchissement de conky étant de 2s dans mon cas, il faut trouver un moyen de lancer la commande à un intervalle beaucoup plus long. Notre adresse IP publique n’étant de toute façon pas susceptible de changer toutes les 10s.

Pour ce faire, on utilise donc texeci tempsEnSeconde qui nous permet d’appeler la commande à intervalle de temps régulier. On a donc: texeci 400 curl ip.nu. Toutes les 5 minutes, on interroge donc le site ip.nu. Toutefois, en l’état, le retour est le suivant:

<html>
    <head>
        <title>ip</title>
    </head>
    <body>
        Your IP address is 80.42.124.42
    </body>
</html>

Pas très pratique à afficher dans notre conky. Prochaine étape donc, la récupération dans toute ces balises, de l’adresse ip avec comme vous le devinez certainement un petit grep et une regex. Ce qui nous donne: curl ip.nu | grep -Ewo ‘\b([0-9]{1,3}\.){3}[0-9]{1,3}\b’. Résultat de cette commande: 80.42.124.42. Nous avons notre ip! Par précaution, on peut encore appliquer un uniq, au cas le site se mettrai à renvoyer plusieurs fois l’ip dans sa requête. Donc finalement: curl ip.nu | grep -Ewo ‘\b([0-9]{1,3}\.){3}[0-9]{1,3}\b’ | uniq. On notera au passage que Richard M. Stallman est l’un des auteurs de uniq

AUTHOR
       Written by Richard M. Stallman and David MacKenzie.

On peut maintenant ajouter notre code dans le fichier de conf .conkyrc, ce qui nous donne:

${alignc}Public IP: ${texeci 400 curl ip.nu | grep -Ewo '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b' | uniq}

 

Debian et le Wifi

Après avoir utilisé Ubuntu, je m’étais finalement tourné vers Debian, version mère d’Ubuntu. J’ai dernièrement réinstallé mon ordinateur et lors de la configuration de mon système GNU/Linux, s’est posé le problème du wifi. Voilà donc la façon de procéder que j’ai utilisée pour faire fonctionner ma carte réseau.

Tout d’abord, on ajoute les dépôts non libre ou non-free:                                                     nano /etc/apt/sources.list

On ajoute les lignes suivantes:                                                                                           deb http://ftp.lip6.fr/pub/linux/distributions/debian/ squeeze contrib non-free
deb-src http://ftp.lip6.fr/pub/linux/distributions/debian/ squeeze contrib non-free                                                                                                                               Ou via l’interface graphique: Système > Administration > Sources de mise à jour         puis cocher la case « Logiciel non libre »

On met à jour la liste des paquets:                                                                                       aptitude update

On recherche ensuite des informations sur la carte wifi installée avec:                               lspci | grep -i net                                                                                                                   Dans mon cas, je repère le modèle de la carte wifi:                                                          Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)

On recherche ensuite le paquet qu’il nous faut:                                                                apt-cache search firmware | grep -i intel | grep -i firmware                                          Ou pour rester cohérent:                                                                                               aptitude search firmware | grep -i intel |grep -i firmware

On obtient le résultat suivant:                                                                                      firmware-intelwimax – Binary firmware for Intel WiMAX Connection
firmware-ipw2x00 – Binary firmware for Intel Pro Wireless 2100, 2200 and 2915
firmware-iwlwifi – Binary firmware for Intel Wireless 3945, 4965 and 5000-series cards
firmware-netxen – Binary firmware for QLogic Intelligent Ethernet (3000 and 3100 Series)

Dans mon cas, c’est iwlwifi qui m’intéresse.                                        Installation:                                                                                                                         aptitude install firmware-iwlwifi

Ces différents étapes m’ont donc permis d’avoir une carte wifi fonctionnelle sur mon système Debian, ce qui est particulièrement utile dans le cas d’un ordinateur portable ;). On retient également la page consacrée au wifi sur le wiki Debian: http://wiki.debian.org/WiFi