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

  • Un serveur (qu’il soit un dédié ou un vieu pc transformé en serveur pour la cause)
  • Une connaissance minimale en linux (prennez la distribution que vous souhaitez, ici je prend 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 serra 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 a se connecter au webui

Je pense avoir fait le tour de toutes les options interessantes pour une seedbox

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

service transmission-daemon start

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

transmission-web-interface

Et vous etes prêts à télecharger des torrents sur votre seedbox.

Avant toute chose, un peu de théorie.

A quoi sert radius?

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

En bref, il sert a authentifier une personne à un service, il permet d’autoriser ou refuser toto a se connecter a un service.
Par exemple: l’utilisateur toto veux 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 à bien la permission de se connecter au service FTP à l’heure actuelle. Le serveur RADUIS va retrouver l’utilisateur toto dans un annuaire LDAP ou comme ici dans une base de donnée 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 peux 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

Creation 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 test :

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

-> acces-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. A 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

Voila, la configuration de base est finie 🙂