Pour faire une seedbox, il faut tout d’abord :

  • Un serveur (qu’il soit dédié ou un vieux PC transformé en serveur pour la cause)
  • Une connaissance minimale en Linux (prenez la distribution que vous souhaitez, ici je prends Debian)

Quoi qu’il en soit, voici les instructions :

Installation :

apt-get install transmission-daemon

Configuration :

Important : la configuration du fichier se fait service éteint !

service transmission-daemon stop
nano /etc/transmission-daemon/settings.json

Maintenant nous pouvons configurer les options 😉

« download-dir » : « /home//Downloads », // le répertoire qui contiendra les fichiers téléchargés
« ratio-limit » : 2, //Stopper le torrent quand il a atteint un certain ratio (>1, sinon aucune utilité de la seedbox)
« ratio-limit-enabled » : false, //Activer le ratio
« rpc-authentication-required » : true, //laisser à true
« rpc-enabled » : true,
« rpc-password » : « Azerty123 », //votre mot de passe, il sera chiffré lors du démarrage du service
« rpc-port » : 9091, //Vous pouvez modifier le port si vous voulez
« rpc-username » : « transmission », //Vous pouvez modifier l’utilisateur pour vous connecter au webui
« rpc-whitelist-enabled » : false, //Mettre sur false pour autoriser toutes les IPs à se connecter au webui

Je pense avoir fait le tour de toutes les options intéressantes pour une seedbox.

Il ne vous reste plus qu’à démarrer le service et à vous connecter au webui.

service transmission-daemon start

Allez sur http://votreip:9091 authentifiez-vous avec l’utilisateur et le mot de passe que vous avez configurés plus haut.

transmission-web-interface

Et vous êtes prêts à télécharger des torrents sur votre seedbox.

Avant toute chose, un peu de théorie.

À quoi sert radius ?

http://fr.wikipedia.org/wiki/Remote_Authentication_Dial-In_User_Service

En bref, il sert à authentifier une personne à un service, il permet d’autoriser ou refuser toto à se connecter à un service.
Par exemple : l’utilisateur toto veut se connecter à un serveur FTP, ce serveur est configuré pour tourner avec un serveur radius.
L’utilisateur se connecte au FTP, le FTP va demander au serveur RADIUS si la personne a bien la permission de se connecter au service FTP à l’heure actuelle. Le serveur RADIUS va retrouver l’utilisateur toto dans un annuaire LDAP ou comme ici dans une base de données SQL, RADIUS va ensuite vérifier si l’utilisateur a bien la permission d’accéder ou non suivant les préférences. Et il va contacter le FTP pour lui dire si oui ou non l’utilisateur peut se connecter.

On y va

Installation des paquets nécessaires :

apt-get install mysql-server mysql-client phpmyadmin freeradius freeradius-utils freeradius-mysql

Création de la table et de l’utilisateur

echo "create database radius;" | mysql -u root -p
echo "grant all on radius.* to radius@'localhost' identified by 'password_bdd'; flush privileges;" | mysql -u root -p
mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql
mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql

Création d’un utilisateur

echo "INSERT INTO radcheck(UserName,Attribute,Value) VALUES ('Toto','Password','Azerty123');" | mysql -u root -p radius

Configuration de freeradius

nano /etc/freeradius/sql.conf

Modifier le contenu :

password=motDePasseSQL
readclient=yes

nano /etc/freeradius/radiusd.conf

Décommenter $INCLUDE sql.conf

nano /etc/freeradius/sites-available/default

Décommenter sql dans “authorize”, “accounting” et “session”

nano /etc/freeradius/clients.conf

secret = superSecret (mot de passe pour le radtest notamment)

On teste :

service freeradius stop
freeradius -X

(et regarder si tout est OK, pas de message d’erreur)

radtest Toto Azerty123 127.0.0.1 0 superSecret

-> access-accept = OK
CTRL+C

service freeradius restart

Voici les manipulations à faire pour mettre en place des VLANs avec un trunk.

Nettoyage

Premièrement, nettoyage du switch de l’ancienne configuration

Switch enable
Switch#erase startup-config
Switch#delete flash:vlan.dat
Switch#reload
Switch enable
Switch#conf t
Switch(config)# no ip domain-lookup

Info : no ip domain-lookup supprime la recherche DNS (notamment en cas de mauvaise commande)

Configuration des VLANs

Ici nous passons à la configuration des VLANs sur les différents ports (changez les ports en fonction de votre utilisation)

Switch(config)# int Fa0/1
Switch(config-if)# switchport access vlan 1
Switch(config-if)# switchport mode access
Switch(config-if)# spanning-tree portfast
Switch(config)# int Fa0/20
Switch(config-if)# switchport access vlan 2
Switch(config-if)# switchport mode access
Switch(config-if)# spanning-tree portfast

Suivre la même procédure pour affecter d’autres ports à un VLAN.

Info : La commande spanning-tree portfast fait passer le port de l’état blocking à forwarding directement, permettant ainsi une connexion plus rapide. À effectuer sur les ports connectés aux périphériques finaux.

Configuration du trunk

Switch(config)# int Fa0/24
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 1,2
Switch(config-if)# switchport trunk encapsulation dot1q

Sauvegarde de la configuration

Switch# copy running-config startup-config

Vérification

Switch#show interfaces Fa0/24 switchport
Switch#show running-config

Voilà, la configuration de base est finie 🙂