<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml-stylesheet href="/xmedia/theme/rss.css" type="text/css"?>

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:cc="http://web.resource.org/cc/"
  xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://www.pawelko.net/">
  <title>pawelko.net</title>
  <description></description>
  <link>http://www.pawelko.net/</link>
  <dc:language>fr</dc:language>
  <dc:creator></dc:creator>
  <dc:rights></dc:rights>
  <dc:date>2011-12-02T11:27:58+00:00</dc:date>
  <admin:generatorAgent rdf:resource="http://plume-cms.net/" />
  
  <items>
  <rdf:Seq>
  <rdf:li rdf:ressource="news-42" />
<rdf:li rdf:ressource="news-41" />
<rdf:li rdf:ressource="news-19" />
<rdf:li rdf:ressource="news-38" />
<rdf:li rdf:ressource="news-7" />
<rdf:li rdf:ressource="news-31" />
<rdf:li rdf:ressource="news-26" />
<rdf:li rdf:ressource="news-17" />
<rdf:li rdf:ressource="news-35" />
<rdf:li rdf:ressource="news-33" />
<rdf:li rdf:ressource="news-32" />
<rdf:li rdf:ressource="news-29" />
<rdf:li rdf:ressource="news-20" />
<rdf:li rdf:ressource="news-16" />
<rdf:li rdf:ressource="news-30" />
<rdf:li rdf:ressource="news-28" />
<rdf:li rdf:ressource="news-10" />
<rdf:li rdf:ressource="news-18" />
<rdf:li rdf:ressource="news-24" />
<rdf:li rdf:ressource="news-3" />
  </rdf:Seq>
  </items>
</channel>

<item rdf:ID="news-42">
  <title>Tuning zfs-fuse sur Debian Squeeze</title>
  <link>http://www.pawelko.net/linux/42-Tuning-Zfs-Fuse-Sur-Debian-Squeeze</link>
  <dc:date>2011-12-02T11:11:39+00:00</dc:date>
  <description>&lt;p&gt;
Je souhaite conserver plein de copies de sauvegarde de machines virtuelles tournant sur mon hyperviseur étant un kvm/libvirt/archipel sur une squeeze.
Il y a un candidat idéal pour cela: zfs, qui pour des raisons de licence n'a pas d'implémentation native dans linux.
Pour commencer, j'ai fait quelques tests avec zfs-fuse (0.6.9-1), sans tuning particulier. Ca marche correctement, mais pas très vite (moins de 10 Mo/s).
J'ai ensuite utilisé le zfs natif. Les performances brutes étaient bien meilleures mais ça tirait énormément sur la RAM et tout finissait par devenir très lent, et la sauvegarde d'une des VM ne se terminait jamais. En essayant de tuner la taille du ARC cache, je n'ai réussi qu'à obtenir un plantage complet du noyau (le dmesg parlait de lui même).
&lt;/p&gt;
&lt;p&gt;
Je suis donc retourné à zfs-fuse en attendant de trouver mieux.
Maintenant que j'ai une rotation des VM sur une semaine, je peux avoir une idée précise des ressources requises par la déduplication:
&lt;/p&gt;
&lt;pre&gt;

#  zpool status -D zpool
 pool: zpool
state: ONLINE
scrub: none requested
config:

       NAME                               STATE     READ WRITE CKSUM
       zpool                              ONLINE       0     0     0
         disk/by-id/dm-name-archipel-zfs  ONLINE       0     0     0

errors: No known data errors

DDT entries &lt;strong&gt;282985&lt;/strong&gt;, size 354 on disk, &lt;strong&gt;222 in core&lt;/strong&gt;

bucket              allocated                       referenced
&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;   &lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;   &lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;__
refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
------   ------   -----   -----   -----   ------   -----   -----   -----
    1    49,6K   6,20G   2,25G   2,25G    49,6K   6,20G   2,25G   2,25G
    2    11,1K   1,39G    583M    583M    27,6K   3,45G   1,42G   1,42G
    4     171K   21,4G   12,6G   12,6G    1,13M    145G   85,5G   85,5G
    8    43,7K   5,46G   3,11G   3,11G     358K   44,7G   25,4G   25,4G
   16      741   92,6M   59,3M   59,3M    13,5K   1,69G   1,04G   1,04G
   32      129   16,1M   8,19M   8,19M    4,67K    598M    298M    298M
   64        3    384K   67,5K   67,5K      330   41,2M   7,78M   7,78M
  128        1    128K   4,50K   4,50K      133   16,6M    598K    598K
   1K        1    128K   4,50K   4,50K    1,27K    162M   5,71M   5,71M
   2K        1    128K      7K      7K    3,98K    509M   27,8M   27,8M
  16K        1    128K   7,50K   7,50K    23,7K   2,96G    178M    178M
Total     276K   34,5G   18,6G   18,6G    1,60M    205G    116G    116G
&lt;/pre&gt;
&lt;p&gt;
Je vois ici que j'ai 282985 entrées pour la déduplication, chaque entrée occupant 222 octets en RAM.
J'en déduis donc que mon cache pour la dédup est d'environ 60 Mo (ce qui est peu !).
Par défaut ZFS alloue un quart de la taille du cache ARC pour le cache des metadata, donc fait partie la table DDT.
Le cache ARC doit donc être au moins de 240 Mo.
Par défaut, la valeur sur ma Debian était de 100 Mo.
Cela apparait au démarrage de fuse:
&lt;/p&gt;
&lt;pre&gt;
# grep -i zfs /var/log/syslog
Nov 28 21:12:39 archipel zfs-fuse: ARC caching: maximum ARC size: 100 MiB
Nov 28 21:12:39 archipel zfs-fuse: ARC setup: min ARC size set to 16777216 bytes
Nov 28 21:12:39 archipel zfs-fuse: ARC setup: max ARC size set to 104857600 bytes
&lt;/pre&gt;
&lt;p&gt;
J'ai donc modifié la ligne &quot;max-arc-size = 240&quot; dans le fichier /etc/zfs/zfsrc et relancé zfs-fuse
&lt;/p&gt;
&lt;pre&gt;
#invoke-rc.d zfs-fuse restart
&lt;/pre&gt;
&lt;p&gt;
A titre d'exemple, le temps de sauvegarde de ma VM zimbra est passé de 16 minutes à 6 minutes !
En réglant le cache à 500 Mo, je descends à 3 minutes pour la même sauvegarde. Ce qui correspond à peu près aux temps que j'obtenais avec les modules zfs natifs, mais qui eux provoquaient de nombreux plantages, alors qu'avec zfs-fuse j'ai une solution parfaitement stable. Un réglage du cache à 1 Go n'a pas donné de meilleurs résultats.
&lt;/p&gt;
&lt;p&gt;
Conclusion : Voici la formule appliquée dans mon cas avec zfs-fuse : max-arc-size = Taille du cache DDT * 8
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-42" />
<item rdf:ID="news-41">
  <title>Configuration mpd sur debian pour écoute sur iphone</title>
  <link>http://www.pawelko.net/linux/41-Configuration-Mpd-Sur-Debian-Pour-Ecoute-Sur-Iphone</link>
  <dc:date>2011-09-13T22:35:11+00:00</dc:date>
  <description>&lt;p&gt;
Objectif : Pouvoir écouter sur mon iPhone 3G la musique stockée sur mon serveur linux, sans devoir passer par l'ignoble iTunes, et sans dupliquer les données.
La solution existe, il s'agit de &lt;a href=&quot;http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki&quot;&gt;mpd (music player daemon)&lt;/a&gt; pour la partie serveur, et &lt;a href=&quot;http://www.katoemba.net/makesnosenseatall/mpod/&quot;&gt;MPoD&lt;/a&gt; pour la partie cliente.
L'installation sur une debian squeeze et le manque de doc m'ont incité à partager cette expérience.
Configuration validée:
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; iPhone 3G
&lt;/li&gt;&lt;li&gt; iOS 4
&lt;/li&gt;&lt;li&gt; MPoD 1.6
&lt;/li&gt;&lt;li&gt; Debian Squeeze amd64
&lt;/li&gt;&lt;li&gt; mpd 0.15.12
&lt;/li&gt;&lt;/ul&gt;


&lt;h4&gt;Avertissement&lt;/h4&gt;

&lt;p&gt;
Ces manipulations ont été réalisées sur une squeeze installée originellement il y a plus de 7 ans, il manque donc peut-être certaines opérations. Afin de bien montrer que ce n'est pas parfait, toutes les opérations seront réalisées en tant que root ;-)
&lt;/p&gt;

&lt;h4&gt;Recompilation mpd &lt;br /&gt;&lt;/h4&gt;

&lt;p&gt;
La version debian de mpod n'inclut pas le support lame, il faut donc recompiler le paquet.
Tout d'abord, activer le dépôt Debian Multimédia comme indiqué &lt;a href=&quot;http://debian-multimedia.org/&quot;&gt;ici&lt;/a&gt;
Installer lame
&lt;/p&gt;
&lt;pre&gt;
# apt-get install libmp3lame
# apt-get install build-essentials
# cd /usr/local/src/
&lt;/pre&gt;
&lt;p&gt;
Télécharger les sources du paquet, et installer les dépendances nécessaires
&lt;/p&gt;
&lt;pre&gt;
# apt-get source mpd
# apt-get build-dep mpd
&lt;/pre&gt;
&lt;p&gt;
Se rendre dans le répertoire, et activer le support lame 
&lt;/p&gt;
&lt;pre&gt;
# cd mpd-0.15.12/
# vi debian/rules
&lt;/pre&gt;
&lt;p&gt;
Sur la ligne DEB_CONFIGURE_USER_FLAGS, remplacer --disable-lame par --enable-lame
Puis lancer la compilation
&lt;/p&gt;
&lt;pre&gt;
# dpkg-buildpackage
&lt;/pre&gt;
&lt;p&gt;
Une fois terminé, remonter au répertoire parent puis installer le fichier deb ainsi créé
&lt;/p&gt;
&lt;pre&gt;
# dpkg -i mpd_0.15.12-1.1_amd64.deb
&lt;/pre&gt;

&lt;h4&gt;Configuration de mpd&lt;/h4&gt;

&lt;p&gt;
Editer le fichier /etc/mpd.conf et définir les paramètres suivants:
&lt;/p&gt;
&lt;pre&gt;
music_directory         &quot;/mnt/data/musique/&quot;
bind_to_address         &quot;0.0.0.0&quot;
audio_output {
        type            &quot;httpd&quot;
        name            &quot;My HTTP Stream&quot;
        encoder         &quot;lame&quot;          # optional, vorbis or lame
        port            &quot;8000&quot; 
#       quality         &quot;5.0&quot;                   # do not define if bitrate is defined
        bitrate         &quot;128&quot;                   # do not define if quality is defined
        format          &quot;44100:16:1&quot;
}
&lt;/pre&gt;
&lt;p&gt;
Enregistrer et démarrer le service mpd
&lt;/p&gt;

&lt;h4&gt;La partie iPhone&lt;/h4&gt;

&lt;p&gt;
Installer &lt;a href=&quot;http://itunes.apple.com/fr/app/mpod/id285063020?mt=8&quot;&gt;MPoD&lt;/a&gt;
Aller dans les réglages de l'application et ajouter manuellement un serveur:
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; Connection mode: On the go
&lt;/li&gt;&lt;li&gt; Serveur: IP/nom du serveur
&lt;/li&gt;&lt;li&gt; Port: 6600
&lt;/li&gt;&lt;li&gt; Stream: http://(serveur):8000
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
Une fois connecté (Status: Connected), retourner dans le menu préférences.
Sélectionner &quot;Update database&quot; pour demander à mpd de lister les fichiers disponibles
Vérifier dans la partie &quot;Outputs&quot; que &quot;My HTTP Stream&quot; soit bien sélectionné
&lt;/p&gt;

&lt;h4&gt;Et si ça ne fonctionne pas&lt;/h4&gt;

&lt;p&gt;
Quelques pistes...
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; Vérifier que mpd fonctionne, en utilisant un autre client que l'iPhone
&lt;/li&gt;&lt;li&gt; Essayer d'écouter le flux http://(serveur):8000 avec vlc ou un navigateur web 
&lt;/li&gt;&lt;li&gt; Vérifier les connexions réseaux, en lançant la commande
&lt;/li&gt;&lt;/ul&gt;

&lt;pre&gt;
# watch -n 1 &quot;netstat -apn | grep /mpd&quot;
tcp        0      0 0.0.0.0:6600            0.0.0.0:*               LISTEN      14046/mpd
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      14046/mpd
tcp        0  15334 192.168.3.9:8000        192.168.3.64:49954      ESTABLISHED 14046/mpd
&lt;/pre&gt;
&lt;p&gt;
On voit ici:
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; Que mdp fonctionne bien et écoute bien sur le port 6600 (le service est lancé)
&lt;/li&gt;&lt;li&gt; Que mdp écoute sur le port 8000 (uniquement lorsqu'une lecture est en cours)
&lt;/li&gt;&lt;li&gt; Que l'iphone est connecté sur le port 8000 et &quot;reçoit&quot; le flux audio
&lt;/li&gt;&lt;/ul&gt;


&lt;h4&gt;Bonus&lt;/h4&gt;

&lt;p&gt;
Profitez maintenand de MPoD, qui a en plus la bonne idée d'aller chercher tout seul les pochettes chez Amazon
&lt;/p&gt;
&lt;p&gt;
&lt;img alt=&quot;Ben quoi ?&quot; src=&quot;/xmedia/mpod.PNG&quot; /&gt;
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-41" />
<item rdf:ID="news-19">
  <title>Liens</title>
  <link>http://www.pawelko.net/Liens/19-Liens</link>
  <dc:date>2010-12-08T23:15:22+00:00</dc:date>
  <description>
&lt;h3&gt;Logiciel libre&lt;/h3&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.shellunix.com/&quot;&gt;www.shellunix.com&lt;/a&gt; : Un site simple, clair et complet sur bash, sed et awk. Une référence pour moi.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.cgsecurity.org/wiki/PhotoRec&quot;&gt;Photorec&lt;/a&gt; : Un utilitaire de récupération de photos et de documents qui, contrairement à de nombreux rivaux, a le mérite de fonctionner et la bonne idée d'être sous licence GPL
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://sietse.net/exoops/modules/Zimbra/#tt030&quot;&gt;Boosting Spamassassin&lt;/a&gt; : Comment optimiser le spamassassin de zimbra en utilisant les &quot;rules du jour&quot;
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.mortis.org.uk/?p=142&quot;&gt;Perl script to adjust ‘srt’ subtitle files&lt;/a&gt; : Un script pour ajuster le décalage dans des fichiers de sous-titres
&lt;/p&gt;

&lt;h3&gt;Divers&lt;/h3&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.sebastienchampion.fr&quot;&gt;www.sebastienchampion.fr&lt;/a&gt; : De belles photos de paysages et d'animaux
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-19" />
<item rdf:ID="news-38">
  <title>Compiling rpcapd for linux</title>
  <link>http://www.pawelko.net/linux/38-Compiling-Rpcapd-For-Linux</link>
  <dc:date>2010-12-08T23:13:01+00:00</dc:date>
  <description>&lt;p&gt;
Several years ago, I compiled &lt;a href=&quot;/linux/17-Rpcapd-For-Linux&quot;&gt;rpcapd for linux&lt;/a&gt;. To achieve it, I had to comment the win32 specific code, so it compiled on linux. 
&lt;/p&gt;
&lt;p&gt;
I recently tried to compile the latest version, and it doesn't need modifications anymore to successfully compile.
&lt;/p&gt;
&lt;p&gt;
Here is a quick howto, based on debian 5:
&lt;/p&gt;
&lt;p&gt;
Install the required tools
&lt;/p&gt;
&lt;pre&gt;
 apt-get install bison flex
&lt;/pre&gt;
&lt;p&gt;
Download and unzip winpcap
&lt;/p&gt;
&lt;pre&gt;
 wget http://www.winpcap.org/install/bin/WpcapSrc_4_1_2.zip
 unzip WpcapSrc_4_1_2.zip
 cd winpcap/wpcap/libpcap
 chmod +x configure runlex.sh
&lt;/pre&gt;
&lt;p&gt;
Configure libpcap to compile statically...
&lt;/p&gt;
&lt;pre&gt;
 CFLAGS=-static ./configure
&lt;/pre&gt;
&lt;p&gt;
...and compile
&lt;/p&gt;
&lt;pre&gt;
 make
 cd rpcapd/
&lt;/pre&gt;
&lt;p&gt;
edit the Makefile and add -static to CFLAGS, and finally
&lt;/p&gt;
&lt;pre&gt;
 make
&lt;/pre&gt;
&lt;p&gt;
Downloads:
&lt;/p&gt;
&lt;p&gt;
amd64: &lt;a href=&quot;/xmedia/divers/rpcapd-4.1.2-amd64.gz&quot;&gt;rpcapd-4.1.2-amd64.gz&lt;/a&gt;
i386: &lt;a href=&quot;/xmedia/divers/rpcapd-4.1.2-i386.gz&quot;&gt;rpcapd-4.1.2-i386.gz&lt;/a&gt;
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-38" />
<item rdf:ID="news-7">
  <title>Astuces Debian</title>
  <link>http://www.pawelko.net/linux/7-Astuces-Debian</link>
  <dc:date>2010-11-20T21:04:51+00:00</dc:date>
  <description>
&lt;h4&gt;Définir le hostname du client DHCP : &lt;br /&gt;&lt;/h4&gt;

&lt;p&gt;
Contrairement à Windows ou à une Fedora Core, un client DHCP Debian n'indique pas son nom d'hôte au serveur DHCP, qui ne peut donc pas créer l'enregistrement DNS correspondant.&lt;br /&gt;
Pour y remédier, ajouter la ligne suivante dans le fichier /etc/dhclient.conf ou /etc/dhcp3/dhclient.conf pour une ubuntu&lt;br /&gt;
&lt;code&gt;send host-name &quot;monpc&quot;;&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
Relancer le réseau pour prendre en compte les changements:&lt;br /&gt;
&lt;code&gt;/etc/init.d/networking restart&lt;/code&gt;
&lt;/p&gt;

&lt;h4&gt;Adresses IP multiples: &lt;br /&gt;&lt;/h4&gt;

&lt;p&gt;
Pour affecter plusieurs adresses IP à une même interface, il suffit de déclarer les adresses supplémentaires dans /etc/network/interfaces, en utilisant le nom de l'interface, suivi de &quot;:0&quot; (ou &quot;:1&quot;, &quot;:2&quot;, etc...)&lt;br /&gt;
Exemple:
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;auto eth0&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;iface eth0 inet static&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;        address 192.168.3.90&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;        netmask 255.255.255.0&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;        gateway 192.168.3.1&lt;/code&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;auto eth0:0&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;iface eth0:0 inet static&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;        address 192.168.3.91&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;        netmask 255.255.255.0&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;        gateway 192.168.3.1&lt;/code&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
Redémarrer ensuite le réseau avec la commande &lt;code&gt;/etc/init.d/networking restart&lt;/code&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.servepath.com/support/debian_ip_configuration.htm&quot; lang=&quot;en&quot;&gt;Source&lt;/a&gt;
&lt;/p&gt;

&lt;h4&gt;Compiler un paquet à partir du fichier .dsc&lt;/h4&gt;

&lt;p&gt;
Télécharger le fichier .dsc &lt;br /&gt;
&lt;code&gt;dget http://mentors.debian.net/debian/pool/main/s/spice-protocol/spice-protocol_0.6.3-1.dsc&lt;/code&gt;&lt;br /&gt;
Extraire le fichier téléchargé &lt;br /&gt;
&lt;code&gt;dpkg-source -x celt051_0.5.1.3-1.dsc&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;cd celt051-0.5.1.3/&lt;/code&gt;&lt;br /&gt;
Vérifier les dépendances &lt;br /&gt;
&lt;code&gt;dpkg-checkbuilddeps&lt;/code&gt;&lt;br /&gt;
Compiler si toutes les dépendances sont résolues &lt;br /&gt;
&lt;code&gt;dpkg-buildpackage&lt;/code&gt;&lt;br /&gt;
Compiler en ignorant les dépendances non résolues &lt;br /&gt;
&lt;code&gt;dpkg-buildpackage -d&lt;/code&gt;&lt;br /&gt;
Installer les packages compilés &lt;br /&gt;
&lt;code&gt;cd..&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;dpkg -i libcelt051-0_0.5.1.3-1_amd64.deb libcelt051-dev_0.5.1.3-1_amd64.deb&lt;/code&gt;&lt;br /&gt;
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-7" />
<item rdf:ID="news-31">
  <title>Vmware Server, NAT et PPTP</title>
  <link>http://www.pawelko.net/linux/31-Vmware-Server-Nat-Et-Pptp</link>
  <dc:date>2010-08-02T21:50:34+00:00</dc:date>
  <description>
&lt;h3&gt;L'objectif&lt;/h3&gt;

&lt;p&gt;
Un ami m'a soumis la problématique suivante: Il souhaite louer un serveur hébergé chez OVH (donc avec une seule interface réseau) avec vmware server pour héberger plusieurs machines virtuelles, dont une devant faire office de serveur pptp. Il comptait s'appuyer sur le &quot;NAT Networking&quot; de vmware server pour gérer la translation d'adresses, ce qui ne pose pas de problèmes pour le port TCP/1723 (PPTP) mais ne fonctionne pas avec le protocole 47 (GRE).&lt;br /&gt;
La solution est simple: Linux sachant parfaitement remplir ce rôle, il suffit de lui confier et de reléguer le &quot;vm network&quot; sur une interface virtuelle.
&lt;/p&gt;
&lt;p&gt;
Voici donc un guide pas à pas concernant vmware server 2.0 sur une Debian 5.0.2.&lt;br /&gt;
Les paramètres sont les suivants:
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; IP &quot;publique&quot; de l'hôte: 192.168.3.1 (oui je sais, c'est une maquette)
&lt;/li&gt;&lt;li&gt; Réseau privé: 172.16.0.0/24
&lt;/li&gt;&lt;li&gt; IP privée de l'hôte: 172.16.0.1
&lt;/li&gt;&lt;li&gt; IP serveur virtuel PPTP: 172.16.0.2
&lt;/li&gt;&lt;/ul&gt;


&lt;h3&gt;Ajout de l'interface virtuelle tap1 &lt;/h3&gt;

&lt;p&gt;
Installer le paquet contenant le binaire tunctl
&lt;/p&gt;
&lt;pre&gt;
apt-get install uml-utilities
&lt;/pre&gt;
&lt;p&gt;
Ajouter dans /etc/network/interfaces:
&lt;/p&gt;
&lt;pre&gt;
auto tap1
iface tap1 inet static
       pre-up tunctl -u root -t tap1
       pre-up ifconfig tap1 up
       post-down tunctl -d tap1
       address 172.16.0.1
       netmask 255.255.255.0
&lt;/pre&gt;
&lt;p&gt;
puis activer tap1
&lt;/p&gt;
&lt;pre&gt;
ifup tap1
&lt;/pre&gt;
&lt;p&gt;
vérifier le tout
&lt;/p&gt;
&lt;pre&gt;
#ifconfig tap1
tap1      Link encap:Ethernet  HWaddr 00:ff:c0:7f:c8:83
          inet adr:172.16.0.1  Bcast:172.16.0.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:3805 overruns:0 carrier:0
          collisions:0 lg file transmission:500
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
&lt;/pre&gt;

&lt;h3&gt;Configuration vmware&lt;/h3&gt;

&lt;p&gt;
Nous avons donc une nouvelle interface réseau, nous allons maintenant dire à vmware server de se &quot;bridger&quot; sur cette interface, et non pas une autre.
Pour cela, lancer la commande 
&lt;/p&gt;
&lt;pre&gt;
vmware-config.pl
&lt;/pre&gt;
&lt;p&gt;
et modifier la partie concernant les bridges, soit en ajoutant un nouveau brigde, soit en modifiant le bridge actuel pour qu'il utilise tap1. Dans notre cas, la deuxième solution semble la plus appropriée, les vm n'ayant plus à être connectées directements via l'interface &quot;publique&quot;.&lt;br /&gt;
Les machines virtuelles peut maintenant être connectées à ce bridge, et se voir affecter une adresse IP en 172.16.0.x avec comme passerelle 172.16.0.1
&lt;/p&gt;

&lt;h3&gt;Configuration iptables&lt;/h3&gt;

&lt;p&gt;
Désormais, il n'y a plus qu'à paramétrer netfilter afin qu'il route correctement les paquets pptp.
Tout d'abord on active le routage:
&lt;/p&gt;
&lt;pre&gt;
echo 1 &gt; /proc/sys/net/ipv4/ip_forward
&lt;/pre&gt;
&lt;p&gt;
Puis on natte le réseau privé:
&lt;/p&gt;
&lt;pre&gt;
iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j  MASQUERADE
&lt;/pre&gt;
&lt;p&gt;
En renvoyant le port pptp et le protocole GRE vers notre VM:
&lt;/p&gt;
&lt;pre&gt;
iptables -t nat -A PREROUTING -d 192.168.3.9 -p 47 -j DNAT --to-destination 172.16.0.2
iptables -t nat -A PREROUTING -d 192.168.3.9 -p tcp --dport 1723 -j DNAT --to-destination 172.16.0.2
&lt;/pre&gt;
&lt;p&gt;
Si ça ne fonctionne pas, penser à charger le module &quot;Netfilter NAT helper module for PPTP&quot;:
&lt;/p&gt;
&lt;pre&gt;
modprobe nf_nat_pptp
&lt;/pre&gt;

&lt;h3&gt; Conclusion&lt;/h3&gt;

&lt;p&gt;
Cette astuce peut-être appliquée dans d'autres cas, par exemple pour simplement profiter de réseaux virtuels supplémentaires avec vmware server (ou encore kvm), ces réseaux contenant l'hôte et les invités.
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-31" />
<item rdf:ID="news-26">
  <title>A propos</title>
  <link>http://www.pawelko.net/A-propos/26-A-Propos</link>
  <dc:date>2010-07-18T23:35:32+00:00</dc:date>
  <description>&lt;p&gt;
Ce site a pour vocation de  partager des informations concernant essentiellement les logiciels libres, dont je suis un fervent utilisateur.
&lt;/p&gt;
&lt;p&gt;
Me contacter: &lt;a href=&quot;mailto:%63%79%72%69%6c%40%70%61%77%65%6c%6b%6f%2e%6e%65%74&quot;&gt;&amp;#x63;&amp;#x79;&amp;#x72;&amp;#x69;&amp;#x6c;&amp;#x40;&amp;#x70;&amp;#x61;&amp;#x77;&amp;#x65;&amp;#x6c;&amp;#x6b;&amp;#x6f;&amp;#x2e;&amp;#x6e;&amp;#x65;&amp;#x74;&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;CV express&lt;/h2&gt;

&lt;p&gt;
&lt;strong&gt;1998-2004 : Cap Gemini division Exploitation (Sogeti) - Nantes&lt;/strong&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Technicien systèmes et réseaux&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;2004-&gt; : Pygram - Nantes&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Administrateur systèmes et réseaux&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Responsable technique&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.pygram.com/libre/&quot;&gt;http://www.pygram.com/libre/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Conférence RMLL 2009: &lt;a href=&quot;http://2009.rmll.info/Retour-d-experience-sur-Asterisk.html&quot;&gt;Retour d’expérience sur Asterisk&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;Divers&lt;/h2&gt;

&lt;p&gt;
1997 : Rédaction de 3 articles pour &lt;a href=&quot;http://www.acbm.com/&quot;&gt;le virus informatique&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
2003 : Participation à la création du site &lt;a href=&quot;http://voirlemonde.free.fr&quot;&gt;http://voirlemonde.free.fr&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
2007 : Participation à la création du site &lt;a href=&quot;http://www.sebastienchampion.fr/&quot;&gt;http://www.sebastienchampion.fr/&lt;/a&gt;
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-26" />
<item rdf:ID="news-17">
  <title>Rpcapd for Linux : Remote sniffing with ethereal/wireshark</title>
  <link>http://www.pawelko.net/linux/17-Rpcapd-For-Linux-Remote-Sniffing-With-Etherealwireshark</link>
  <dc:date>2010-07-14T19:11:05+00:00</dc:date>
  <description>&lt;p&gt;
rpcapd is a deamon that captures traffic on a host, and is able to send it to a remote network sniffer, as ethereal.
&lt;/p&gt;
&lt;p&gt;
It's included with recent winpcap releases, so running it on windows is very easy : it's located in C:\program files\winpcap
&lt;/p&gt;
&lt;p&gt;
It's more tricky for linux : rpcapd should compile and work under linux, but I had to remove parts of windows-related code that prevented correct compilation.
&lt;/p&gt;
&lt;p&gt;
Remote linux sniffer :
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; Download &lt;a href=&quot;/xmedia/divers/rpcapd.gz&quot;&gt;rpcapd.gz&lt;/a&gt; for linux, statically compiled for linux/i386
&lt;/li&gt;&lt;li&gt; Gunzip and run as root : ./rpcapd -n
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
Local Windows ethereal :
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; Install winpcap 4.0
&lt;/li&gt;&lt;li&gt; Install Wireshark 0.99
&lt;/li&gt;&lt;li&gt; Go to &quot;Capture Options&quot; and specify remote host : rpcap://remotehost/remoteif
&lt;/li&gt;&lt;li&gt; Start sniffing
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
It's a always good idea to use a capture filter to exclude traffic between local and remote host.
&lt;/p&gt;
&lt;p&gt;
Example with windows 192.168.50.25 remotely sniffing from linux 192.168.50.38:
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;/xmedia/divers/rpcap.png&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
Update: Do the same &lt;a href=&quot;/35-Without-Rpcapd&quot;&gt;without rpcapd&lt;/a&gt;
Update 2 : Compile your own version, download for other archs &lt;a href=&quot;/linux/38-Here&quot;&gt;here&lt;/a&gt;
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-17" />
<item rdf:ID="news-35">
  <title>Wireshark remote sniffing without rpcapd</title>
  <link>http://www.pawelko.net/35-Wireshark-Remote-Sniffing-Without-Rpcapd</link>
  <dc:date>2010-04-27T22:41:33+00:00</dc:date>
  <description>
&lt;h4&gt;Wireshark for windows&lt;/h4&gt;

&lt;p&gt;
After reading &lt;a href=&quot;/linux/17-My-Article-About-Rpcapd&quot;&gt;my article about rpcapd&lt;/a&gt;, Peter Calum sent me this message:
&lt;/p&gt;
&lt;p&gt;
I can not use rcapd because of the problem with the random chosen port for the data transfer, because of the FW between our office network and our technical network servers. Our wireshark collecting host is placed here.
&lt;/p&gt;
&lt;p&gt;
But after some work I found another solution which works real fine : Pipe a tcpdump command on the collecting host back trough SSH.
I use plink.exe which comes with PuTTY
&lt;/p&gt;
&lt;p&gt;
Make a command file with the tcpdump command :
&lt;/p&gt;
&lt;pre&gt;
tcpdump -s0 -w - -i eth0 not port 22
&lt;/pre&gt;
&lt;p&gt;
Run
&lt;/p&gt;
&lt;pre&gt;
plink.exe -ssh -pw mypassword root@192.168.1.10 -m commands.txt | &quot;c:\program files\wireshark\wireshark.exe&quot; -k -i –
&lt;/pre&gt;
&lt;p&gt;
when you send the command wireshark starts up and shows the data … voila
&lt;/p&gt;

&lt;h4&gt;Wireshark for linux&lt;/h4&gt;

&lt;p&gt;
And from linux, just run :
&lt;/p&gt;
&lt;pre&gt;
ssh root@192.168.5.228 &quot;tcpdump -w - host 192.168.5.219&quot; | wireshark -k -i -
&lt;/pre&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-35" />
<item rdf:ID="news-33">
  <title>Byte order is not compatible</title>
  <link>http://www.pawelko.net/linux/33-Byte-Order-Is-Not-Compatible</link>
  <dc:date>2010-04-11T18:43:22+00:00</dc:date>
  <description>&lt;p&gt;
After migrating awstats data from debian i386 to debian amd64, awstat gives me the following error:
&lt;/p&gt;
&lt;pre&gt;
/usr/lib/cgi-bin/awstats.pl -config=awstats -update
Update for config &quot;/etc/awstats/awstats.conf&quot;
With data in log file &quot;/var/log/apache2/access.log&quot;...
Warning: Error while retrieving hashfile: Byte order is not compatible at 
../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/_retrieve.al) 
line 331, at (eval 5) line 1
&lt;/pre&gt;
&lt;p&gt;
Explanation is &lt;a href=&quot;http://search.cpan.org/~jhi/perl-5.8.0/ext/Storable/Storable.pm#64_bit_data_in_perl_5.6.0_and_5.6.1&quot;&gt;here&lt;/a&gt; : hashes are not stored in the same way by Perl Storable on debian 32 bit and 64 bit.
The workaround is pretty simple: delete all hashes files, awstats will rebuild them
&lt;/p&gt;
&lt;pre&gt;
rm /var/lib/awstats/*.hash
&lt;/pre&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-33" />
<item rdf:ID="news-32">
  <title>Souris bluetooth et Debian</title>
  <link>http://www.pawelko.net/linux/32-Souris-Bluetooth-Et-Debian</link>
  <dc:date>2010-01-04T23:36:08+00:00</dc:date>
  <description>&lt;p&gt;
Voici comment faire en sorte qu'une souris bluetooth (en l'occurence une Logitech Laser Travel Mouse) soit reconnectée automatiquement au démarrage par ma Debian 5.
&lt;/p&gt;
&lt;p&gt;
Ceci n'est qu'une adaptation des informations trouvées sur &lt;a href=&quot;http://www.swisslinux.org/wiki/fr/documentation/mx5000&quot; lang=&quot;fr&quot;&gt;cette page&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; Ouvrir un terminal en tant que root
&lt;/li&gt;&lt;li&gt; Installer le package bluez-utils
&lt;/li&gt;&lt;/ul&gt;

&lt;pre&gt;
#apt-get install bluez-utils
&lt;/pre&gt;
&lt;ul&gt;

&lt;li&gt; Allumer la souris
&lt;/li&gt;&lt;li&gt; Appuyer quelques secondes sur le bouton &quot;Connect&quot; de la souris, jusqu'à ce que le voyant clignote
&lt;/li&gt;&lt;li&gt; Lancer la recherche de souris:
&lt;/li&gt;&lt;/ul&gt;

&lt;pre&gt;
#hidd --search
Searching ...
  	Connecting to device 00:07:61:EA:91:63
&lt;/pre&gt;
&lt;ul&gt;

&lt;li&gt; La souris doit maintenant fonctionner
&lt;/li&gt;&lt;li&gt; Editer le fichier /etc/default/bluetooth afin qu'il contienne les lignes suivantes (remplacer évidemment l'adresse mac par celle obtenue lors de la recherche) :
&lt;/li&gt;&lt;/ul&gt;

&lt;pre&gt;
############ HIDD
#
# HID daemon
HIDD_ENABLED=1
HIDD_OPTIONS=&quot;--connect 00:07:61:EA:91:63 --master --server&quot;
&lt;/pre&gt;
&lt;ul&gt;

&lt;li&gt; La souris doit maintenant être connectée dès qu'elle est allumée
&lt;/li&gt;&lt;/ul&gt;
</description>
</item>
<rdf:li rdf:ressource="pnews-32" />
<item rdf:ID="news-29">
  <title>Miniatures CRW Canon sous Windows</title>
  <link>http://www.pawelko.net/29-Miniatures-Crw-Canon-Sous-Windows</link>
  <dc:date>2009-07-20T22:44:54+00:00</dc:date>
  <description>&lt;p&gt;
A cause des constructeurs photos incapables de s'entendre sur un format RAW, préférant conserver leur format au détriment des utilisateurs, des manipulations sont nécessaires pour avoir les miniatures des images raw dans l'explorateur windows.
&lt;/p&gt;

&lt;h4&gt;Windows XP&lt;/h4&gt;

&lt;p&gt;
Télécharger et installer &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=d48e808e-b10d-4ce4-a141-5866fd4a3286&amp;DisplayLang=en&quot;&gt;Microsoft RAW Image Thumbnailer and Viewer for Windows XP&lt;/a&gt; chez Microsoft
&lt;/p&gt;

&lt;h4&gt;Windows Vista&lt;/h4&gt;

&lt;p&gt;
Télécharger et installer les &lt;a href=&quot;http://fr.software.canon-europe.com/software/0026049.asp&quot;&gt;Canon RAW Codecs&lt;/a&gt;
La version 1.2 supporte les fichiers CRW et CR2, supportant ainsi (entre autres) les EOS 30D, 300D et 400D.
&lt;/p&gt;
&lt;p&gt;
La version 1.5 est disponible &lt;a href=&quot;http://fr.software.canon-europe.com/software/0033279.asp&quot;&gt;ici&lt;/a&gt;
&lt;/p&gt;

&lt;h4&gt;Pour en savoir plus&lt;/h4&gt;

&lt;p&gt;
Source: &lt;a href=&quot;http://www.hardcoreware.net/canon-raw-cr2-thumbnail-support-in-vista/&quot;&gt;Canon RAW CR2 and CRW Thumbnail support in Vista&lt;/a&gt;, avec les liens pour les appareils Nikon, Pentax et Olympus.
&lt;/p&gt;
&lt;p&gt;
Petite explication sur &lt;a href=&quot;http://lionel.maraval.club.fr/blogphoto/index.php?2007/08/27/205-le-format-raw&quot;&gt;le format RAW&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Pourquoi cette multitude de formats n'est pas favorable aux utilisateurs que nous sommes, sur le site &lt;a href=&quot; http://formats-ouverts.org/blog/2007/03/23/1146-les-photos-numeriques-et-leurs-formats&quot;&gt;formats-ouverts.org&lt;/a&gt;
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-29" />
<item rdf:ID="news-20">
  <title>Astuces Exim</title>
  <link>http://www.pawelko.net/linux/20-Astuces-Exim</link>
  <dc:date>2009-02-18T21:27:24+00:00</dc:date>
  <description>
&lt;h4&gt;Simuler le routage d'un mail :&lt;/h4&gt;

&lt;p&gt;
exim -bt cyril@domain.com
&lt;/p&gt;

&lt;hr /&gt;


&lt;h4&gt;Voir la file d'attente&lt;/h4&gt;

&lt;p&gt;
exim -bp
&lt;/p&gt;

&lt;hr /&gt;


&lt;h4&gt;Supprimer un mail donné:&lt;/h4&gt;

&lt;p&gt;
exim -Mrm id_mail
&lt;/p&gt;

&lt;hr /&gt;


&lt;h4&gt;Débloquer un mail donné:&lt;/h4&gt;

&lt;p&gt;
exim -M id_mail
&lt;/p&gt;

&lt;hr /&gt;


&lt;h4&gt;Utiliser un smarthost:&lt;/h4&gt;

&lt;p&gt;
Certaines listes de spam (notamment spamhaus) considèrent les IP résidentielles comme source de spam, et blacklistent donc ces adresses IP : &quot;This IP range has been identified by Spamhaus as not meeting our policy for IPs which should deliver 'direct-to-mx' mail to PBL users.&quot;
&lt;/p&gt;
&lt;p&gt;
La solution la plus simple consiste à renvoyer les mails à destination des domaines concernés vers le smtp du FAI, ce dernier n'étant pas (toujours) blacklisté
&lt;/p&gt;
&lt;p&gt;
Ajouter dans exim4.conf, au début de la section &quot;begin routers&quot;
&lt;/p&gt;
&lt;pre&gt;
send_to_smarthost:
       driver = manualroute
       domains = gmail.com : netcourrier.com
       transport = remote_smtp
       route_list = * smtp.free.fr
&lt;/pre&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-20" />
<item rdf:ID="news-16">
  <title>Cacti simple oid</title>
  <link>http://www.pawelko.net/Cacti/16-Cacti-Simple-Oid</link>
  <dc:date>2009-02-01T22:23:51+00:00</dc:date>
  <description>&lt;p&gt;
I used to play with cacti, creating my own scripts, data input methods, data sources, graphs items and then graphs, but it was long way to obtain a single graph.
&lt;/p&gt;
&lt;p&gt;
A smarter way is to use &quot;SNMP - Generic OID Template&quot; that appeared in cacti. 
Let's see an example : I want to graph the number of spams I've received during the last 24 hours. Counting is easy, I've just to find all files more recent than 24 hours in my IMAP folder &quot;spam&quot; (spamassassin does a very good job !). But I had to face security considerations, because apache user had to access my maildir !
&lt;/p&gt;
&lt;p&gt;
It's much simpler to expose this number via snmp, and then to create a simple graph based on Cacti &quot;Generic OID&quot; template. Note that SNMP is only accessible from my LAN, and the number of spams I've received is not very sensitive data. So let's go:
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; Create the script /usr/local/bin/countspam.sh
&lt;/li&gt;&lt;/ul&gt;

&lt;pre&gt;
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
find /home/cyril/Maildir/.SPAM/cur/ -ctime -1 | wc -l
&lt;/pre&gt;
&lt;ul&gt;

&lt;li&gt; Configure snmpd.conf to run this script and return the result
&lt;/li&gt;&lt;/ul&gt;

&lt;pre&gt;
# Extensible sections.
exec .1.3.6.1.4.1.15555.1 countspam.sh /usr/local/bin/countspam.sh
&lt;/pre&gt;
&lt;ul&gt;

&lt;li&gt; Test the query. Note that the interesting value is .1.3.6.1.4.1.15555.101.1
&lt;/li&gt;&lt;/ul&gt;

&lt;pre&gt;
root:/etc # snmpwalk -c public -v2c localhost .1.3.6.1.4.1.15555.1
SNMPv2-SMI::enterprises.15555.1.1.1 = INTEGER: 1
SNMPv2-SMI::enterprises.15555.1.2.1 = STRING: &quot;countspam.sh&quot;
SNMPv2-SMI::enterprises.15555.1.3.1 = STRING: &quot;/usr/local/bin/countspam.sh&quot;
SNMPv2-SMI::enterprises.15555.1.100.1 = INTEGER: 0
SNMPv2-SMI::enterprises.15555.1.101.1 = STRING: &quot;40&quot;
SNMPv2-SMI::enterprises.15555.1.102.1 = INTEGER: 0
SNMPv2-SMI::enterprises.15555.1.103.1 = &quot;&quot;
&lt;/pre&gt;
&lt;ul&gt;

&lt;li&gt; Connect to cacti console, click &quot;New graph&quot;, select your host and &quot;SNMP - Generic OID Template&quot;
&lt;/li&gt;&lt;li&gt; Enter the title, OID .1.3.6.1.4.1.15555.101.1 and choose a (fun) color
&lt;/li&gt;&lt;li&gt; Your graph is now ready :
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
&lt;img src=&quot;/xmedia/cacti/spam-count.png&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-16" />
<item rdf:ID="news-30">
  <title>kvm 0.72 backport for debian etch amd64</title>
  <link>http://www.pawelko.net/linux/30-Kvm-072-Backport-For-Debian-Etch-Amd64</link>
  <dc:date>2009-01-13T23:34:26+00:00</dc:date>
  <description>&lt;p&gt;
I started playing with kvm 28-4~bpo.1 on my etch.
I installed Fedora Core 9, but during boot I had a lot of messages like 
&lt;br /&gt;&lt;code&gt;ata2.00: status: { DRDY ERR }&lt;/code&gt; 
&lt;br /&gt;and 
&lt;br /&gt;&lt;code&gt;HSM violation&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
So I backported kvm 72+dfsg-4 from lenny and got rid of this error.
&lt;br /&gt;Download : &lt;a href=&quot;/xmedia/divers/kvm_72+dfsg-4_amd64.deb&quot;&gt;/xmedia/divers/kvm_72+dfsg-4_amd64.deb&lt;/a&gt;
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-30" />
<item rdf:ID="news-28">
  <title>Grub error 15 when adding new hard disk</title>
  <link>http://www.pawelko.net/linux/28-Grub-Error-15-When-Adding-New-Hard-Disk</link>
  <dc:date>2008-03-08T00:18:17+00:00</dc:date>
  <description>&lt;p&gt;
I have a Asus M2N-MX motherboard, with an single SATA disk, and grub correctly configured:
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;/boot/grub/device.map&lt;/code&gt;
&lt;code&gt;(hd0)   /dev/sda&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
When I tried adding an IDE disk, grub refused to boot with &quot;error 15&quot;, which means &quot;file not found&quot;.
&lt;/p&gt;
&lt;p&gt;
Obviously, grub was detecting disks in a wrong order, and was trying to load stage 1.5 from the IDE disk. To be clear, since the boot disk defined in the BIOS was the SATA, it had to be presented to grub as the first disk. So it's a buggy BIOS.
&lt;/p&gt;
&lt;p&gt;
This seems to be a common behavior when mixing IDE and SATA disks.
I googled about this error, but founded nothing really helpful. Changing boot order or activating onboard RAID didn't solve this error.
&lt;/p&gt;
&lt;p&gt;
Then I upgraded from bios 0701 to 0903, and the problem was gone.
&lt;/p&gt;
&lt;p&gt;
TIP: To upgrade Asus motherboard bios on a linux-only computer, you don't need to create a DOS bootable floppy. Recent Asus motherboard include a feature called &quot;EZ-Flash&quot;, which is an BIOS upgrade utility included ... in the BIOS.
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; Download BIOS update from Asus Website
&lt;/li&gt;&lt;li&gt; Unzip it and extract the .ROM file (for me M2NX0907.ROM)
&lt;/li&gt;&lt;li&gt; Rename this file with the motherboard model name (for me M2N-MX.ROM)
&lt;/li&gt;&lt;li&gt; Install mtools on your distro
&lt;/li&gt;&lt;li&gt; Insert a blank floppy
&lt;/li&gt;&lt;li&gt; Format the floppy &lt;code&gt;mformat a:&lt;/code&gt;
&lt;/li&gt;&lt;li&gt; Copy the rom on the floppy &lt;code&gt;mcopy M2N-MX.ROM a:&lt;/code&gt;
&lt;/li&gt;&lt;li&gt; Reboot
&lt;/li&gt;&lt;li&gt; During POST, press Alt-F2 to launch EZ-Update
&lt;/li&gt;&lt;li&gt; The BIOS upgrade procedure will start
&lt;/li&gt;&lt;/ul&gt;
</description>
</item>
<rdf:li rdf:ressource="pnews-28" />
<item rdf:ID="news-10">
  <title>Récupération de photos avec photorec</title>
  <link>http://www.pawelko.net/linux/10-Recuperation-De-Photos-Avec-Photorec</link>
  <dc:date>2007-12-30T13:44:05+00:00</dc:date>
  <description>&lt;p&gt;
Photorec est un utilitaire fonctionnant sous Linux et Windows qui est capable (entre autres) de scanner des cartes flash illisibles et de restaurer les fichiers qui y sont enregistrés.
&lt;/p&gt;
&lt;p&gt;
Voici un bref tutoriel basé sur un cas réél : la batterie était vide et l'appareil photo s'est probablement éteint durant l'écriture sur la carte, la table des fichiers étant ainsi corrompue. La récupération a été effectuée sous Linux, pour plus de souplesse.
&lt;/p&gt;
&lt;p&gt;
Windows ne veut plus de la carte (&quot;Vous devez formater le disque avant de l'utiliser&quot;)&lt;br /&gt;
Parfois linux accepte la carte sans broncher, ce n'est pas le cas cette fois-ci.
&lt;/p&gt;
&lt;p&gt;
Sur une Debian ou Archlinux, il faut installer le paquet testdisk, qui comprend photorec.
&lt;/p&gt;
&lt;p&gt;
Pour avoir l'erreur détaillée, il suffit de lancer la commande dmesg dans un terminal.
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt; $ dmesg&lt;/code&gt;&lt;br /&gt;
&lt;code&gt; sd 2:0:0:3: [sde] 512000 512-byte hardware sectors (262 MB)&lt;/code&gt;&lt;br /&gt;
&lt;code&gt; sd 2:0:0:3: [sde] Write Protect is off&lt;/code&gt;&lt;br /&gt;
&lt;code&gt; sd 2:0:0:3: [sde] Mode Sense: 43 00 00 08&lt;/code&gt;&lt;br /&gt;
&lt;code&gt; sd 2:0:0:3: [sde] Assuming drive cache: write through&lt;/code&gt;&lt;br /&gt;
&lt;code&gt; sd 2:0:0:3: [sde] 512000 512-byte hardware sectors (262 MB)&lt;/code&gt;&lt;br /&gt;
&lt;code&gt; sd 2:0:0:3: [sde] Write Protect is off&lt;/code&gt;&lt;br /&gt;
&lt;code&gt; sd 2:0:0:3: [sde] Mode Sense: 43 00 00 08&lt;/code&gt;&lt;br /&gt;
&lt;code&gt; sd 2:0:0:3: [sde] Assuming drive cache: write through&lt;/code&gt;&lt;br /&gt;
&lt;code&gt; sde: sde1&lt;/code&gt;&lt;br /&gt;
&lt;code&gt; FAT: invalid media value (0x78)&lt;/code&gt;&lt;br /&gt;
&lt;code&gt; VFS: Can't find a valid FAT filesystem on dev sde1.&lt;/code&gt;&lt;br /&gt;
&lt;code&gt; &lt;strong&gt;FAT: invalid media value (0x78)&lt;/strong&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt; &lt;strong&gt;VFS: Can't find a valid FAT filesystem on dev sde1.&lt;/strong&gt;&lt;/code&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
Premièrement, il est préférable de travailler sur une copie de la carte, que nous allons créer dans le répertoire &quot;photorec&quot;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;$ mkdir photorec&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;$ cd photorec&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;$ cat /dev/sde &gt; sde.img&lt;/code&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
On obtient donc un fichier sde.img de la taille de la carte flash.
On peut vérifier qu'il s'agit bien d'une image de disque :&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;$ file sde.img&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;sde.img: x86 boot sector&lt;/code&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
Il suffit ensuite de lancer photorec en lui indiquant le fichier image&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;$ photorec sde.img&lt;/code&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; Sélectionner le fichier sde.img
&lt;/li&gt;&lt;li&gt; Choisir le type de partition intel
&lt;/li&gt;&lt;li&gt; Sélectionner la partition
&lt;/li&gt;&lt;li&gt; Choisir le système de fichiers Other (FAT)
&lt;/li&gt;&lt;li&gt; Choisir &quot;Free&quot;
&lt;/li&gt;&lt;li&gt; Taper Y pour enregistrer les images trouvées dans le répertoire en cours, dans le répertoire recup_dir.1
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
S'il manque des images, relancer l'opération en modifiant les options 
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; Brute force: Yes
&lt;/li&gt;&lt;li&gt; Whole disk
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
Une fois les images récupérées, le fichier .img peut être supprimé, et la carte formatée.
&lt;/p&gt;
&lt;p&gt;
Astuce : Si des images jpeg semblent endommagées avec certains logiciels (comme Photoshop), essayer de les ouvrir avec Gimp.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.cgsecurity.org/&quot;&gt;Site officiel de photorec&lt;/a&gt;
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-10" />
<item rdf:ID="news-18">
  <title>Enabling Wake on Lan on DLink DFE-538TX</title>
  <link>http://www.pawelko.net/linux/18-Enabling-Wake-On-Lan-On-Dlink-Dfe-538tx</link>
  <dc:date>2007-12-30T13:23:05+00:00</dc:date>
  <description>&lt;p&gt;
I've installed a D-Link DFE 538 TX network card (via rhine chipset) in my computer but wake on lan didn't seem to work.
I discovered that I could (and I had) to enable it at each reboot, using ethtool
&lt;/p&gt;
&lt;pre&gt;
root@ale:~# ethtool eth1
Settings for eth1:
       Supported ports: [ TP MII ]
       Supported link modes:   10baseT/Half 10baseT/Full 
                               100baseT/Half 100baseT/Full 
       Supports auto-negotiation: Yes
       Advertised link modes:  10baseT/Half 10baseT/Full 
                               100baseT/Half 100baseT/Full 
       Advertised auto-negotiation: Yes
       Speed: 100Mb/s
       Duplex: Full
       Port: MII
       PHYAD: 8
       Transceiver: internal
       Auto-negotiation: on
       &lt;strong&gt;Supports Wake-on: pumbg&lt;/strong&gt;
       &lt;strong&gt;Wake-on: d&lt;/strong&gt;
       Current message level: 0x00000001 (1)
       Link detected: yes
&lt;/pre&gt;
&lt;p&gt;
According to ethtool's man page :
&lt;/p&gt;
&lt;pre&gt;
      wol p|u|m|b|a|g|s|d...
             Set  Wake-on-LAN  options.  Not all devices support this.  
             The argument to this option is a string of characters specifying
             which options to enable.
             p  Wake on phy activity
             u  Wake on unicast messages
             m  Wake on multicast messages
             b  Wake on broadcast messages
             a  Wake on ARP
             g  Wake on MagicPacket(tm)
             s  Enable SecureOn(tm) password for MagicPacket(tm)
             d  Disable (wake on nothing).  This option clears all previous options.
&lt;/pre&gt;
&lt;p&gt;
So wake on lan is disabled each time I turn on my computer.
To enable all wake-on-lan options:
&lt;/p&gt;
&lt;pre&gt;
ethtool -s eth1 wol pumbg
&lt;/pre&gt;
&lt;p&gt;
And to enable them at each system startup :
&lt;/p&gt;
&lt;pre&gt;
echo &quot;/usr/sbin/ethtool -s eth1 wol pumbg&quot; | tee -a /etc/rc.local 
&lt;/pre&gt;
&lt;p&gt;
I can now use wakeonlan to wake up my computer... And it's written in dmesg :
&lt;/p&gt;
&lt;pre&gt;
via-rhine: Woke system up. Reason: Magic packet.
&lt;/pre&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-18" />
<item rdf:ID="news-24">
  <title>Renvoi des requêtes apache vers un autre serveur web</title>
  <link>http://www.pawelko.net/linux/24-Renvoi-Des-Requetes-Apache-Vers-Un-Autre-Serveur-Web</link>
  <dc:date>2007-08-10T12:44:16+00:00</dc:date>
  <description>&lt;p&gt;
La problématique est la suivante: Je veux tranquillement migrer mes virtualhosts apache d'un serveur web vers l'autre.
Ces serveurs sont sur mon lan, et mon routeur forwarde le port 80 vers mon ancien serveur web. Je ne pourrais basculer ce transfert de ports vers le nouveau serveur qu'une fois tous mes virtualhosts migrés.
&lt;/p&gt;
&lt;p&gt;
La solution consiste donc à demander à apache d'utiliser le nouveau serveur web comme proxy pour chaque virtualhost migré.
La configuration du serveur virtuel (sur l'ancien serveur) passe donc de :
&lt;/p&gt;
&lt;pre&gt;
&lt;VirtualHost *:80&gt;
 ServerName monvirtualhost.pawelko.net
 DocumentRoot /mnt/data/monvirtualhost
&lt;/VirtualHost&gt;
&lt;/pre&gt;
&lt;p&gt;
en
&lt;/p&gt;
&lt;pre&gt;
&lt;VirtualHost *:80&gt;
 ServerName monvirtualhost.pawelko.net
 &lt;IfModule mod_proxy.c&gt;
    ProxyRequests Off
    ProxyRemote * http://monnouveauserveur
    ProxyPass  /  http://monvirtualhost.pawelko.net/
    ProxyPassReverse / http://monvirtualhost.pawelko.net/
 &lt;/IfModule&gt;
&lt;/VirtualHost&gt;
&lt;/pre&gt;
&lt;p&gt;
Une fois tous les virtualhosts migrés, je n'aurais plus qu'à forwarder le port 80 vers mon nouveau serveur
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-24" />
<item rdf:ID="news-3">
  <title>hddtemp template for cacti</title>
  <link>http://www.pawelko.net/Cacti/3-Hddtemp-Template-For-Cacti</link>
  <dc:date>2007-06-28T22:34:49+00:00</dc:date>
  <description>&lt;p&gt;
I've made a template to query hddtemp deamon and graph disks temperature.
Tested with cacti 0.8.6h on fc5, debian and gentoo. It uses only php core functions, no extra librairies are needed.
&lt;/p&gt;
&lt;p&gt;
&lt;img alt=&quot;Example with 9x template&quot; src=&quot;/xmedia/cacti/graph_image.php.png&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
INSTALLATION :
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; Install and configure hddtemp daemon
&lt;/li&gt;&lt;li&gt; Test it with &quot;telnet &lt;host&gt; 7634&quot; from your cacti box
&lt;/li&gt;&lt;li&gt; Output should be similar to :
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
&lt;code&gt;&quot;|/dev/hda|IBM-DJNA-371350|47|C||/dev/hdc|Maxtor 6Y080L0|44|C|&quot;&lt;/code&gt;
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; Copy hddtemp.xml to resources/script_queries directory
&lt;/li&gt;&lt;li&gt; Copy hddtemp.php to scripts directory
&lt;/li&gt;&lt;li&gt; Import template file cacti_template_linux_hddtemp_disk_temperature.xml
&lt;/li&gt;&lt;li&gt; Add &quot;Linux - hddtemp - disk temperature&quot; data query to your host
&lt;/li&gt;&lt;li&gt; Create new graph for this host and select disks
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
GROUPING GRAPHS :&lt;br /&gt;
If you want to group several disks on the same graph :&lt;br /&gt;
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt; Import cacti_graph_template_linux_hddtemp_disk_temperature_2x.xml or cacti_graph_template_linux_hddtemp_disk_temperature_9.xml templates
&lt;/li&gt;&lt;li&gt; Create a graph for each disk as described above
&lt;/li&gt;&lt;li&gt; Create a graph for your host using 2x or 9x template, let fields empty
&lt;/li&gt;&lt;li&gt; Edit the graph and select data sources previously created
&lt;/li&gt;&lt;li&gt; You can delete single-disk graphs but not data sources
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
NOTE : You need exactly 2 or 9 disks, or you'll have to modify the template.
&lt;/p&gt;
&lt;p&gt;
DOWNLOAD : &lt;a href=&quot;/xmedia/cacti/cacti-linux-hddtemp-1.0.tar.gz&quot;&gt;cacti-linux-hddtemp-1.0.tar.gz&lt;/a&gt;
&lt;/p&gt;</description>
</item>
<rdf:li rdf:ressource="pnews-3" />

</rdf:RDF>



