Table des matières

, , , , ,

I2P : Réseau Anonyme

I2P (Invisible Internet Project) est un réseau anonyme, offrant une simple couche logicielle que les applications peuvent employer pour envoyer de façon anonyme et sécurisée des messages entre elles. La communication est chiffrée d'extrémité à extrémité.

Installation

Installez le paquet i2p.

Si le routeur n'a pas démarré, le démarrer par :

i2prouter start

Vous pouvez alors faire la Subscription DNS, et pour naviguer sur internet configurer firefox

Vous trouverez également dans le même dépots :

Configuration

Accès à l'interface

Une fois qu'il est démarré, votre navigateur web va démarrer et afficher la page d'accueil d'I2P.

si ce n'est pas le cas vous pouvez vous connecter à l'interface de configuration à l'url suivante : http://127.0.0.1:7657

Si le routeur ne démarre pas, tapez dans le terminal : ./i2prouter start

Configuration proprement dite

Vous pouvez remarquer sur la gauche une colonne avec les différentes informations de connexion.

C'est à cet endroit que vous allez pouvoir contrôler le routeur.

Vous pouvez voir dans cette partie le status de la connexion au routeur (reachability).

Comme sur la capture il doit indiquer OK

Si il vous indique Firewalled, c'est que les ports indiqués dans le pré-requis n'ont pas été correctement ouverts. Vérifier votre configuration.

Cette section vous indique le nombre de pairs (peers) actifs (qui doit monter progressivement), ainsi que la bande passante utilisée.

Voilà ça y est, le routeur I2P est installé sur votre machine et vous êtes libre de surfer anonymement.

Seulement celui-ci ne redémarrera pas automatiquement lors du prochain reboot de la machine. Il vous faut donc effectuer 2,3 manipulations pour qu'il démarre automatiquement.

Subscription DNS

Un service de dns évolué semble se mettre en place : http://icand.i2p

Bande passante

Limites de bande passante

Avant toute chose vous devez régler votre bande passante. Pour ce faire, rendez-vous sur la page Configuration -> Network.

Ajustez les valeurs de bande passante (Bandwith Limiter) selon votre connexion. Rendez-vous sur Speedtest et testez votre connexion

Ne confondez pas kbps (kilobits par seconde) et kBps (kilobytes par seconde). 1 kilobyte = 8 kilobits.

Si vous avez une connexion de 1024kbps en émission, ca donne 128kBps en théorique (ou 128 Ko/s)

Le tableau ci-dessous récapitule les différents débits généralement constatés selon votre connexion :

Débit de votre connexion Débit de votre connexion en kilobyte/s
64 kbps approx. 8 kBps
512 kbps approx. 50 kBps
1 Mbps approx. 100 kBps
10 Mbps approx. 1100 kBps
100 Mbps approx. 11000 kBps

Régler votre bande passante légèrement en dessous de votre débit (ex: 1 Mbps → 80kBps), pour ne pas saturer votre bande passante.

Ces paramètres définissent la bande passante générale pour I2P, donc toutes les applications utilisant I2P ne pourront jamais dépasser ces limites.

Partage de bande passante

Ensuite définissez quelle pourcentage de bande passante vous souhaitez attribuer à I2P (par défaut: 80%).

Ce réglage correspond à la bande passante partagée que vous attribuer à I2P, c'est à dire au trafic qui transite par votre machine mais dont vous n'êtes ni la destination, ni l'émetteur.

Gardez à l'esprit qu'au plus vous partagerez de bande passante, au plus le réseau sera rapide et efficace. Il n'y a aucun serveur de routage à haut débit fourni par l'équipe I2P.

Les utilisateurs créent et fournissent eux-mêmes la bande passante du réseau

Si vous souhaitez aider I2P à se développer les réglages suivants sont recommandés :

Nombre de tunnels participants

Les tunnels participants sont essentiels dans I2P. En effet c'est par ces tunnels que vont transiter toutes les informations et que le réseau I2P se constitue.

Il est donc primordial de procéder à un réglage, qui va éviter à votre machine de consommer trop de ressources processeur (dû à un trop grand nombre de tunnels).

Rendez-vous sur la page : Configuration -> advanced, et ajoutez cette ligne :

router.maxParticipatingTunnels=500

Il vous faut redémarrer le routeur après avoir cliqué sur sauvegarder. Les tunnels sont désormais limité à 500.

Le tableau ci-dessous fournit les correspondance tunnel → bande passante :

Nombre de tunnels Bande passante
3000 1500 kbps (valeur élevée avec une grosse consommation processeur)
2000 900 kbps
1000 500 kbps
600 300 kbps
300 150 kbps
150 70 kbps

source : Echelon.i2p

Démarrage automatique

Si vous êtes le seul utilisateur

Vous pouvez ajouter au menu Système→Session (ou Applications au démarrage sur Jaunty) un nouveau lanceur.

Cliquer sur Ajouter et tapez cette ligne dans commande (bien sur adaptez le chemin selon votre configuration).

~/i2p/i2prouter start

Si vous êtes plusieurs utilisateurs sur la même machine

Mieux vaut l'installer en tant que service

Créer le lien symbolique

sudo ln -s /chemin_de_i2p/i2prouter /etc/init.d/i2prouter

Mettons à jour les liens RC

sudo update-rc.d i2prouter defaults

Réseau local

Toutes les fonctionnalités qui vont suivre sont maintenant gérées nativement : http://localhost:7657/i2ptunnel/index.jsp

Accès à la console I2P depuis un autre poste du réseau

Par défaut la console I2P n'est accessible que depuis la machine locale. Editer le fichier "clients.config" dans "/home/USER/.i2p/clients.config".

Dans les nouvelles versions comme la 0.9.43 le fichier se nomme "00-net.i2p.router.web.RouterConsoleRunner-clients.config" situé dans le dossier "/home/USER/.i2p/clients.config.d".

USER étant l'utilisateur qui exécute la commande "i2prouter start".

Changer la ligne suivante :

clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/

par

clientApp.0.args=7657 0.0.0.0 ./webapps/

Si la modification du clients.config dans le dossier d'installation d'I2P n'a pas d'incidence, regardez dans /root/.i2p/ s'il n'y a pas un autre fichier clients.config

Ce changement rend potentiellement accessible votre console I2P depuis l'internet, il est donc indispensable de mettre une authentication par mot passe! comme suit.

Pour les bidouilleurs, ceci n'est en aucun cas un masque mais une adresse IP vers une interface. 0.0.0.0 signifie "Lier vers toutes les interfaces, local et externe"

Si vous le souhaitez vous pouvez mettre un mot de passe pour protéger l'accès à la console I2P. Ici http://127.0.0.1:7657/configui "Onglet : interface utilisateur".

Ou rendez vous sur la page de configuration avancée : http://localhost:7657/configadvanced.jsp et rajouter cette option :

consolePassword=Mon_mot_de_passe

Pour finir redémarrer le service I2P dans la colonne de gauche.

En cas de perte de vos identifiants, ils se trouver dans le fichier /home/VotreUser/.i2p/router.config A la ligne routerconsole.auth.i2prouter.VotreID=Votre-MP-chiffrée

Supprimer la ligne routerconsole.auth.i2prouter.VotreID=Votre-MP-chiffrée

Et remplacer true par false à la ligne routerconsole.auth.enable=true puis redémarré I2p.

Accès aux applications I2P depuis un autre poste du réseau

Pour pouvoir accéder aux application I2P (SusiMail, SusiDNS, I2PSnark…), rendez vous sur la page de configuration avancée : http://localhost:7657/configadvanced.jsp et rajouter cette option :

i2cp.tcp.bindAllInterfaces=true

Pour finir redémarrer le service I2P dans la colonne de gauche.

Installer privoxy sur la machine qui fait tourner I2P.

Editez les sections suivantes du fichier /etc/privoxy/config :

Section 4.1 - listen-adress, changez la ligne :

listen-address    127.0.0.1:8118

par

listen-address    :8118

Privoxy écoute désormais sur toutes les interfaces de votre machine.

Certains diront : "Pas top niveau sécurité !" et ils auraient raison, donc si vous souhaitez restreindre l'accès à certaines adresses IP

Section 4.7 - ACLs: permit-access and deny-access

Ajoutez autant de lignes que d'adresses IP à autoriser :

permit-access  192.168.0.2
permit-access  192.168.0.3
...

Ou, pour ajouter un brin complet :

permit-access  192.168.0.1/26

Sauvegarder et redémarrer Privoxy

sudo /etc/init.d/privoxy restart

Mettre à jour le proxy HTTP de tous les navigateurs Web de votre réseau local pour qu'ils pointent vers l'adresse IP de cette machine. Le port reste le 8118.

N'oublier pas d'ouvrir le port 8118 sur le firewall de cette machine, si besoin est.

Logiciels fournis avec I2P

I2P est fourni avec des logiciels pré-installés comme :

Ces logiciels sont accessibles dans la barre en haut de la page principale d'I2P.

I2PSnark

I2PSnark est le Client BitTorrent installé par défaut avec i2p, il est disponible à l'adresse http://127.0.0.1:7657/i2psnark

L'ajout de fichiers torrents est possible soit via cette interface web, soit via le dépôt de fichiers dans le répertoire /home/utilisateur/.i2p/i2psnark. Dans ce dernier cas le téléchargement démarrera automatiquement au bout de quelques minutes.

Attention, l'usage de torrent via I2P n'est fonctionnel que pour des fichiers torrents prévus pour le réseau I2P, il n'est donc pas possible de télécharger n'importe quel torrent provenant de votre tracker favori.

D'autres clients bittorent sont compatible avec i2p : transmission (par défaut), robert

I2Phex

Client Gnutella installable en allant sur le site : plugins.i2p (I2P requis)

Logiciels fonctionnant avec I2P

Firefox

Surf anonyme sur tous les liens

Configurer le proxy I2P local. Edition → Préférences → Avancé → Réseau → Paramètres.

Cochez Configuration manuelle du proxy et entrer les valeurs suivantes dans la case Proxy HTTP :

Serveur : localhost
Port : 4444
Installer le module Quick Proxy pour pouvoir activez/désactiver en un clic le proxy

Evidemment le routeur I2P fonctionne avec tous les navigateurs prenant en charge l'utilisation d'un proxy.

Surf anonyme sur les liens .i2p (Privoxy)

Installer Privoxy : apt://privoxy

Ouvrez le fichier de config de privoxy

gksudo gedit /etc/privoxy/config

Collez-y ces lignes dans la section forward-socks4, forward-socks4a and forward-socks5 vers la fin du fichier

#this forwards all requests to .i2p domains to the local i2p
#proxy without dns requests
forward .i2p localhost:4444

Sauvegarder et redémarrer Privoxy

sudo /etc/init.d/privoxy restart

Configurer le proxy de Firefox de la même manière que dans la section précédente sauf que le port est le 8118

iMule

iMule est un logiciel client d'échange de fichiers pair-à-pair (P2P) anonyme, reposant sur la couche réseau d'anonymat I2P. Son interface et ses fonctions sont similaires à celles de eMule, c'est un fork de aMule.

Comme pour eMule, iMule utilise le protocole Kademlia pour trouver des fichiers à télécharger et échanger à travers Internet et il peut gérer les liens ed2k habituels. Sa différence est que toutes les communications envoyées et reçues par iMule passent au travers du protocole réseau d'anonymat I2P, qui vous rend difficilement traçable, voire intraçable. Cette particularité oblige l'utilisation d'une version modifiée de Kademlia, et iMule ne peut donc partager des fichiers qu'avec d'autres clients iMule.

Parce qu'il est anonyme, l'échange de fichiers par iMule est nécessairement plus lent qu'à travers ses pendants non-anonymes eMule et aMule. De plus, comme il doit utiliser son propre réseau aujourd'hui moins fréquenté, le nombre et la diversité des fichiers échangés sont moindres. Néanmoins, sa vitesse, tout à fait acceptable pour un logiciel sécurisé, et sa grande activité dans les milieux francophones en fait un logiciel doté d'un avenir très prometteur.

Consultez la page dédiée à iMule

Voir aussi