Catégories
Open-source Reseau Systeme

Un pont FreeBSD

25/02/2010: mise à jour du tutoriel pour FreeBSD 8.0

Voici un petit tutorial pour configurer un routeur FreeBSD (machine avec deux interfaces réseaux minimum, par exemple pour protéger votre réseau) en mode pont (ou bridge dans la langue de Beckham).

Avant de commencer un petit rappel sur ce qu’est un pont réseau: le « livre de main » qui va bien.

La configuration est la suivante:

  • un PC avec deux interfaces réseaux (minimum) nommées bge0 et bge1
  • un OS de type FreeBSD (6.2 8.0 dans notre cas)
  • de l’huile de coude

Ce que l’on veut obtenir:

  • un pont réseau entre ces deux interfaces
  • une adresse IP privée assignée aux interfaces (192.168.1.254/24)

Configuration du pont

On veut donc créer un pont entre les interfaces bge0 et bge1.

La première chose à faire est de demander le chargement du module au boot:

[shell]
# vi /boot/loader.conf
bridge_load="YES"
if_bridge_load="YES"
[/shell]

Et configurer les interface réseau, notamment la nouvelle interface virtuelle que nous allons nommer bridge0:

[shell]
# vi /etc.rc.conf
ifconfig_bge0="up"
ifconfig_bge1="up"
cloned_interfaces="bridge0"
ifconfig_bridge0="addm bge0 addm bge1 up"
ifconfig_bridge0_alias="inet 192.168.1.254/24"
[/shell]

Et voila le travail !

Catégories
Open-source Systeme

Webmin, l’administration de serveurs pour les nuls

Webmin est un outil d’administration de serveurs open-source (voir la liste des systèmes supportés ici) via une interface Web. Nous allons dans ce post décrire l’installation et les premières impressions sur ce logiciel.

Installation

J’ai choisi d’utiliser une installation à partir des sources (même si ma machine cible est une Fedora Core 6 pour mes tests et qu’il existe un RPM).

# su - root
# wget http://dfn.dl.sourceforge.net/sourceforge/webadmin/webmin-1.340.tar.gz
# tar zxvf webmin-1.340.tar.gz
# cd webmin-1.340
# ./setup.sh
...
Config file directory [/etc/webmin]:
Log file directory [/var/webmin]:
Full path to perl (default /usr/bin/perl):
Web server port (default 10000):
Login name (default admin):
Login password:
Password again:
Use SSL (y/n): n
Start Webmin at boot time (y/n): y
...
# iptables -A RH-Firewall-1-INPUT -p tcp --dport 10000 -j ACCEPT
# /sbin/service iptables save

Première connection

C’est simple, il suffit de lancer un navigateur Web vers l’URL: http://:10000

Vous avez alors accès au coeur du système d’administration proposé par Webmin. Les menus suivants sont disponibles:

La première chose à faire est de configurer la liste des adresses IP qui peuvent avoir accès à Webmin (par défaut, toutes les adresses IP sont autorisées). Pour cela, il faut se rendre dans le menu Webmin/Webmin Configurations/IP Access Control, selectionner « Only allow from listed addresses » et saisir les adresses des machines ou réseau autorisé à configurer le serveur (liste à réduire au strict minimum).

Choix des modules

On peut continuer l’installation par le choix des modules. Les modules sont un des gros avantages de Webmin, il est en effet facile de lui ajouter des fonctionnalitées en écrivant des plugins (appelé modules).

La liste des modules standards peut être trouvée ici. Le choix de ces modules dépend de votre besoin. Vous pouvez chercher dans la base des modules disponibles.

Dans le coeur du système

Une fois correctement configuré, vous pouvez commencer à utiliser Webmin.

La liste des fonctions disponibles en standard est longue:

Je ne vais pas faire de copier/coller de la documentation en ligne qui est très bien faite mais plutôt vous donner mon avis sur le soft.
Fervant adepte de la ligne de commande, j’étais un peu réticent à utiliser une interface Web pour configurer une machine (ça doit venir de mon coté geek). Pourtant la prise en main et immédiate et on gagne énormément de temps sur la configuration des services systèmes et réseaux. Pas la peine de se replomger dans les man ou de lancer des requêtes Google à tout va pour trouver l’option qui va bien pour configurer un serveur FTP ou une base de donnée MySQL. Quelques clics suffisent… Bien entendu, si vous souhaitez utiliser des options pointues d’un service comme sendmail ou LDAP, il faudra revenir à ce bon vieux vi, mais je pense que 90% des actions d’administration peuvent être faite grâce à Webmin.

De plus, le système de modules permet d’ajouter des fonctions d’administrations. Par exemple, j’ai testé le module Asterisk PBX Manager qui permet une administration simplifiée du PBX Asterisk.

Conclusion

Un soft à découvrir et installer sur vos machines, surtout si vous avez un parc hétérogène de serveurs à administrer.

Catégories
Open-source Systeme

Liste de Freeware & GPL pour Mac OS X

Le page web suivante permet d’avoir une liste assez bien faite de Freeware et GPL pour Mac OS X classée par catégories (Audio, Video, Office, 3D, P2P …).

Liste freeware & gpl mac

Mise à jour réguliairement, elle permet de trouver rapidement de nouvelles petites perles libres. Elle est aussi une bonne base pour es futurs « switchers » afin qu’ils se fassent une idée de freewares que l’on peut trouver sour l’OS de la pomme.

Catégories
Systeme

Mon bureau du mois d’avril 2007

Voici mon bureau de travail, sur mon MacBook Pro (cliquez sur l’image pour le full screen):

Pour information, l’image de fond vient du site de Vladstudio, sinon rien que du grand classique.

Catégories
Systeme

Configurer une interface réseau en ligne de commande sous Fedora

Pas trop d’activités cette semaine sur le blog, je suis en déplacement professionnel… Mais comme je viens de passer 1/2 heure à chercher comment on configure une interface réseau quand on n’a pas accès à l’interface graphique de Fedora, je prends 5 minutes pour partager l’informations:

Il y a deux scripts à modifier, le premier est /etc/sysconfig/network-scripts/ifcfg-eth0 (si vous voulez modifier l’interface eth0):

DEVICE=eth0
BROADCAST=192.168.30.255
HWADDR=00:19:B2:2C:6C:41
IPADDR=192.168.30.1
NETMASK=255.255.255.0
NETWORK=192.168.30.0
ONBOOT=yes

le deuxième fichier est /etc/sysconfig/network:

NETWORKING=yes
HOSTNAME=monserveur
GATEWAY=192.168.30.254

Et voili, il ne reste plus qu’a faire prendre en compte la nouvelle configuration par le système:

# ifdown eth0
# ifup eth0

Voili a+

Catégories
Open-source Reseau Systeme

Authentification avec OpenID

Nous allons dans ce post expliquer comment mettre en place une authentification OpenID à partir du nom de domaine de votre site perso/blog.

OpenID est un système d’authentification décentralisé permettant une authentification unique à partir d’un nom de domaine DNS. Il vous permet donc de vous authentifier sur plusieurs sites avec le même profil (login, password, nom, adresse…). Plus d’info ici.

Ce que nous voulons obtenir: Une authentification dont l’OpenID sera: http://blog.nicolargo.com (à remplacer par votre nom de domaine dans le reste de ce tutoriel).

Creation d’un OpenID sur un serveur de confiance

La première chose à faire est de créer un ID chez un fournisseur d’identité. J’ai choisi de passer par le site https://www.myopenid.com/, mais d’autres fournisseurs existent. Il suffit de choisir un login (nicolargo dans mon cas), le serveur va créer un OpenID de la forme: http://nicolargo.myopenid.com.

Utilisation d’un nom de domaine personnel comme OpenID

Si vous disposez comme moi d’un nom de domaine (http://blog.nicolargo.com), il est très simple de l’utiliser en lieu et place de l’OpenID que vous venez de créer (http://nicolargo.myopenid.com). Pour cela, il faut ajouter les 2 lignes suivante dans la section <header> de votre page Web principale. Si comme dans mon cas votre site est un blog WordPress, il faut les ajouter dans le fichier header.php de votre thème.


<link rel=“openid.server” href=“https://www.myopenid.com/server” />
<link rel=“openid.delegate” href=“http://nicolargo.myopenid.com” />

Ces deux lignes vont automatiquement rediriger l’authentification depuis http://blog.nicolargo.com vers le serveur de confiance https://www.myopenid.com/server en utilisant l’OpenID http://nicolargo.myopenid.com.

Comment vérifier que cela marche ?

C’est très simple, il faut se rendre sur un des nombreux sites supportant l’OpenID (voir une liste ici) et s’enregistrer en utilisant votre nouvel OpenID (http://blog.nicolargo.com dans mon cas). Par exemple sur Ziki, lors de l’enregistrement, on est rediriger vers cette page:

Voila vos premiers pas accomplis dans le SSO !

Catégories
Systeme

Logiciels indispensables sous Mac OS X

Nouvel utilisateur de Mac OS X, voici un liste des logiciels que j’utilise réguliairement. C’est un bon point de départ (non exhaustif) si vous débuter sous l’OS de la pomme…

Internet:
Navigateur Web: Firefox (Plugins: FireFTP, Gspace, ScribeFire…)
Client de Mesagerie: Mac Mail (inclus dans Mac OS X).
Messagerie instantanée: Adium.
VoIP: Skype.

Bureautique:
Suite bureautique: NeoOffice (fork de OpenOffice).

Images:
Voir, classer, retoucher vos images: iPhoto (inclus dans Mac OS X).
Diffuser sur le net: Picasa Web Albums Uploader.

Audio:
Ecouter un MP3: iTunes (inclus dans Mac OS X).
Ripper un CD (CD->MP3): iTunes (inclus dans Mac OS X).
Convertir un fichier d’un format à un autre: Switch (payant).

Video:
Regarder une video: MPlayer OSX, VLC.
Ripper un DVD: MacTheRipper.

Developpement:
Interface de développement: Eclipse.
Developpement de soft Mac: XCode.

Réseau:
Bureau à distance: Chicken of VNC.
Client SSH/SFTP: Fugu.
Capture réseau: AquaEthereal.

Si vous avez d’autres bon plans je suis preneur.

Catégories
Systeme

Remplacer une portion de texte dans une liste de fichiers

Je viens de remettre la main sous une commande bien utile pour remplacer une portion de texte par une autre dans une arborescence de fichiers.

Il faut avoir Perl installé sur votre machine.

La commande est alors la suivante:

# find ./ -type f | xargs perl -pi -w -e 's/titi/tata/g'

Cette commande va remplacer dans l’ensemble des fichiers de l’arborescence courante et ses sous-répertoires, le mot ‘titi’ par ‘tata’.

Catégories
Systeme Web

Installation serveur Web Apache sous FreeBSD

…suite du post sur l’installation de FreeBSD, avec la mise en place d’un serveur Web Apache. Nous partons donc sur l’hypothése ou l’on a un système à jour, non seulement au niveau du noyau mais également au niveau des ports.

On ouvre donc un terminal en root.

Puis on installe Apache (version 2.2.4 au moment de l’écriture de ce post) depuis les ports FreeBSD:

# cd /usr/ports/www/apache22
# make install
… la compilation va prendre un certain temps… bon café…

Une fois la compilation terminé, il faut automatiser le lancement du daemon HTTP au démarrage du serveur. Pour cela il faut ajouter ajouter deux lignes au fichier /etc/rc.conf:

# echo ‘apache22_enable= »YES »‘ >> /etc/rc.conf

Il faut ensuite éditer le fichier /usr/local/etc/apache22/httpd.conf pour le faire coller à votre configuration. Il existe un bon nombre de documentations sur le sujet (par exemple: http://httpd.apache.org/docs/2.2/).

# vi /usr/local/etc/apache22/httpd.conf

Vous pouvez tester si votre installation a marché correctement en lancant le serveur Web:

# apachectl start

Puis en ouvrant un navigateur sur l’URL de votre serveur: http://<@IpDeVotreServeur>. Vous devrier avoir la page suivante qui s’affiche:

Le répertoire racine de votre site Web se trouve: /usr/local/www/apache22/data.

En l’état actuel de la configuration, votre serveur ne prendra pas en compte le language PHP. Il faut pour cela installer le module PHP (version 5) pour Apache. Pour cela:

# cd /usr/ports/lang/php5
# make install
… Ne pas oublier de selectionner « Apache » !!! …
# cd /usr/ports/lang/php5-extensions
# make install
… choisir les extensions voulues …
# cd /usr/local/etc/
# cp php.ini-recommended php.ini
… initialisation des variables…

Il faut ensuite configurer Apache pour qu’il prenne en compte PHP. Pour cela éditer le fichier /usr/local/etc/apache22/httpd.conf:

# vi /usr/local/etc/apache22/httpd.conf
Ajouter dans la section <IfModule mime_module>:
AddType application/x-httpd-php .php
Ajouter dans la section <IfModule dir_module>:
DirectoryIndex index.html, index.php

Il ne reste plus qu’a relancer le serveur Apache:

# apachectl stop
# apachectl start

Voili, vous avez un beau système à jour avec une belle version d’Apache…
A bientôt pour l’installation du serveur FTP…

Catégories
Systeme

Installation de FreeBSD « from scratch »

Nous allons dans ce post suivre les étapes conduisant à l’installation d’un système FreeBSD à jour sur une machine.

FreeBSD logo

Pour rappel, FreeBSD est un système d’exploitation UNIX libre. Le nom vient de l’association d’une part de freeBSD (Berkeley Software Distribution), l’UNIX® développé à l’Université Berkeley de Californie. Free prend un sens plus connoté dans ce nom : il signifie que le logiciel peut être utilisé gratuitement même pour un usage commercial, que les sources complètes sont disponibles et utilisables avec un minimum de restrictions quant à leur usage, leur distribution et leur incorporation dans un autre projet (commercial ou non), et enfin que n’importe qui est libre de soumettre son code source pour enlever un bogue (bug) ou améliorer le logiciel, ce code étant incorporé aux sources après accord. (merci à Wiki pour la définition).

Pour cette installation, nous disposons:

– d’une machine avec un PIII à 1 GHZ et 512 Mo de RAM (largement suffisant pour en faire un bon serveur Web/FTP…)
– Les deux CD d’installations de FreeBSD version 6.0 (que vous pouvez télécharger ici).
– de l’huile de coude

A) Installation du système

1) Insérer le CD n°1 et démarrer votre machine

2) Choisissez l’installation standard

3) Le menu suivant s’affiche:

FreeBSD 1

4) Selectionner : « Standard »

5) La prochaine étape est la configuration de votre/(vos) disque dur. Il faut d’abord selectionner le disque sur lequel vous voulez installer le système. Ensuite effacer toutes les partitions existantes (en appuyant sur la touche ‘D’). Créer automatiquement les nouvelles partitions(en appuyant sur la touche ‘C’). Puis passer au menu suivant (en appuyantsur la touche ‘Q’). Le prochain menu permet de déterminer la taille des répértoires systèmes. La encore nous allons utiliser la commande automatique (en appuyant sur la touche ‘C’). Puis passer au menu suivant (en appuyantsur la touche ‘Q’).

6) Vous avez alors le choix du type de boot manager que vous voulez installer. Je vous conseille d’utiliser le boot manager FreeBSD si vous n’avez qu’un seul OS sur votre machine (choix numéro 2).

7) Il faut ensuite choisir le type d’installation que vous souhaitez. Je vous conseille « Developer » (ou « X-Developer » si vous souhaitez une interface graphique X11).

FreeBSD 2

Vous avez ensuite le choix d’installer ou non les ports (applications packagés pour FreeBSD), je vous conseille vivement de le faire.

7) Après le choix du média d’installation (choisir CD/DVD), l’installation devrait alors se dérouler sans interventio de votre part.

8) L’installation se termine par quelques questions dépendantes de votre système (configuration des interface réseau, du fuseau horaire, mot de passe root…). Il faut alors rebooter votre machine après avoir éjecté le CD d’installation.

B) Mise à jour du système

1) Une fois la machine redémarrée, il faut se loguer avec le compte ‘root’ (login root).

2) La première action à faire est d’installer l’utilitaire cvsup qui va nous permettre de mettre à jour notre système. Pour cela, il faut effectuer les actions suivantes:

# cd /usr/ports/net/cvsup-without-gui
# make install

3) Une fois installé, il faut le configurer:

# cd /usr/share/examples/cvsup
# cp ports-supfile /etc
# cp stable-supfile /etc/
# ln -s /etc/stable-supfile /etc/src-supfile
# vi /etc/ports-supfile
> editer la ligne: *default host=CHANGE_THIS.FreeBSD.org
> la remplacer par: *default host=cvsup.fr.FreeBSD.org
# vi /etc/src-supfile
> editer la ligne: *default host=CHANGE_THIS.FreeBSD.org
> la remplacer par: *default host=cvsup.fr.FreeBSD.org

4) Maintenant on met à jour le système en tapant les deux commandes suivantes (cela va prendre un peu de temps):

# cvsup /etc/ports-supfile
# cvsup /etc/src-supfile

5) Puis on met à jour le noyau:

# cd /usr/src
# make buildworld
# make buildkernel
# make installkernel
# reboot

Et voili, vous avez un système tout beau tout neuf et à jour au niveau sécurité.
Si vous voulez mettre à jour votre système il suffit de reprendre les étape 4 et 5.

Je reviendrais sur l’installation du serveur Web et FTP dans un prochaine post.

Bouquins sur le sujet: