Archive

Archive for novembre, 2009

Ecriture libre : Eglantine et les ouinedoziens

novembre 20th, 2009

Je viens de découvrir le blog de François G. Il s’agit de petits essais publiés sous CC-BY qui relatent les aventures d’Eglantine, une informaticienne de 24 ans convaincue par les logiciels libres et qui est embauchée par le PDG d’une grande entreprise à des fins d’audit du SI.
Ils se sont rencontrés alors qu’Eglantine réparait le PC de M. Lessig (le PDG) et qu’elle lui a présenté la philosophie des logiciels libres.
M. Lessig décide alors de lui confier une mission à l’essai dans le but de recueillir sa vision sur les ordinateurs de la société.
A lire absolument !!

Tags: , , ,

Divers, Linux et Open-Source, Planet-libre , , ,

Monter son serveur DNS avec BIND9 sur Debian/Ubuntu

novembre 13th, 2009

Plus par volonté d’apprendre que réelle nécessité, j’ai décidé de mettre en place un serveur DNS sur mon réseau local.
Voici donc un tutoriel sur comment mettre en place un tel serveur.
Le serveur sera capable de résoudre des noms en ip des ips en noms et ceci dans 3 zones.
Première chose télécharger et installer Bind:

sudo apt-get install bind9

Une fois ceci fait on passe à la configuration qui se fait en premier lieu dans /etc/bind/named.conf

vim /etc/bind/named.conf
zone "mon_domaine.fr" {
                type master;
                file "/etc/bind/db.mon_domaine.fr";
};

zone "0.168.192.in-addr.arpa" {
                type master;
                file "/etc/bind/db.192.168.0";
};

zone "0.0.10.in-addr.arpa" {
                type master;
                file "/etc/bind/db.10.0.0";
};

Voici donc les 3 zones créées. Quelques explications:

La première zone correspond à la résolution des noms par exemple si vous cherchez à atteindre la machine machine1 ayant pour IP 10.0.0.51 vous taperez machine1 au lieu de son IP. Le champ « type » concerne la redondance du serveur. Ici il s’agit du master.
Enfin le champ file correspond à la location du fichier de configuration de la zone, fichier dont le nom commence toujours par db.

Les deuxième et troisième zones correspondent à la résolution inverse. A savoir que si vous tapez 10.0.0.51 le serveur saura que ca correspond à la machine machine1.mon_domaine.fr
Prêtez attention au format pour les noms de zones: 0.0.10.in-addr.arpa correspond au réseau 10.0.0.0 représentant une zone.
Si votre réseau était en 172.168.0.0 vous devriez écrire 0.168.172.in-addr.arpa.

Une fois les zones créées on passe ensuite aux fichiers de configuration des zones.

vim /etc/bind/db.mon_domaine.fr

@	IN	SOA	ns.mon_domaine.fr.	julien.mon_domaine.fr. (
				2009110701
				24H
				2H
				1000H
				2D )

@	IN	NS	ns.mon_domaine.fr.

ns		        A	192.168.0.250
machine1		A	10.0.0.51
machine2		A	192.168.0.1
machine3		A	192.168.0.248
machine4		A	10.0.0.60
machine5		A	192.168.0.250

La première ligne fait référence au server DNS primaire:
@ : tient pour la zone en question ici mon_domaine.fr
IN : signifie que c’est une zone de type internet
SOA : Start Of Authority qui signifie que l’on a à faire au serveur principal
julien.technoaddict.fr. : adresse email du responsable (le . à la fin est primordial)
La parenthèse à la fin fait partie de la syntaxe.

Ensuite on trouve une série de chiffres cabalistiques !

2009110701 : est le numéro de série ici une date mettez la même chose à la date du jour où vous créez le serveur
24H : le rafraichissement du serveur
2H : la période entre 2 tentatives de rafraichissement
1000H : la valeur d’expiration
2D : la valeur time to live
On n’oublie pas la parenthèse à la fin.

@ IN NS ns.mon_domaine.fr. : est l’adresse du serveur à interroger pour la zone définie vous noterez le . à la place de @.

On liste ensuite les différentes entrées de la zone, à savoir les machines susceptibles d’être contactées.
On rentre les hostnames des machines puis une tabulation,le champ A,une tabulation et l’IP associée.
Dans le fichier la première ligne ubuntu est suivie du champ NS (Name Server) indiquant que l’on a à faire au serveur de nom.

Afin de pouvoir réaliser la résolution inverse nous créons un fichier par zone d’adresses:

vim /etc/bind/db.192.168.0
@       IN      SOA     ns.mon_domaine.fr.     julien.mon_domaine.fr. (
                                2009110701
                                24H
                                2H
                                1000H
                                2D )

@       IN      NS      ns.mon_domaine.fr.

XX	IN	PTR	ns.mon_domaine.fr.
XX	IN	PTR	machine1.mon_domaine.fr.
XX	IN	PTR	machine2.mon_domaine.fr.
XX	IN	PTR	machine3.mon_domaine.fr. 

Vous remarquerez qu’il s’agit quasiment de la même chose que le premier fichier à ceci près que nous utilisons le IN et PTR à la place de A.

La même chose pour la 2e zone:

vim /etc/bind/db.10.0.0

@       IN      SOA     ns.mon_domaine.fr.     julien.mon_domaine.fr. (
                                2009110701
                                24H
                                2H
                                1000H
                                2D )

@       IN      NS      ns.mon_domaine.fr.

XX	IN	PTR	machine1.mon_domaine.fr.
XX	IN	PTR	machine2.mon_domaine.fr.
XX	IN	PTR	machine3.mon_domaine.fr.
XX	IN	PTR	machine4.mon_domaine.fr. 

Une fois tous les fichiers de configuration écrits vous pouvez redémarrer le serveur :

/etc/init.d/bind9 restart

Ca y est votre réseau est désormais équipé avec un serveur dns ! Vous pouvez dès lors faire ssh user@machine1 plutôt que user@10.0.0.1

Tags: , , , , ,

Linux et Open-Source, Planet-libre , , , , ,

Créer son miroir local Ubuntu et Debian

novembre 6th, 2009

Voici un tuto basé sur APT-MIRROR pour vous aider à créer un ou des miroirs locaux pour les dépôts Ubuntu et Debian.
Le premier pré-requis concerne l’espace disque à allouer. Comptez environ 50 à 60 Go pour l’ensemble des dépôts stables Debian main contrib non-free, security et volatile, et stables Ubuntu, updates, security main universe multiverse restricted.
Dans ce tuto les miroirs seront stockés sur un disque externe attaché à un serveur Debian Lenny et toutes les commandes sont tapées en root (pas bien :-) )

on installe apt-mirror
apt-get install apt-mirror

Ensuite on crée le point de montage du disque externe par exemple dans /mnt ici mon disque est /dev/sde2 (pour connaitre les partitions de vos disques à monter faîtes cat /proc/partitions)

mkdir /mnt/miroirs
mount /dev/sde2 /mnt/miroirs

On peut créer également une entrée dans le fstab:

/dev/sde2	/mnt/miroirs	ext3	defaults	0	0

On crée l’arborescence dans /mnt/miroirs:

mkdir -p /mnt/miroirs/{mirror,skel,var}
chown -R apt-mirror:apt-mirror /mnt/miroirs
chmod -R 755 /mnt/miroirs

on passe ensuite à la configuration de APT-MIRROR. Le fichier est /etc/apt/mirror.lists voici le mien expliqué:

############# config ##################
#
set base_path /mnt/miroirs
#
# if you change the base path you must create the directories below with write privlages
#
set mirror_path $base_path/mirror
set skel_path $base_path/skel
set var_path $base_path/var
#set cleanscript $var_path/clean.sh
set defaultarch i386
set nthreads 20
set _tilde 0
#
############# end config ##############
#Ubuntu Karmic Koala
deb http://fr.archive.ubuntu.com/ubuntu/ karmic main restricted universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu karmic-security main restricted universe multiverse
#
#Debian Lenny
deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
#
clean http://fr.archive.ubuntu.com/ubuntu
clean http://ftp.fr.debian.org/debian
clean http://security.debian.org
clean http://volatile.debian.org/debian-volatile

La directive set base_path spécifie où va être le miroir ici dans /mnt/miroirs (par défaut dans /var/spool/apt-mirror)
On décommente les lignes qui viennent après.
La directive set defaultarch i386 spécifie que l’on ne veut les paquets destinés uniquement aux architectures i386
La directive set nthreads 20 spécifie que l’on souhaite 20 instances de téléchargemement simultanées.

Après ############# end config ##############, on trouve les dépôts que l’on souhaite répliquer.
Les directives à la fin du fichier servent à libérer un peu d’espace disque le cas échéant.

Voilà tout est fin prêt on peut lancer la synchronisation:

 apt-mirror /etc/apt/mirror.list
Downloading 60 index files using 20 threads...
Begin time: Fri Nov  6 11:22:02 2009
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Fri Nov  6 11:22:07 2009

Proceed indexes: [PPPPPP]

0.0 bytes will be downloaded into archive.
Downloading 0 archive files using 0 threads...
Begin time: Fri Nov  6 11:22:21 2009
[0]...
End time: Fri Nov  6 11:22:21 2009

Ici apt-mirror ne télécharge rien (0.0 bytes will be downloaded into archive.
Downloading 0 archive files using 0 threads…
Begin time: Fri Nov 6 11:22:21 2009
[0]…
End time: Fri Nov 6 11:22:21 2009) car mon miroir est mis à jour toutes les demi-heures.

A la fin du téléchargement (12 heures chez moi) les miroirs sont répliqués. Nous allons maintenant créer des liens symboliques vers /var/www afin de «servir» les paquets aux machines clientes:

ln -s /mnt/miroirs/mirror/volatile.debian.org/debian-volatile /var/www/debian-volatile
ln -s /mnt/miroirs/mirror/security.debian.org/ /var/www/debian-security
ln -s /mnt/miroirs/mirror/ftp.fr.debian.org/debian /var/www/debian
ln -s /mnt/miroirs/mirror/security.ubuntu.com /var/www/ubuntu-security
ln -s /mnt/miroirs/mirror/fr.archive.ubuntu.com /var/www/ubuntu

On modifie maintenant les sources.list des machines clientes:

леглаDebian Lenny:

vim /etc/apt/sources.list

deb http://127.0.0.1/debian/ lenny main contrib non-free
deb http://127.0.0.1/debian-security/ lenny/updates main contrib non-free
deb http://127.0.0.1/debian-volatile/ lenny/volatile main contrib non-free

Comme vous pouvez le constater l'ip est locale car c'est ce serveur qui héberge les miroirs

Ubuntu Karmic:

deb http://IP_Serveur/ubuntu/ karmic main restricted universe multiverse
deb http://IP_Serveur/ubuntu/ karmic-updates main restricted universe multiverse
deb http://IP_Serveur/ubuntu-security/ karmic-security main restricted universe multiverse

On update les dépôts:

apt-get update

et c'est fait !!!

On automatise les synchros des mirroirs:

crontab -e
*/30 * * * *	/usr/bin/apt-mirror /etc/apt/mirror.list

Ici toutes les demi-heures.

Tags: , , , , , ,

Linux et Open-Source, Planet-libre , , , , , ,