vendredi 18 juin 2010

Sauvegarde et restauration d'un MBR

Pour sauver tout le MBR (code de chargeur et tables des partitions) en
prenant comme exemple un disque dur ATA branché en maître au premier
contrôleur IDE :
# dd if=/dev/hda of=hda.mbr bs=512 count=1
Pour restaurer le MBR complet :
# dd if=hda.mbr of=/dev/hda bs=512 count=1

lundi 17 mai 2010

Installation de Xen + domU (lenny)

Pour installer Xen (l'hyperviseur), sous Debian Lenny il suffit de faire :

# apt-get install linux-image-2.6.26-2-xen-686 xen-tools

Laisser le système résoudre les dépendances pour vous, à la fin de la procédure, redémarrer la machine sur le nouveau noyau Xen (par défaut)

Vous êtes maintenant prêt à créer un nouveau domU (machine virtuelle), le dom0 étant la machine hôte.

Pour créer un domU, il faudra utiliser par exemple ce script :

-- début du script --

#!/bin/sh

# Vars
export http_proxy="http://192.168.1.1:3128" #si vous passez par un proxy
export ftp_proxy="http://192.168.1.1:3128" #si vous passez par un proxy
distrib=lenny
hostname=my-domU
ip=192.168.1.10
mask=255.255.255.0
gw=192.168.1.254
disk_size=5Gb
kernel_version=`uname -r`
memory=512Mb
swap=$memory
mirror=http://ftp.fr.debian.org/debian/

# commande xen-tools
xen-create-image --verbose --hostname=$hostname --size=$disk_size --swap=${swap} --ide \
--ip=$ip --netmask=$mask --gateway=$gw --force --role=udev \
--dir=/home/xen --memory=${memory} --arch=i386 --kernel=/boot/vmlinuz-${kernel_version} \
--initrd=/boot/initrd.img-${kernel_version} --install-method=debootstrap --dist=${distrib} \
--mirror=$mirror --passwd

-- fin du script --

RQ : l'interrupteur "role" est très important et vous permettra de vous connecter directement en SSH sur votre nouveau domU fraichement créé.

RQ2 : Pour pouvoir directement vous connecter en console sur votre domU, il faut (sous lenny) au préalable installer le paquet "udev"
# mount -o loop /home/xen/domains/my-domU/disk.img /mnt/loop
# chroot /mnt/loop
# apt-get install udev
# exit

Pour gérer votre domU :

Démarrage,
# xm create my-domU.cfg

Se connecter en console,
# xm console my-domU

Arrêter son domU,
# xm shutdown my-domU

-- Squeeze --

# xm info
WARNING! Can't find hypervisor information in sysfs!
Error: Unable to connect to xend: No such file or directory. Is xend running

[solution]
# mv /etc/grub.d/10_linux /etc/grub.d/50_linux
# update-grub2

Méthode de création rapide d'un domU :

# export http_proxy="http://myproxy.com:myport"
# vi /etc/xen-tools/xen-tools.conf (il faut adapter les réglages du domU)
# xen-create-image --hostname=mynewdom --ip=mynewIP --passwd

-- Voir aussi --

mardi 11 mai 2010

Configuration OpenVPN pfSense (v1.2.3) site à site

Schéma de configuration du réseau utilisé :


Image tirée de ce livre

-- Configuration pfSense (v1.2.3) Site A (Serveur) --

Protocol : UDP
Local port : 1194 (par exemple)
Address pool : 172.31.55.0/30
Remote network : 10.0.10.0/24
Cryptography : BF-CBC (128-bit)
Authentication method : Shared key
Shared key : "le_contenu_du_fichier_secret.key"
Description : OpenVPN_serveur

Le reste des options est par défaut et en majeure partie à "blank"

Puis ajouter une règle Firewall sur le WAN,

Proto : UDP
Source : 4.3.2.1
Port : *
Destination : 1.2.3.4
Port : 1194
Gateway : *
Schedule : ---
Description : OpenVPN

-- Configuration pfSense (v1.2.3) Site B (Client) --

Protocol : UDP
Server address : 1.2.3.4
Server port : 1194 (par exemple)
Interface IP : 172.31.55.0/30
Remote network : 192.168.1.0/24
Cryptography : BF-CBC (128-bit)
Authentication method : Shared key
Shared key :
"le_contenu_du_fichier_secret.key"
Description : OpenVPN_client

Le reste des options est par défaut et en majeure partie à "blank"

-- Génération de la clef partagée --

Sur une distribution de votre choix (debian par exemple), installer le paquet "openvpn" (apt-get install openvpn), puis :
# openvpn --genkey --secret secret.key

Copier ensuite le contenu du fichier "secret.key" dans le champ "Shared key" (la clef générée sur ma distro est une clef 2048 bits)

A ce stade tout est opérationnel, les machines du LAN 10.0.10.1 peuvent désormais atteindre les machines du LAN 192.168.1.1, tester avec une commande ping par exemple.

RQ : Il est aussi possible d'utiliser une PKI pour crypter le tunnel, et aller un peu plus loin.

mardi 16 mars 2010

Firefox et RDP (handler)

Le saviez vous ?

Il est possible de configurer Firefox à sa guise, pour par exemple, ouvrir automatiquement un lien RDP (exemple --> rdp://mon_serveur) ^^

RQ : La méthode étant adaptable pour d'autre protocoles... Vnc, etc...

Intéressant non ?

Voilà les ingrédients :

[Méthode Linux]

-- Un petit script "rdp_url" --
#! /bin/sh
# rdp_url : run RDP from browser
# Transform rdp://ip to ip
HOSTIP=`echo "$1" | /bin/sed -s 's/^rdp:\/\///'`
# Run RDP
rdesktop $HOSTIP
Et placer celui-ci dans (par exemple), /usr/local/bin (le PATH quoi...)

Ensuite il faut (le plus compliqué) modifier le fichier "mimeTypes.rdf" se trouvant dans votre profil Firefox (le plus souvent ~vous/.mozilla/firefox/.default/.)

Dispo ici pour les fainéants comme moi : Firefox_handler_linux

[Méthode Windows] (sisi c'est possible ^^)

-- Un petit script "rdp_url.cmd" --

@echo off
set URL=%1
set SERVER=%URL:~6%
%SystemRoot%\system32\mstsc.exe /f /v:%SERVER%

Et placer celui-ci dans (par exemple), c:\windows (le PATH quoi...)

Ensuite il faut (le plus compliqué) modifier le fichier "mimeTypes.rdf" se trouvant dans votre profil Firefox (Documents and settings \ Application Data \ etc...)

Dispo ici
pour les fainéants comme moi : Firefox_handler_windows

Ces 2 méthodes ont été testés sous :
1/ Firefox 3.6 / Ubuntu Hardy
2/ Firefox 3.6 / WinXPSP2

mardi 23 février 2010

OpenVPN

OpenVPN est un système permettant de relier des postes distants sur un réseau informatique en passant par Internet mais de manière sécurisée (Tunnel VPN).

Une solution assez rapide consiste à installer pfSense, il s'agit d'une distribution fonctionnant sur un PC classique (ou spécialisé type Alix), qui contient un serveur OpenVPN.

OpenVPN est muti-plateforme, voilà comment commençer l'installation sur une Debian Etch :

# source ./vars
# ./clean-all
# ./build-ca
# ./build-key-server LeServeurVPN
# ./build-key Client01
# ./build-dh

Et voilà le (très bon) tutoriel au complet :
Voir aussi :