Date actuelle : Lundi - 20 Août -, 14:11 Bienvenue, Visiteur ! (ConnexionS'enregistrer)

Poster une réponse 
 
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Mise en place seedbox, bots xdcc et ddl
Auteur Message
Kirinenko Hors ligne
Grumeau des Alpes
*******

Administrateurs

Messages : 3'359
Inscription : 25 Oct. 2011

Anime préféré : One Piece
Manga préféré : GTO
Drama préféré : MBMH
Message : #1
Big Grin Mise en place seedbox, bots xdcc et ddl

Alors, un tuto pour mettre en place une seedbox sur un serveur dédié avec un vpn et une interface web pour gérer les torrents et le téléchargement des fichiers. Il sera aussi mis en place un bot xdcc qui pourra proposé vos fichiers sur votre channel ainsi qu'une interface web pour le listing des fichiers. Grâce à cela plus de problème de ratio, vous pourrez aussi proposer au téléchargement via p2p, téléchargement direct ou encore xdcc les dernières vidéos d'anniversaire à toute votre famille. Une petite image explicative :

[Image: attachment.php?aid=6145]

Dans mon cas, on se servira d'un serveur kimsufi KS2 ( http://www.kimsufi.com/fr/index.xml ) pour l'heure actuelle. Pour le vpn, je n'ai pas encore décidé mais je regarderais ce qu'il y a sur ce site : http://torrentfreak.com/which-vpn-servic...on-140315/ et bien entendu je regarderais aussi les CGU sur les sites qui pourraient m'aller.
Update : Je voulais prendre IPredator ( https://www.ipredator.se/ ) au départ. Ils ne font pas dans l'extravagance et offre un bon service de ce que j'ai lu dans les conditions générales de vente. Il s'est avéré que je suis pas arrivé à mettre en place la redirection de la connexion vpn sur le torrent. J'ai donc finalement opté pour Mullvad : https://mullvad.net/en/ . Je noterais aussi l'existance de oVPN http://ovpn.to/ et toonux http://toonux.net/ qui ont l'air d'être de fiables partenaires (sauf p2p ^^).

Sommaire :
Installation du système d'exploitation
Mise en place d'un service de téléchargement par xdcc des fichiers
Installation de l'explorateur de fichier web h5ai
Listing web des packs offerts via xdcc et mise en commun ddl/xdcc
On sécurise un peu le serveur
Pare-feu iptables
Bannissement sous échec d'identification, fail2ban
Installation du client torrent, transmission-daemon
Mise en place d'un accès par mot de passe pour l'exploration web des fichiers
Mise en place de l'https pour l'explorateur de fichier web
Mise en place d'un vpn sur les connexions de transmission
Ajout d'un nom de domaine
Design page d'accueil par défaut
Petit mot
Ajout d'une autre instance transmission
Ajouter une image à la page de _h5ai
Noubliez pas
Mot de la fin



Installation du système d'exploitation :

Alors, si vous n'en avez pas, vous prenez un serveur et puis vous allez dans le panel d'administration. Le tout nouveau tout beau tant qu'à faire ( https://www.kimsufi.com/fr/manager/ ). Dans mon cas je vais devoir réinstaller :

[Image: attachment.php?aid=6146]

Vous choisissez la dernière version de debian :

[Image: attachment.php?aid=6147]

On lance tout ça avec confirmer :

[Image: attachment.php?aid=6148]

Vous laissez l'installation se réaliser :

[Image: attachment.php?aid=6149]

Bon bon, maintenant que c'est bon, on peut fermer le manager ovh et on va attaquer la machine :D
Pour se connecter à notre machine, on va utiliser putty (si vous ne l'avez pas, c'est par ici : http://www.chiark.greenend.org.uk/~sgtat...nload.html ). Vous remplissez le champ de l'ip avec celle de votre machine, vous laissez le port 22 et SSh de coché puis "open" :

[Image: attachment.php?aid=6150]

Vous acceptez cette nouvelle clef :

[Image: attachment.php?aid=6151]

Et vous pourrez alors vous loguer avec l'identifiant root et le mot de passe qu'ovh vous a envoyé par e-mail. Il est normal que vous ne voyiez pas le mot de passe affiché des caractères lorsque vous l'entrez. Si tout se passe bien vous aurez un truc dans le genre :

[Image: attachment.php?aid=6152]

On va commencer par changez ce mot de passe d'administration. Pour cela, puisque vous êtes logué en root, tapez :
Code :
passwd
Puis tapez votre mot de passe 2 fois et le tour est joué. Vous pouvez redémarrer votre session putty pour bien voir que les changements sont pris en compte. Pour quitter il suffit de faire :
Code :
exit

Et on se reconnecte via putty en utilisant le nouveau mot de passe pour "root". On réalise maintenant la mise à jour de notre machine même si avec une installation toute fraîche ça devrait être bon, pour cela, tapez :
Code :
apt-get update
Puis :
Code :
apt-get upgrade
Et dites oui (y) quand c'est demandé d'utiliser de l'espace pour installer tout ça.

Installez "sudo" comme commande :
Code :
apt-get install sudo
Utile pour plus tard :)


Mise en place d'un service de téléchargement par xdcc des fichiers :

Afin de pouvoir avoir la mise à disposition de fichiers par un bot sur irc et d'obtenir un listing tout beau en page web on va utiliser deux programmes distincts : iroffer-dinoex (pour les bots) et XDCCParser-global (pour le listing).

Commencons par iroffer-dinoex on va suivre le tuto dispo dans le dossier doc du package qu'on a via github.
On se connecte en root à sa machine et on commence par se créer un nouvel utilisateur avec son dossier :
Code :
cd /
useradd -d /home/le_nom_que_vous_voulez -m le_nom_que_vous_voulez
N'utilisez pas de majuscules et y'a plein de nom dispos ici : http://fr.wikipedia.org/wiki/Liste_des_d...ie_grecque XD

On lui crée son mot de passe :
Code :
passwd le_nom_que_vous_voulez
Vous rentrez deux fois le mot de passe.

On va dans le dossier et on crée un dossier pour pouvoir télécharger ce dont on aura besoin :
Code :
cd /home/le_nom_que_vous_voulez
mkdir iroffer
cd iroffer

On télécharge les sources du programme :
Code :
wget http://iroffer.dinoex.net/iroffer-dinoex-snap.tar.gz

On extrait tout ça :
Code :
tar -xvzf iroffer-dinoex-snap.tar.gz
rm iroffer-dinoex-snap.tar.gz

On configure tout cela pour notre version de linux :
Code :
cd iroffer-dinoex-snap
./Configure -curl -geoip -ruby

Vous devriez avoir de l'erreur, pour remédier à cela :
Code :
cd /
sudo aptitude install make
sudo aptitude install gcc
sudo aptitude install libc-dev
sudo aptitude install libcurl4-openssl-dev
sudo aptitude install libgeoip-dev
sudo aptitude install libssl-dev
sudo aptitude install ruby1.8-dev
sudo aptitude install ruby1.8
sudo aptitude install libruby-extras

On refait un petit :
Code :
cd /home/le_nom_que_vous_voulez/iroffer/iroffer-dinoex-snap
./Configure -curl -geoip -ruby

Puis on compile le programme :
Code :
make

On copie le programme au bon endroit :
Code :
cp -p iroffer ..
cp *.html ..
cp -r htdocs ../

On se copie via ftp le fichier sample.config qui est dans "/home/nom_d'utilisateur/iroffer/iroffer-dinoex-snap" et on change les lignes suivantes :
Code :
http_port 8000
http_dir htdocs
filedir /home/le_nom_que_vous_voulez/files
autoadd_time 60
autoadd_dir /home/le_nom_que_vous_voulez/files
Note : Enlevez les # pour décommenter les lignes.
Dans "- channels (up to 50) -" changez les connexions aux chans pour :
Code :
# 2nd Network
network nom_network
{
server irc.nom_network 6667
channel #nom_chan -noannounce
}
Note : Supprimez les autres et changez les nom du chan et du server pour les votres.
Et dans "- adddir exclude pattern -", modifiez et ajoutez :
Code :
#adddir_exclude *.txt
#adddir_exclude *.md5
adddir_exclude *.htaccess
adnew *.htaccess
autoadd *.htaccess

Vous copiez votre fichier modifié par dessus celui qui est sur le serveur.
Note : l'ajout de "*.htaccess" dans les fichiers à exclure permttra de ne pas lister le fichier htaccess dont on se servira pour restreindre l'accès à des dossiers.

On retourne dans la console de putty.
On copie la config :
Code :
cp sample.config ../mybot.config
cd ..

On génère un mot de passe pour l'administration :
Code :
./iroffer -c mybot.config

On crée le dossier "files" qui contiendra les fichiers :
Code :
cd ..
mkdir files

Maintenant on crée un script de démarrage :
Code :
nano -w start-iroffer.sh

Et on colle le code suivant :
Code :
#!/bin/sh
cd /home/nom_d'utilisateur/iroffer
./iroffer -b /home/nom_d'utilisateur/iroffer/mybot.config

On rend le script exécutable :
Code :
chmod +x start-iroffer.sh

On reboot et on se logue avec l'autre utilisateur et non root (on ne peut lancer iroffer en mode root). On retourne dans le bon dossier et :
Code :
sh start-iroffer.sh

Et hop o/ Vous devriez voir votre bot arriver sur votre chan :) Et vous pouvez ajouter des fichiers par ftp dans le dossier "files" de votre utilisateur et en tapant :
Code :
/msg mybotDCC xdcc list
Vous devriez les voir être présent après 1 minute.

Note : Si le bot ne vient pas, vous pouvez essayer de changer les permissions des fichiers :
Code :
chown -R le_nom_que_vous_voulez: /home/le_nom_que_vous_voulez
chmod -R 775 /home/le_nom_que_vous_voulez

Note² : Pour avoir plusieurs bots : copier le fichier config en changeant son nom et les paramètres à l'intérieur et ajoutez une ligne pour son lancement dans le fichier start-iroffer.sh.


Installation de l'explorateur de fichier web h5ai :

On passe à l'installation de ce qui nous servira à afficher les fichiers dans le navigateur web. Pour cela, j'utilise un tuto que j'ai trouvé grâce au cache de google, j'ai donc réalisé une copie d'écran afin de pouvoir le citer :

   

Alors donc on redemarre et on se connecte en root et on commence par installer un campement d'indiens apaches :
Code :
cd /
apt-get install apache2 apache2-doc apache2-utils

Puis des dépendances :
Code :
apt-get install libapache2-mod-php5 php5 php-pear php5-xcache php5-mysql

Et on finit avec la gestion mysql :
Code :
apt-get install mysql-server mysql-client
Entrez un mot de passe lorsque c'est demandé.

Puis on redémarre la machine :
Code :
reboot

Vérifiez que la dernière version de h5ai est la 0.26.1 sinon il faudra changer le lien en conséquence dans les lignes de code suivantes : http://larsjung.de/h5ai/
On se connecte en root.
Code :
cd /var/www
wget http://release.larsjung.de/h5ai/h5ai-0.26.1.zip
apt-get install unzip
unzip ./h5ai-0.26.1.zip
rm ./h5ai-0.26.1.zip

Puis on paramètre apache :
Code :
cd /etc/apache2/sites-available
nano default

Et vous ajoutez la ligne suivante dans la première section directory :
Code :
DirectoryIndex index.html index.php /_h5ai/server/php/index.php

Ce qui donne à peu près ceci :

[Image: attachment.php?aid=6154]

Puis "CTRL+x" pour quitter, "y" pour dire qu'on veut enregistrer les changements et "entrée" pour valider l'utilisation du même nom.

Maintenant, si dans votre navigateur sur vous allez sur :
Code :
IP_de_la_machine/_h5ai

Vous obtenez :

[Image: attachment.php?aid=6155]

Et on nous informe donc qu'on peut mettre en place un ti mot de passe dans le fichier "/_h5ai/server/php/index.php". On fait donc cela dès maintenant.
On retourne dans putty et :
Code :
cd /
nano /var/www/_h5ai/server/php/index.php
Et on peut voir au début les ligne suivantes :
Code :
/*********************************************************************
  SHA1 hash of the info page password, the preset password is the
  empty string. You might change it to keep this information private.
  Online hash generator: http://www.sha1.cz/
*********************************************************************/
define("PASSHASH", "da39a3ee5e6b4b0d3255bfef95601890afd80709");

Si on va sur le site mentionné :
http://www.sha1.cz/

Et qu'on laisse le champ vide et qu'on demande le hash, on obtiendra exactement "da39a3ee5e6b4b0d3255bfef95601890afd80709", c'est donc le mot de passe pour champ vide. C'est ceci qu'on change.
Vous rentrez le mot de passe que vous voulez sur le site http://www.sha1.cz/ et vous remplacez "da39a3ee5e6b4b0d3255bfef95601890afd80709" par ce que vous obtenez.
Puis vous enregistrez le fichier avec les changements.

Maintenant, rechargez la page "IP_de_la_machine/_h5ai" et le mot de passe vous sera demandé. Maintenant que c'est fait, vous rentrez le mot de passe et l'on obtient la liste de ce qui est activé pour h5ai. Ce qui nous interesse, c'est la ligne : "Cache directory no".
Afin d'autorisez ce cahe, il faut dans putty, taper :
Code :
chmod o+w /var/www/_h5ai/cache/

On va voir maintenant si tout fonctionne bien :
Code :
cd /
cd /var/www
mkdir turlulu
cd turlulu
nano huhu
Vous tapez du texte de test et enregistrez ça :)
Puis :
Code :
cd ..
chmod -R 775 turlulu
Maintenant on va à l'url : "IP_de_la_machine/turlulu" et un listing devrait apparaître comme ceci :

[Image: attachment.php?aid=6156]

PS : Il m'a fallu faire un reboot de la machine :
Code :
reboot

Note : Pour mettre en place les fonctionnalités supplémentaires, on peut faire :
Code :
apt-get install php5-gd ffmpeg zip imagemagick
Note : Perso nop :)

On voit que tout fonctionne bien, on peut dl le fichier d'un clique droit ou l'ouvrir directement en cliquant dessus. Bon maintenant que cela est en place, on va voir à mettre en place la partie de partage de fichiers :)

On a plus besoin de turlulu et huhu.txt ^^ On supprime ça. Connexion via putty et :
Code :
cd /var/www
rm -rf turlulu


Listing web des packs offerts via xdcc et mise en commun ddl/xdcc :

Pour commencer on va simplement mettre en commun les fichiers offerts via xdcc et ddl. Pour cela, on va faire pointer un alias web vers un dossier situé dans le dossier de notre utilisateur de home. En effet, dans l'offre kimsufi, l'espace disponible est monté sur "/home" (un petit "df -h" pour voir) et donc afin de profiter pleinement de cet espace, on va l'utiliser pour nos fichiers. Le dossier que l'on utilisera sera le dossier "files" précédemment créé. Après avoir testé différentes configurations, il semble que l'utilisation d'un symlink serait celle qui fonctionne.
On va donc créer un lien reliant "/var/www/nouveau_dossier" à "/home/nom_d'utilisateur/files/" :
Code :
sudo ln -s /home/nom_d'utilisateur/files /var/www/nouveau_dossier
Sources : https://github.com/lrsjng/h5ai/issues/167
http://stackoverflow.com/questions/91043...-in-ubuntu

Et on va voir si tout fonctionne bien :
Code :
cd /home/nom_d'utilisateur/files/
mkdir bidule
cd bidule
nano test.txt
cd /
chown -R nom_d'utilisateur: /home/nom_d'utilisateur/files
chmod -R 775 /home/nom_d'utilisateur/files
Hop, on met ce qu'on veut et on enregistre, on reboot, puis on va voir l'url suivante : "IP_de_la_machine/nouveau_dossier".
Et ça devrait être bon :)

Et pour l'ajout du listing web, on va donc utiliser XDCCParser-global

Vous vous connectez en root via ftp à votre machine et vous balancez ça dans "/var/www".
On se connecte en root via ssh et hop :
Code :
cd /var/www
unzip XDCCParser-global-master.zip
rm XDCCParser-global-master.zip
cd XDCCParser-global-master
chmod 777 templates_c
chmod 777 cache

Puis on édite le mot de passe admin :
Code :
nano admin.php

Et on modifie les lignes suivantes :
Code :
//set your user and password here
define('ADMIN_USER', "changeme");
define('ADMIN_PASS', "yougonnagethackedifyoudont");

Maintenant si vous vous rendez sur la page web : "ip_du_serveur/XDCCParser-global-master/admin.php" vous pouvez ajouter votre bot :
- Add a new bot

- Nick : mybotDCC
- Access URI : /home/le_nom_que_vous_voulez/iroffer/mybot.txt

- Submit

Et donc maintenant en vous rendant sur "ip_du_serveur/XDCCParser-global-master/" vous avez le listing tout beau :)
Note : Les fichiers trop petits ou txt ne sont pas pris en compte.

Vous pouvez modifier le nom de dossier XDCCParser-global-master avec la commande suivante :
Code :
mv /var/www/XDCCParser-global-master /var/www/nouveau_nom
Et vous avez donc un accès via "ip_du_serveur/nouveau_nom/". (après un ti reboot :) )

Vous pouvez aussi mettre des sous-dossiers, le réglage par défaut de la config irc prend en charge les fichiers dans un sous-répertoire :
Code :
include_subdirs


On sécurise un peu le serveur :

On reboot et on se connecte en root.

On change des paramètres afin "d'augmenter" la sécurité de la machine. On édite donc le fichier de configuration ssh (ce par quoi on est connecté en ce moment avec putty) :
Code :
nano /etc/ssh/sshd_config

Vous modifiez les lignes :
Port 2653 #(par exemple)
PermitRootLogin no
Note : N'utilisez pas votre pad numérique qui est reconnu en temps que pavé de touches directionnelles.

[Image: attachment.php?aid=6157]

Vous faites "CTRL+x" pour quitter, puis "y" pour sauvez les changements et "entrée" pour garder le même nom de fichier. Ainsi, vous n'utiliserez plus le port commun 22 pour le ssh ce qui évitera les scans sur ce port. Par contre, en empêchant le login en root, cela vous empêchera de vous connecter en root sur le ftp, donc penser à changer ça si vous en avez besoin :)

Il faudra donc vous conecter avec votre second utilisateur sur le bon port avec de passer en root dans la console en utilisant la commande "su".

Note : Si vous suivez le tuto de sorrodje qui est mis dans les liens sources à un moment ^^, il est possible de mettre en place un accès ssh par échange de clefs RSA. Perso non, j'ai assez donné avec le nas et ces fichues clefs et je veux pouvoir me connecter depuis différents ordinateurs sans soucis. Donc je laisse l'accès par mot de passe en place.


Pare-feu iptables :

On passe à la mise en place du pare-feu afin de réguler les connexions. Je vais utiliser la méthode de sorrodje car je la trouve très simple d'utilisation. Il suffit de créer un petit scripts dans lequel les règles sont définies et hop. On peut donc éditer ce fichier comme bon nous semble :) Cela utilise Iptables :
Code :
apt-get install iptables
De même si déjà présent, cela sera notifié.

Le script est le suivant :
Note : Je reprends quasi en copier/coler le script de sorrodje, il se peut que les ports soit à changer !notamment celui du port ssh! et selon la config de la machine.
Les lignes commencant par "#" sont des lignes commentées et ne seront pas exécutées.
Code :
#!/bin/sh  
#/etc/init.d/firewall
### BEGIN INIT INFO
# Provides:      iptables
# Required-Start:
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start:   2 3 4 5
# Default-Stop:       0 1 6
# Short-description:   iptables
# Description:       Firewall
### END INIT INFO  

### RAZ  
iptables -t filter -F
iptables -t filter -X  

### FERMETURE TOTALE PAR DEFAUT
iptables -t filter -P INPUT DROP  
iptables -t filter -P FORWARD DROP  
iptables -t filter -P OUTPUT DROP  

### MAINTIEN DES CONNEXIONS EXISTANTES
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT  
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT  

### AUTORISATION DU LOOPBACK
iptables -t filter -A INPUT -i lo -j ACCEPT  
iptables -t filter -A OUTPUT -o lo -j ACCEPT  

### AUTORISATION DU PING
iptables -t filter -A INPUT -p icmp -j ACCEPT  
iptables -t filter -A OUTPUT -p icmp -j ACCEPT  

### AUTORISATIONS LIEES AUX SERVICES  

# SSH port 22
#iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT  
#iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT  

# SSH port 12345
iptables -t filter -A OUTPUT -p tcp --dport 12345 -j ACCEPT  
iptables -t filter -A INPUT -p tcp --dport 12345 -j ACCEPT  

# DNS
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT  
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT  
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT  

# HTTP
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT  
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT  

# HTTPS
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT  
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT

# HTTP BOT XDCC
iptables -t filter -A OUTPUT -p tcp --dport 8000 -j ACCEPT  
iptables -t filter -A INPUT -p tcp --dport 8000 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 8000 -j ACCEPT  
iptables -t filter -A INPUT -p udp --dport 8000 -j ACCEPT

# IRC PORT
iptables -t filter -A OUTPUT -p tcp --dport 6667 -j ACCEPT  
iptables -t filter -A INPUT -p tcp --dport 6667 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 6667 -j ACCEPT  
iptables -t filter -A INPUT -p udp --dport 6667 -j ACCEPT

Note : Les règles pour les ports 80 et 443 seront utiles pour utiliser les interfaces web dont nous aurons besoin plus tard. Et l'on peut voir les règles pour le port http du bot xdcc renseigné dans le fichier config et aussi un port pour irc. Par défaut, on utilise 6667 normalement, vérifiez ce port si vous avez un soucis de connexion à un serveur irc.

Vous copiez ce script avec vos modifs (12345) dans un clique droit, et on repasse sur putty. Vous tapez :
Code :
nano /etc/init.d/firewall
Et avec un simple clique droit cela va copier le texte dans l'interface. Un "CTRL+x" pour quitter, "y" pour enregistrer les changements et "entrée" pour garder le nom de fichier.

On passe le script en mode exécutable avec la commande suivante :
Code :
chmod +x /etc/init.d/firewall

Le script sera peut-être démarré automatique à chaque démarrage ou alors pour le démarrer manuellement il faut faire :
Code :
/etc/init.d/firewall

Sinon, afin de lancer ces règles à chaque redémarrage de la machine, il faut donc les activer et ensuite :
Code :
update-rc.d firewall defaults

Vous obtiendrez le message suivant :
Code :
update-rc.d: using dependency based boot sequencing
Il ne s'agit pas d'une erreur mais d'un message d'information
Source : https://lists.debian.org/debian-user/201...00120.html

Et le script sera lancé à chaque démarrage.


Bannissement sous échec d'identification, fail2ban :

Pour compléter ce pare-feu, on va installer un ti truc afin de bannir automatiquement pour une certaine durée ce qui pourrait s'être perdu devant notre porte. On va utiliser fail2ban pour faire ça :
Code :
apt-get install fail2ban

On configure fail2ban pour se caler sur le port ssh qu'on spécifié auparavant :
à la ligne concernant le port ssh, on change pour le bon :
Code :
nano /etc/fail2ban/jail.conf

[Image: attachment.php?aid=6158]

Vous enregistrez tout ça et c'est bon o/ Vous pouvez tester en faisant plus de 6 essais manqués :D


Installation du client torrent, transmission-daemon :

Bon bon, c'était bien toute cette mise en place mais on a aussi envie de passer à l'installation de la seedbox ! Alors hop, c'est parti o//
On reste en mode "root" et on installe transmission, le client p2p :
Code :
apt-get install transmission-daemon
Une fois accepté l'installation, c'est tout bon. Pas trop dur hein :)

On peut voir que transmission est bien installé et est en fonction :
Code :
ps aux | grep transmission

ou tout simplement avec :
Code :
/etc/init.d/transmission-daemon status

On va maintenant configurer le client p2p transmission mais pour cela il faut l'arrêter au préalable :
Code :
/etc/init.d/transmission-daemon stop

On peut vérifier que c'est bien le cas avec :
Code :
/etc/init.d/transmission-daemon status

Si ce n'est pas le cas, on peut utiliser la commande :
Code :
service transmission-daemon stop

On va maintenant associer l'utilisateur supplémentaire qu'on a créé plus tôt à transmission. Cela afin de lui donner les droits de télécharger et échanger. On inclut donc notre utilisateur dans le groupe de transmission :
Code :
usermod -a -G debian-transmission nom_d'_utilisateur

Puis on crée un dossier pour stocker les fichiers en cours de transert :
Code :
mkdir /home/nom_d'utilisateur/files/incomplete

Une fois cela fait, on édite le fichier de configuration de transmission :
Code :
nano /etc/transmission-daemon/settings.json

Et on modifie les lignes suivantes :
Code :
"download-dir" : "/home/nom_d'utilisateur/files", #Chemin dans lequel les fichiers terminés seront enregistrés.
"incomplete-dir" : "/home/nom_d'utilisateur/files/incomplete", #Chemin dans lequel les fichiers  temporaires seront stockés.
"incomplete-dir-enabled" : true, #Permet d’activer la séparation des fichiers téléchargés et incomplets.
"rpc-authentication-required": true, #Active l’authentification pour le contrôle distant.
"rpc-enabled": true, #Active le contrôle à distance.
"rpc-password": l000lc4ts #Choisir le mot de passe pour l’accès distant (remplacer par ce que vous voulez).
"rpc-port": 9091, #Port pour l’accès distant.
"rpc-username": Chatsmarrants #un pseudo
"rpc-whitelist-enabled": false, #Desactiver la liste blanche pour se connecter de partout.
Note : Vous pouvez utiliser le compte préalablement créé, c'pas le mieux mais au moins moins de mot de passe ^^
Puis vous enregistrez les changements dans le fichier.

On redémarre transmission :
Code :
service transmission-daemon start

Et maintenant si on se connecte à
Code :
http://ip_de_la_machine:9091/transmission/web
Ba on obtient une erreur :D Et oui, il faut configurer le pare-feu pour autoriser cela :)
On ajoute donc les règles qu'il faut dans le fichier de configuration diptables :
Code :
nano /etc/init.d/firewall

Et on ajoute tout en bas de fichier :
Code :
# Transmission-daemon
iptables -t filter -A OUTPUT -p tcp --dport 9091 -j ACCEPT  
iptables -t filter -A INPUT -p tcp --dport 9091 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 51413 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 51413 -j ACCEPT
iptables -t filter -A OUTPUT -m owner --gid-owner debian-transmission -j ACCEPT
Note : On peut remarquer des lignes pour les ports 51413 et 49152 - 65535 en plus. Il s'agit des autres ports sur lesquels transmission communique pour échanger les fichiers. Ces règles ont donc été ajoutées en conséquence.
Puis bien sûr on enregistre les changements.
Source : http://forum.kimsufi.com/archive/index.php/t-10975.html

Et ensuite on donne les droits d'accès au dossier principal de l'utilisateur à transmission :
Code :
chown -R nom_d'_utilisateur:debian-transmission /home/nom_d'utilisateur/files
chmod -R 775 /home/nom_d'utilisateur/files
Note : les droits sont à 775 pour permettre les torrents de se télécharger dans le dossier.

Et on devrait maintenant avoir accès depuis :
Code :
http://ip_de_la_machine:9091/transmission/web
Ou alors un ti reboot :D

[Image: attachment.php?aid=6159]

Vous pouvez alors ajouter vos torrents. Faites un essai pour voir si tout va bien. Et vous pouvez voir vos fichiers via l'url : "IP_de_la_machine/nom_d'_utilisateur"
Pour l'exploration web.

Sources : http://www.experience2geek.com/?p=4113
http://sorrodje.alter-it.org/index.php?a...ansmission
http://ubuntuforums.org/showthread.php?t...st11612949
http://blog.idleman.fr/billet-invite-cre...pberry-pi/


Mise en place d'un accès par mot de passe pour l'exploration web des fichiers :

Bon bon bon, voilà une première partie de faite. On va mettre en place un accès par mot de passe à un dossier. Cela peut-être bien utile si vous voulez pas laissez tout ça ouvert à tous :)
Du tuto source : http://httpd.apache.org/docs/2.4/howto/auth.html (en français !!)
et : https://www.feralhosting.com/faq/view?question=22

Note : pour activer les modules d'apache, vous pouvez tapez :
Code :
a2enmod
*
L'étoile permettra l'activation de tous les modules. Est ce bon à faire ? Je ne sais pas mais hop.
Il vous faudra ensuite redémarrer apache :
Code :
service apache2 restart
Note bis : je suis en train de refaire ce tuto pour voir si tout fonctionne enfin, et je ne me souviens absolument pas du tout du pourquoi de cette note mais comme par la suite j'utilise la mise en place d'un accès par mot de passe via apache, je vais activer tout cela :)

On commence par créer un mot de passe pour notre utilisateur. Il faudra stocker ce fichier dans un repertoire hors zone "web" histoire qu'ils ne puissent pas être accessible facilement. Par exemple : "/usr/local/apache"
On crée donc le dossier déjà, connexion putty en root :
Code :
cd /
mkdir /usr/local/apache
Et on passe à la création du fichier de mot de passe :
Code :
htpasswd -c /usr/local/apache/passwords nom_d'_utilisateur
Il vous sera alors demandé le mot de passe.

On va utiliser un fichier .htaccess même si l'utilisation du fichier httpd.conf est conseillé car on a la main totale sur le serveur. Mais après du temps de recherche, je n'ai pas trouvé de contenu défaut concernant ce fichier. Et le tuto que je suis ne donne que les lignes à ajouter.

Il faut paramétrer la configuration du serveur afin de permettre l'utilisation de ce fichier :
Code :
nano /etc/apache2/sites-available/default
Et on change la portion :
Code :
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>
"AllowOverride None" devient "AllowOverride All"
On enregistre les changements.

Puis :
Code :
/etc/init.d/apache2 restart

Dans notre dossier dont on veut mettre un mot de passe, un va donc créer ce fameux fichiers .htaccess. On fait donc :
Code :
mkdir /home/nom_d'utilisateur/files/private
nano /home/nom_d'utilisateur/files/private/.htaccess
Et vous copiez les lignes suivantes (en changeant le nom d'utilisateur...) :
Code :
AuthType Basic
AuthName "Restricted Files"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwords
Require user nom_d'_utilisateur

On enregistre les changements.
Code :
/etc/init.d/apache2 restart
Pour appliquer les changements.

Pour autorisez plusieurs comptes, une des méthodes consiste à modifier la ligne
Code :
Require user nom_d'_utilisateur
par
Code :
Require valid-user
dans le fichier .htaccess.

Et pour créer un nouvel utilisateur, on fait :
Code :
htpasswd /usr/local/apache/passwords nouveau_compte
Note : il n'y a pas de "-c" dans la ligne de commande ce coup ci ;-)

Pour supprimer un compte, supprimez la ligne correspondante dans le fichier :
Code :
nano /usr/local/apache/passwords

Code :
/etc/init.d/apache2 restart
Pour appliquer les changements.

Le fichier .htaccess mets les droits récursivement. Ainsi, si vous voulez donner d'autres droits à un dossier contenu dans le dossier de départ, il vous suffit de lui créer un fichier .htaccess dedans et d'autoriser les utilisateurs comme précédemment. Utilisez aussi un autre fichier pour contenir les mots de passe.

Note : il faut voir à donner les bons drois d'accès aux fichier .htaccess.
Code :
chmod 755 /home/nom_d'utilisateur/files/private/.htaccess
Sinon ça marche pas.

Vous pouvez ajouter des fichiers par ftp à ce dossier ou alors changer le dossier de réception dans les paramètres de l'interface web de transmission pour cibler les fichiers à mettre là bas. Par contre, si vous avez activé les sous dossiers dans la config du bot, ces fichiers seront listés et il faudra alors changer le fichier config afin de régler ça. Pour moi et la suite du tuto, je me servirait de "xdcclist" comme nom de dossier.


Mise en place de l'https pour l'explorateur de fichier web :

Et puis afin qu'on ne puisse pas savoir ce qui transite via notre interface web et bin on va ajouter du ssl. On va donc mettre en place la connexion par ssl afin d'avoir une connexion chiffrée entre nous et le serveur. Cela a l'air d'être pas trop trop compliqué à mettre en place selon le guide de debian : https://wiki.debian.org/Self-Signed_Certificate

Hop on y va, on reboot en root et on installe openssl si c'est pas déjà fait :
Code :
cd /
apt-get install openssl

S'il n'était pas déjà activé :
Code :
a2enmod ssl

Maintenant, on crée le fichier certificat (il s'agit d'un certificat auto-signé, c'est payant d'en obtenir un pour le moment, jetez un oeil à ce projet pour voir où ça en est : https://letsencrypt.org/ cela sera gratuit :) ):
Code :
mkdir -p /etc/ssl/localcerts
openssl req -new -x509 -days 365 -nodes -out /etc/ssl/localcerts/apache.pem -keyout /etc/ssl/localcerts/apache.key
Note : Vous pouvez laisser les champs demandés vides et faire "entrée" pour passer au suivant. On peut aussi changer la durée du certificat dans la seconde ligne de commande : -days "x" avec "x" le nombre de jours.
On pourra ajouter différents dossiers si on veut utiliser différents certificats. Il faut se souvenir de "/etc/ssl/" et "/etc/sss/localcerts" qui gardent les certificats. Il faudra cependant pointer vers le bon dossier plus tard pour la configuration de l'emplacement des certificats.
Note : Il faudra donc renouveler le certificat dans un an. J'espère que j'y penserais quand ça plantera et ferais alors une tite réponse à ce topic ^^

Puis :
Code :
nano /etc/apache2/sites-available/default-ssl

Et dans la section "<VirtualHost _default_:443>", vous ajoutez :
Code :
ServerName example.com:443
Juste après l'email de l'administrateur serveur. Et en changeant "example.com" par l'ip du serveur.

[Image: attachment.php?aid=6160]

Puis vous recherchez les lignes suivantes et modifiez pour :
Code :
SSLEngine on
SSLCertificateFile /etc/ssl/localcerts/apache.pem
SSLCertificateKeyFile /etc/ssl/localcerts/apache.key
La première est séparée des suivantes mais juste au-dessus ;-) Et vous remplacez les chemins des fichiers pem et key selon la commande un poil plus haut.
Vous enregistrez les changements dans le fichier.

[Image: attachment.php?aid=6161]

Puis :
Code :
a2ensite default-ssl
On note la remarque, c'est utile :)
Code :
To activate the new configuration, you need to run:
service apache2 reload
(on le fait donc...)

Maintenant, si vous vous connectez sur
Code :
https://IP_de_la_machine
Il vous sera demandé d'accepter un certificat :) Vous l'acceptez et conservez cette autoristaion sinon il faudra l'accepter à chaque fois.

Tout cela est bien mais l'on peut encore visiter la page alors qu'on est pas en https, pour modifier ça globalement :
Code :
nano /etc/apache2/sites-available/default
Et vous ajoutez
Code :
SSLRequireSSL
dans la première section de "Directory".

[Image: attachment.php?aid=6162]

Voilà, maintenant il est obligatoire de se connecter par https :)

Par contre on peut voir que l'index des fichiers n'utilise plus h5ai, afin de palier à ceci :
Code :
nano /etc/apache2/sites-available/default-ssl
Et vous ajoutez la ligne suivante dans la première section directory :
Code :
DirectoryIndex index.html index.php /_h5ai/server/php/index.php
On enregistre les changements.

[Image: attachment.php?aid=6163]

Puis :
Code :
/etc/init.d/apache2 restart

Afin que h5ai prenne en compte le htacess en https, il faut aussi éditer le fichier suivant :
Code :
nano /etc/apache2/sites-available/default-ssl
Et on change la portion :
Code :
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>
"AllowOverride None" devient "AllowOverride All"
On enregistre les changements.

Un ti reboot et hop.

On peut voir par contre que ça merde pour le listing des fichiers "https://ip_du_serveur/xdcclist". Cela car les scripts javascript et le css ne sont pa directement dans le code mais sont appelés via leur adresse. Et cela n'appelle pas sur du https et donc ça ne prend pas cela en compte (de ce que j'ai compris) : http://www.reddit.com/r/webdev/comments/...abling_my/

[Image: attachment.php?aid=6164]

Si on fait un clique droit et voir le code source de la page, j'obtiens :

[Image: attachment.php?aid=6165]

On voit donc que certains fichiers sont appelés via leur adresse http et non pas https.

Texte caché qui ne fonctionnait pas au final (Cliquer pour cacher)

Cette méthode par contre, oui :
Alors au final avec l'https j'ai toujours eu des problèmes, cela s'est résolu en changeant dans le fichier "index.php" :
Code :
//figure out url, if needed.
if(!URL) {
    $uri = explode("/",$_SERVER['REQUEST_URI']);
    array_pop($uri);
    define('_URL', "https://".$_SERVER['SERVER_NAME'].implode("/",$uri)."/");
} else {
    define('_URL', URL);
}

Le petit rajout d'un "s" à http et tout à l'air de fonctionner.

Si vous avez des soucis pour uploader un torrent avec un "error permission denied" ou une erreur de permission via ftp, revoyez les permissions du dossier de réception :
Code :
chown -R nom_d'_utilisateur:debian-transmission /var/www/nom_d'_utilisateur
chmod -R 775 /var/www/nom_d'_utilisateur

On n'oublie pas de remettre la connexion en root via ssh à "no" si on s'arrête là, sinon on laisse, on va en avoir besoin pour la suite :)

Liens de tutos ayant servis : http://www.debian-administration.org/art...th_Apache2
https://www.digitalocean.com/community/t...untu-12-04
https://wiki.debian.org/Self-Signed_Certificate
http://askubuntu.com/questions/51840/ssl...is-missing
http://softwareinabottle.wordpress.com/2...ntudebian/
http://serverfault.com/questions/429634/...irectories


Mise en place d'un vpn sur les connexions de transmission :

Donc c'est bien on a mis le https sur les fichiers mais cela n'affecte pas transmission et comme dans nos pays il est d'usage de vouloir chiffrer ses communications, on va faire de même pour transmission. Et donc on prend un vpn et on faire transiter les protocoles d'échange de fichier via cette machine. Je me suis donc servi de mullvad comme service vpn : (je n'ai aps réussi à faire fonctionner ipredator avec cette methode ou la leur).
Le tuto source pour cela est le suivant : https://tech.kanka.ch/index.php/faire-tr...ur-debian/ , un très bon tuto avec beaucoup de commentaires et donc beaucoup de lecture en perspective :)
Pour résumer ce que l'on va faire : on va lier transmission à une adresse lo:1 que l'on va créer et qui aura pour fonction de relier les communications de transmission via le vpn.

On est connecté en root sur la machine via putty. On installe openvpn :
Code :
apt-get install openvpn

On commence par ajouter une nouvelle table de routage :
Code :
echo 1 VPN >> /etc/iproute2/rt_tables

On crée l'interface lo:1, pour cela on édite le fichier suivant :
Code :
nano /etc/network/interfaces

Et on ajoute les ligne suivantes à la fin du fichier avant de l'enregistrer :
Code :
# The secondary loopback network interface
auto lo:1
    iface lo:1 inet static
    address 192.168.0.1
    netmask 255.255.255.255

On se rend sur le site de Mullvad et on récupère les fichiers suivants (perso, je me mets avec une config pour une sortie en Suède) :
- ca.crt
- crl.pem
- mullvad.crt
- mullvad.key
- mullvad_linux.conf

Via FTP, vous mettez tous les fichiers sauf le fichier .conf dans "/etc/openvpn/mullvad/files" et le fichier .conf dans "/etc/openvpn/mullvad" et en même temps vous créez le dossier "/etc/openvpn/mullvad/scripts".

Avant de le copier, on édite le fichier config et il doit ressembler à ceci :
Code :
# Notice to Mullvad customers:
#
# Apart from openvpn, you also need to install the
# package "resolvconf", available via apt, e.g.
#
# For those of you behind very restrictive firewalls,
# you can use our tunnels on tcp port 443, as well as
# on udp port 53.
client

dev tun

proto udp
#proto udp
#proto tcp

route-nopull

remote se.mullvad.net 1194
#remote openvpn.mullvad.net 1194
#remote openvpn.mullvad.net 443
#remote openvpn.mullvad.net 53
#remote se.mullvad.net # Servers in Sweden
#remote nl.mullvad.net # Servers in the Netherlands
#remote de.mullvad.net # Servers in Germany
#remote us.mullvad.net # Servers in the USA

# Tunnel IPv6 traffic as well as IPv4
#tun-ipv6

# Keep trying indefinitely to resolve the
# host name of the OpenVPN server.  Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite

# Most clients don't need to bind to
# a specific local port number.
#nobind

# Try to preserve some state across restarts.
persist-key
persist-tun

# Enable compression on the VPN link.
comp-lzo

# Set log file verbosity.
verb 3

remote-cert-tls server

ping-restart 60

# Allow calling of built-in executables and user-defined scripts.
script-security 2

# Scripts vpn
up /etc/openvpn/mullvad/scripts/up.sh
down /etc/openvpn/mullvad/scripts/down.sh

ping 10

ca /etc/openvpn/mullvad/files/ca.crt
cert /etc/openvpn/mullvad/files/mullvad.crt
key /etc/openvpn/mullvad/files/mullvad.key

crl-verify /etc/openvpn/mullvad/files/crl.pem

Note : Je ne pense pas que ce soit très bon de virer la partie resolve-conf mais comme je n'arrivais pas en la laissant, ba hop. Cela impacte peut-être le dns et peut causer de la perte de sécurité. Si quelqu'un veut m'éclairer :)

Afin que cette configuration se lance automatiquement, il lui faut un chemin depuis le dossier openvpn, pour cela un lien symbolique :
Code :
ln -s /etc/openvpn/mullvad/mullvad_linux.conf /etc/openvpn/client.conf

Et on passe aux scripts up.sh et down.sh :
Code :
nano /etc/openvpn/mullvad/scripts/up.sh

Et dedans on met :
Code :
#! /bin/bash
# This script enables policy routing after the tunnel interface is brought up
# Policy routing is used to make sure response packets go through the tunnel interface
# This is mandatory when your ISP has setup anti-spoofing filters

# Add a default route via tun0 into the VPN routing table
ip route add default dev $1 table VPN

# Pass traffic from lo:1 (192.168.0.1) to the VPN routing table, using policy routing ("ip rule" commands)
ip rule add from 192.168.0.1/32 table VPN

# Pass traffic from tur0 IP address to the VPN routing table
ip rule add from $4/32 table VPN

#sed -i 's/\(\"bind-address-ipv4\":\).*/\1\ \"'"$4"'\",/' /etc/transmission-daemon/settings.json

#On ajoute les regles iptables pour faire le NAT

# Source NAT and destination NAT rules to make sure the incoming and ougoing packets on 192.168.0.1 are $
iptables -A PREROUTING -t nat -i $1 -p tcp --dport 1194 -j DNAT --to 192.168.0.1
iptables -A PREROUTING -t nat -i $1 -p udp --dport 1194 -j DNAT --to 192.168.0.1
iptables -A POSTROUTING -t nat -o $1 -j MASQUERADE
# Allow session continuation traffic
iptables -A INPUT -i $1 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Allow Bittorrent traffic via tun0
iptables -A SERVICES -p tcp --dport 51413 -j ACCEPT # rTorrent random range
iptables -A SERVICES -p udp --dport 51413 -j ACCEPT # DHT
iptables -A OUTPUT -m owner --gid-owner debian-transmission -j ACCEPT

# Disallow BitTorrent traffic via eth0 - Just to be extra safe ;)
iptables -A FORWARD -s 192.168.0.1/32 -o eth0 -j DROP

#Demarrage de transmission
/etc/init.d/transmission-daemon restart

#Demarrage du script verifiant que le VPN est toujours actif
killall checkVPN
/usr/bin/checkVPN &

Vous enregistrez ça.

On voit une chaîne SERVICES qui apparaît, elle doit être créée dans notre fichier iptables (et on va en profiter pour virer les lignes du client torrent et ajouter celle pour le vpn) donc :
Code :
nano /etc/init.d/firewall
Et en début de fichier on ajoute :
Code :
iptables -N SERVICES

[Image: attachment.php?aid=6166]

Puis on désactive lignes suivantes en fin de fichier :
Code :
#iptables -A INPUT -p tcp --dport 51413 -j ACCEPT
#iptables -A OUTPUT -p tcp --dport 51413 -j ACCEPT
#iptables -t filter -A OUTPUT -m owner --gid-owner debian-transmission -j ACCEPT

Et on met à la place :
Code :
# VPN
iptables -t filter -A OUTPUT -p udp --dport 1194 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 1194 -j ACCEPT

Puis on crée le script down.sh :
Code :
nano /etc/openvpn/mullvad/scripts/down.sh

Et on copie ceci avant d'enregistrer :
Code :
#! /bin/sh
# This script disables policy routing before the tunnel interface is brought down

killall checkVPN

/etc/init.d/transmission-daemon stop

#On efface les règles iptables ajoutées

iptables -D FORWARD -s 192.168.0.1/32 -o eth0 -j DROP
iptables -D OUTPUT -m owner --gid-owner debian-transmission -j ACCEPT
iptables -D SERVICES -p udp --dport 51413 -j ACCEPT # DHT
iptables -D SERVICES -p tcp --dport 51413 -j ACCEPT # rTorrent random range
iptables -D INPUT -i $1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -D POSTROUTING -t nat -o $1 -j MASQUERADE
iptables -D PREROUTING -t nat -i $1 -p udp --dport 1194 -j DNAT --to 192.168.0.1
iptables -D PREROUTING -t nat -i $1 -p tcp --dport 1194 -j DNAT --to 192.168.0.1

# Remove rule for the secondary loopback IP address (192.168.0.1)
ip rule del from 192.168.0.1/32 table VPN

# Remove rule for tun0 IP address
ip rule del from $4/32 table VPN

Dans le tuto qu'on suit, on ajoute un ti script qui vérifie que openvpn fonctionne toujours bien afin de couper transmission si ce dernier a lâché et qu'il ne l'a pas vu :)
Code :
nano /usr/bin/checkVPN

Et on met ceci :
Code :
#! /bin/bash

#On fait un ping vers www.google.com toutes les 5min, et si aucun paquet n'est reçu en retour (0 packets received, le 0 étant à la position 23 sur la ligne venant de ping) on relance le VPN
#

while [ 1 > 0 ]; do
        sleep 300
    T=`ping -I 192.168.0.1 -c 1 80.67.169.12 |grep "packets transmitted"`
    if [[ ${T:23:1} != "1" ]]
    then
        /etc/init.d/openvpn restart
    fi
done
Note : L'adresse ip 80.67.169.12 correspond à une adresse dns de FDN, dans le tuto original, il est mis http://www.google.com, je préfère éviter de faire venir google :)

On donne des permissions aux scripts :
Code :
chmod +x /etc/openvpn/mullvad/scripts/up.sh
chmod +x /etc/openvpn/mullvad/scripts/down.sh
chmod +x /usr/bin/checkVPN

On dit à openvpn de lancer la bonne config au démarrage, dans le fichier :
Code :
nano /etc/default/openvpn

Vous changez la ligne :
Code :
AUTOSTART="client"

Maintenant, afin que transmission soit relier à l'adresse lo:1 qu'on a crée, il faut éditer sa config. On commence par arrêter le client et on édite la configuration :
Code :
service transmission-daemon stop
nano /etc/transmission-daemon/settings.json

Et on change les lignes :
Code :
"bind-address-ipv4": "192.168.0.1",
"bind-address-ipv6": "fe80::",

On reboot et tout devrait fonctionner. On prie très fort le Dieu de la bière pour ça :)

Bon on dirait qu'on a pas encore assez prié, alors reprenez une bière et continuons ^^
SI vous vous connectez en root via putty et tapez "ifconfig", vous pouvez voir que tun0 est bien là, lo:1 aussi, tout à l'air bien mais les torrents n'ont pas de sources. On va donc se penchez sur le message de mullvad qui était présent en haut du fichier configuration.

Code :
apt-get install resolvconf

Puis on édite le fichier "nano /etc/openvpn/mullvad/scripts/up.sh" et vers la fin on ajoute :
Code :
#Resolveconf mullvad
/etc/openvpn/update-resolv-conf

Puis le fichier "nano /etc/openvpn/mullvad/scripts/down.sh" et à la fin on met :
Code :
#Resolveconf mullvad
/etc/openvpn/update-resolv-conf

On reboot.

Et ensuite ça marche pas alors dans le fichier de config du pare-feu on ajoute :
Code :
cd /
nano /etc/init.d/firewall
iptables -A INPUT -m state –state RELATED,ESTABLISHED -p udp –dport 51413 -j ACCEPT
iptables -A OUTPUT -p udp –sport 51413 -j ACCEPT

Et puis là moi ça fonctionne :) Alors je suis bien content :D

Vous pouvez vérifier votre ip torrent à l'aide du site suivant : http://ipleak.net/
Et on note qu'on a une ipv6 détecté alors que transmission ne devrait pas s'en servir suite à notre réglage. On va donc désactiver complètement l'ipv6 :
Code :
nano /etc/sysctl.conf
Et dedans on met à la fin :
Code :
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.lo:1.disable_ipv6 = 1
net.ipv6.conf.tun0.disable_ipv6 = 1

Et hop, ipleak ne nous montre plus d'ipv6 d'annoncé :)


Ajout d'un nom de domaine :

Bon bon, tout fonctionne bien mais taper l'url c'est pas très sexy alors on va ajouter un nom de domaine afin que l'on puisse donner l'url plus facilement. On prend un domaine gratuit en .ovh pasque ça le vaut bien ! C'est gratuit alors ne nous en privons pas, d'autant que j'ai assez confiance en ovh. C'est par ici que ça se passe : http://www.ovh.com/fr/domaines/ (vous êtes bien sûr connecté à votre compte ovh ^^)
Prenez l'option DNS Classique, c'est tout comme les logiciels qui veulent vous intaller des barres de recherches sur votre navigateur, faut faire gaffe !
Vous dites que vous ne voulez pas d'hébergement et hop o// Un domaine gratuit pour 1an o/
Lors du choix des sélection de serveurs DNS, vous indiquez ceux d'ovh pour kimsufi.
Vous acceptez les contrats sans les lire pasque putin vous avez autre chose à foutre et on espère que tout va bien. M'en fou moi, j'ai ma patte de lapin tout fraîche en poche :D
Vous validez la commande gratuitement tout en bas à gauche et :) On retourne donc sur notre machine maintenant :)

On commence par changer un paramètre de Bind, en lui autorisant une écoute globale :
Code :
cd /
cd /etc/bind
nano named.conf.options

Et on modifie :
Code :
listen-on { 127.0.0.1; };
en
Code :
listen-on { any; };
Vous enregistrez et hop.

Maintenant, on récupère l'adresse ip du DNS secondaire lié à notre machine :
Code :
ping -c 3 ns.kimsufi.com
Cela envoie 3 paquets à l'adresse et on peut récupérer l'ip : ici 231.186.33.199

[Image: attachment.php?aid=6167]

Puis toujours dans "/etc/bind" on édite un nouveau fichier :
Code :
nano named.conf.local
Et dedans on ajoute :
Code :
zone "domaine.tld" {
    type master;
    file "/etc/bind/db.domaine.tld";
    allow-transfer {213.186.33.199;};
    allow-query{any;};
    notify yes;
};
Note : Il faut remplacer domaine.tld par votre nom de domaine, tout comme l'ip du DNS.

Puis on crée le fichier "db.domaine.tld" et dedans on met :
Code :
$TTL 86400
domaine.tld.    IN    SOA    ns######.ip-12-124-126.eu. hostmaster.domaine.tld. (
                2013121206  ; serial à changer à chaque modification
                43200       ; refresh, 12h
                3600        ; retry, 1h
                1209600     ; expire
                86400 )     ; negative cache, 24h
domaine.tld.    IN     NS   ns######.ip-12-124-126.eu.
domaine.tld.    IN     NS   ns.kimsufi.com.
domaine.tld.    IN     A    xx.xx.xx.xx
www             IN     A    xx.xx.xx.xx
;
;mail           IN     A    xx.xx.xx.xx
;domaine.tld.   IN     A    xx.xx.xx.xx
;domaine.tld.   IN     MX   10 domaine.tld.
Note : Il faut changer les "domaine.tld" en "votre-nom-de-domaine", le "ns######.ip-12-124-126.eu" doit correspondre au votre et "xx.xx.xx.xx" doit être l'ip de votre machine (dispo via l'amin web de kimsufi.

Puis toujours depuis le répertoire "/etc/bind", on regarde si la zone est bien paramétrée.
Code :
named-checkzone domaine.tld db.domaine.tld

Si c'est "OK", vous pouvez relancer bin :
Code :
service bind9 reload

Maintenant, on paramètre le serveur DNS secondaire de notre machine kimsufi et cela se passe dans l'admin web de kimsufi. Vous vous rendez dans la partie "DNS" (en petit au milieu de l'interface ^^) et vous ajoutez un DNS secondaire.
Il vous sera demandé d'ajouter une entrée avec un code via l'adminnistration web associé à votre nom de domaine.

Une fois cela effectué, il faut faire pointer le nom de domaine vers notre machine. Pour cela, on se rend dans la section "Accueil > Mutualisé > Domaines & DNS > Zone DNS" et vous ajoutez un champ A.
Vous laissez le champ de sous-domaine vide et choisissez une destination personnalisée pour l'ip et vous rentrez l'ip de votre machine.

Et il vou faut aussi un CNAME qui relie "www" à "nom-de-domaine" :
http://www.nom-de-domaine.ovh
CNAME
nom-de-domaine.ovh

Vous laissez le temps faire, il faut un ti paquet d'heure pour que la résolution DNS soit effective.

Sources : http://www.memoinfo.fr/configurer-serveu...i-ovh.html
http://forum.ovh.com/showthread.php?9713...un-Kimsufi


Design page d'accueil par défaut :

Bon un ti truc à la con pour se reposer, on va changer la page par défaut "It works", histoire de poser une page toute simple à la place.

Et donc rien de plus simple, cette page est dispo via ftp dans le dossier "/var/www" et se nomme "index.html" et elle contient le code suivant :
Code :
<html><body><h1>It works!</h1>
<p>This is the default web page for this server.</p>
<p>The web server software is running but no content has been added, yet.</p>
</body></html>

Vous pouvez changer pour ce que vous voulez en restant dans le html : http://www.w3schools.com/html/

Voilà c'est tout pour le moment, la fin au prochain message ^^ Je pouvais pas faire plus long, surement dû à une limite sur la taille d'une donnée dans la bdd.


Pièce(s) jointe(s) Miniature(s)
                                                                                       

Kirinenko a écrit :Je m'autoquote si je veux, d'abord.
Nyanyanyanyan . . . . . . . . . . . . . . . [Image: chat-moche-27c1d17.gif]
[Image: 4yi3an10-3858b7.gif]
(Ce message a été modifié le : Lundi - 2 Février - 06:11 par Kirinenko.)
Mardi - 23 Décembre - 23:21
WWW Chercher Citer
Kirinenko Hors ligne
Grumeau des Alpes
*******

Administrateurs

Messages : 3'359
Inscription : 25 Oct. 2011

Anime préféré : One Piece
Manga préféré : GTO
Drama préféré : MBMH
Message : #2
RE: Mise en place seedbox, bots xdcc et ddl

Voilà la suite :)

Petit mot :

Alors c'est le moment de faire un peu le point quand même ^^ J'avais quelques autres idées en tête aussi mais elle demande trop pour peu. Comme la connexion par ssl pour irc ou la mise à jour automatique du système. Nous avons déjà là un beau petit système je pense :) Avec une distribution xdcc, torrent et téléchargement direct avec possibilité de streaming dans le navigateur ou VLC et MPC pour lecture aussi des sous-titres présents. Vous pouvez aussi mettre des autorisations spécifiques pour chaque dossier/fichier selon l'utilisateur ou la distrib. Je vais donc maintenant continuer un petit peu pour ajouter un second utilisateur transmission par exemple. Cela peut servir si vous voulez être deux sur la machine. Vous pouvez définir des dossiers de réception différents, vous aveez des accès web différents pour transmission et les fichiers, etc :)


Ajout d'une autre instance transmission :

Tuto ayant servi : http://www.experience2geek.com/?p=4144

Sur la base de l'installation de transmission, et comme on veut séparer ces deux utilisateurs afin de ne pas donner d'accès aux noms de fichiers de l'un à l'autre ; on commence par créer un nouvel utilisateur avec son propre dossier dans "home".
Code :
useradd -d /home/lautre_nom_que_vous_voulez -m lautre_nom_que_vous_voulez
passwd lautre_nom_que_vous_voulez
cd /home/lautre_nom_que_vous_voulez
mkdir files

Puis on ajoute donc son dossier au listing de h5ai de la même façon que précédemment :
Code :
sudo ln -s /home/lautre_nom_que_vous_voulez/files /var/www/nouveau_dossier_2

On associe le second utilisateur à transmission :
Code :
usermod -a -G debian-transmission lautre_nom_que_vous_voulez

On crée le dossier pour les fichiers en cours de dl :
Code :
mkdir /home/lautre_nom_que_vous_voulez/files/incomplete

On donne les bons droits d'accès aux dossiers :
Code :
chown -R lautre_nom_que_vous_voulez:debian-transmission /home/lautre_nom_que_vous_voulez/files
chmod -R 775 /home/lautre_nom_que_vous_voulez/files

Puis on crée donc cette nouvelle instance transmission et pour cela, on commence par arrêter puis on copie ce qu'il faut :
Code :
sudo /etc/init.d/transmission-daemon stop

On copie ensuite notre ancienne config de transmission afin de pas tout refaire :
Code :
cp /usr/bin/transmission-daemon /usr/bin/transmission-daemon2
cp /etc/init.d/transmission-daemon /etc/init.d/transmission-daemon2
cp -a /var/lib/transmission-daemon /var/lib/transmission-daemon2
cp -a /etc/transmission-daemon /etc/transmission-daemon2
cp /etc/default/transmission-daemon /etc/default/transmission-daemon2
ln -sf /etc/transmission-daemon2/settings.json /var/lib/transmission-daemon2/info/settings.json

Puis on configure un peu des fichiers :
Code :
nano /etc/init.d/transmission-daemon2
Et à la ligne "NAME=..." vous changez pour
Code :
NAME=transmission-daemon2

Puis on édite les paramètres de la seconde instance :
Code :
nano /etc/transmission-daemon2/settings.json

Et on change les ligne suivantes :
Code :
"incomplete-dir": "/home/lautre_nom_que_vous_voulez/files/incomplete,
"incomplete-dir-enabled": true,
"download-dir": "/home/lautre_nom_que_vous_voulez/files",
"peer-port": 51414,
"rpc-password: "MotDePassePourUtilisateur2″,
"rpc-username": "Utilisateur2″,
"rpc-port": 9092,
"rpc-whitelist-enabled": false,

On modifie ensuite :
Code :
nano /etc/default/transmission-daemon2

Et on remplace "CONFIG_DIR=/var/lib/transmission-daemon/info" par
Code :
CONFIG_DIR="/var/lib/transmission-daemon2/info"

On update ce nouveau client transmission :
Code :
sudo update-rc.d transmission-daemon2 defaults

Hmmmmmm, j'avais du message d'erreur et comme je ne l'ai pas noté, je me souviens plus mais après du redémarrage et le lendemain ça fonctionnait~ On continue donc ^^"
Bon, en fait après avoir voulu installer une autre instance, le soucis vient du fichier "/etc/init.d/transmission-daemon2", en haut il faut changer une ligne :
Code :
# Provides:          transmission-daemon2

C'est donc en place mais on a aucun accès puisqu'on a pas paramétré les ports dans le pare-feu. Et on va aussi ajouter les règles VPN.
Code :
sudo /etc/init.d/transmission-daemon stop
sudo /etc/init.d/transmission-daemon2 stop

Code :
nano /etc/init.d/firewall
Et on ajoute tout en bas de fichier :
Code :
# Transmission-daemon2
iptables -t filter -A OUTPUT -p tcp --dport 9092 -j ACCEPT  
iptables -t filter -A INPUT -p tcp --dport 9092 -j ACCEPT

Code :
nano /etc/openvpn/mullvad/scripts/up.sh
Et on change dedans :
Code :
# Allow Bittorrent traffic via tun0
iptables -A SERVICES -p tcp --dport 51413 -j ACCEPT # rTorrent random range
iptables -A SERVICES -p udp --dport 51413 -j ACCEPT # DHT
iptables -A SERVICES -p tcp --dport 51414 -j ACCEPT # rTorrent random range
iptables -A SERVICES -p udp --dport 51414 -j ACCEPT # DHT
iptables -A OUTPUT -m owner --gid-owner debian-transmission -j ACCEPT

#Demarrage de transmission
/etc/init.d/transmission-daemon restart
/etc/init.d/transmission-daemon2 restart

Puis l'autre fichier :
Code :
nano /etc/openvpn/mullvad/scripts/down.sh
Et on change ceci avant d'enregistrer :
Code :
/etc/init.d/transmission-daemon stop
/etc/init.d/transmission-daemon2 stop

#On efface les règles iptables ajoutées

iptables -D FORWARD -s 192.168.0.1/32 -o eth0 -j DROP
iptables -D OUTPUT -m owner --gid-owner debian-transmission -j ACCEPT
iptables -D SERVICES -p udp --dport 51414 -j ACCEPT # DHT
iptables -D SERVICES -p tcp --dport 51414 -j ACCEPT # rTorrent random range
iptables -D SERVICES -p udp --dport 51413 -j ACCEPT # DHT
iptables -D SERVICES -p tcp --dport 51413 -j ACCEPT # rTorrent random range
iptables -D INPUT -i $1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -D POSTROUTING -t nat -o $1 -j MASQUERADE
iptables -D PREROUTING -t nat -i $1 -p udp --dport 1194 -j DNAT --to 192.168.0.1
iptables -D PREROUTING -t nat -i $1 -p tcp --dport 1194 -j DNAT --to 192.168.0.1

Et ensuite comme j'ai zappé, dans le fichier de config du pare-feu on ajoute :
Code :
cd /
nano /etc/init.d/firewall
iptables -A INPUT -m state –state RELATED,ESTABLISHED -p udp –dport 51414 -j ACCEPT
iptables -A OUTPUT -p udp –sport 51414 -j ACCEPT

Si on ne veut pas appliquer la connexion VPN pour cette instance de transmission, il ne faut pas modifier les fichiers up et down et modifier les lignes suivantes :
Code :
"bind-address-ipv4": "192.168.0.1",
"bind-address-ipv6": "fe80::",
Dans
Code :
nano /etc/transmission-daemon2/settings.json

Et si vous avez des soucis de permissions de dossier :
Code :
chown -R nom-utilisateur2:debian-transmission /var/www/nom_dossier_maitre/dossier_nom_groupe
chmod -R 775 /var/www/nom_dossier_maitre/dossier_nom_groupe

Note : si vous avez déjà ajoutez des torrents à votre première instance de transmission, ils apparaîtront dans votre connexion sur l'interface web de la seconde. Il suffit de supprimer les torrents de la liste mais PAS leurs fichiers. Leur chemin de dossier défini restant l'ancien et donc ça pointe bien.

Note2 : changer utilisateur de transmission afin de mettre la règle sur le propritaire des communications dans le pare-feu sans que cela n'impacte les instances utilisant le VPN : https://forum.transmissionbt.com/viewtop...=2&t=14836


Ajouter une image à la page de _h5ai :

Je mets ça là aussi car çame fera un souvenir :) Le css de cette page est contenu dans le fichier "/var/www/_h5ai/client/css/styles.css" et dans ce fichier, dans le bloque :
Code :
body{font-family:Ubuntu,Helvetica,Arial,sans-serif;font-size:13px;font-weight:300;color:#555;background-color:#fff;margin:30px}
Il faut ajouter à la fin avant le "}" :
Code :
;background-image:url("nom_image.jpg");background-position: right bottom;background-repeat:no-repeat
Et bien sûr vous l'uploadez à l aplace de l'ancien et vous ajoutez dans le même dossier l'image que vous avez mentionné.ct


Noubliez pas :

Si vous avez tout suivi, on a remis la permission de se loguer en root pour l'accès ftp, remodifiez ça au besoin.


Mot de la fin :

Tartiflette !

Sinon, voici la fin de ce tuto, je suis bien au courant qu'il peut être perfectionné. Pour l'avoir moi même suivi bon nombre de fois et je peux vous dire que je me suis souvent planté quand même, des étapes pourraient être combinées, d'autres zappées, d'autres ajoutées ou commentées un peu plus. Mais maintenant que je suis enfin arrivé ici et que ça fonctionne enfin chez moi, je poste donc tout cela afin qu'on puisse s'en servir au moins comme base. Suivant votre système, vous pouvez adpater cela je pense. Il n'est d'ailleurs pas non plus obligé de tout suivre mais par contre il faut TOUT LIRE. Certaines étapes décrites plus tard peuvent se référer à un autre moment, même si j'ai essayé de limiter cela. Sinon j'espère que cela vous a aidé et si vous avez des soucis, vous pouvez demander, ça ne mange pas de pain, mais une bonne recherche et un poste sur votre solution sera le top ^^ Je laisse à la suite des liens vers des sites web, ils étaient en fin de mon fichier texte alors que je rédigeais ce tuto, j'ai du les lire et comme je els ai copié, je les laisse au cas où. Dernier point, ce tuto est sous WTFPL soit "fait ce que tu veux de cela, rien à carrer".


http://www.guillaume-leduc.fr/recuperer-...edbox.html
http://phil.writesthisblog.com/seedbox-b...nsmission/
http://www.kai23.fr/transformer-serveur-...s-minutes/
https://www.digitalocean.com/community/t...debian-vps
http://www.legeektechno.fr/serveurs/h5ai...index.html
http://actual-it.info/2014/installer-ser...ur-debian/
http://www.nicogiraud.com/blog/installat...mysql.html
http://wiki.rezo-zero.com/index.php/Inst...ous_Debian
http://www.papygeek.com/software/optimis...vec-nginx/
http://httpd.apache.org/docs/1.3/howto/auth.html#intro
https://www.feralhosting.com/faq/view?question=20
https://www.feralhosting.com/faq/view?question=22
http://perishablepress.com/stupid-htaccess-tricks/

Kirinenko a écrit :Je m'autoquote si je veux, d'abord.
Nyanyanyanyan . . . . . . . . . . . . . . . [Image: chat-moche-27c1d17.gif]
[Image: 4yi3an10-3858b7.gif]
(Ce message a été modifié le : Lundi - 29 Décembre - 17:59 par Kirinenko.)
Mardi - 23 Décembre - 23:38
WWW Chercher Citer
Kirinenko Hors ligne
Grumeau des Alpes
*******

Administrateurs

Messages : 3'359
Inscription : 25 Oct. 2011

Anime préféré : One Piece
Manga préféré : GTO
Drama préféré : MBMH
Message : #3
RE: Mise en place seedbox, bots xdcc et ddl

Mise à jour du dossier général pour les fichiers, il s'agit des dossiers des utilisateurs dans "home", ovh monte le plus gros espace dessus donc il faut pouvoir s'en servir, on est limité à 20Go dans "www/var".
Et mise à jour de l'ajout d'un second utilisateur transmission, c'était un peu le bordel et plein de trucs inutiles.

Kirinenko a écrit :Je m'autoquote si je veux, d'abord.
Nyanyanyanyan . . . . . . . . . . . . . . . [Image: chat-moche-27c1d17.gif]
[Image: 4yi3an10-3858b7.gif]
Lundi - 29 Décembre - 18:00
WWW Chercher Citer
Kirinenko Hors ligne
Grumeau des Alpes
*******

Administrateurs

Messages : 3'359
Inscription : 25 Oct. 2011

Anime préféré : One Piece
Manga préféré : GTO
Drama préféré : MBMH
Message : #4
RE: Mise en place seedbox, bots xdcc et ddl

Alors au final avec l'https j'ai toujours eu des problèmes, cela s'est résolu en changeant dans le fichier "index.php" :
Code :
//figure out url, if needed.
if(!URL) {
    $uri = explode("/",$_SERVER['REQUEST_URI']);
    array_pop($uri);
    define('_URL', "https://".$_SERVER['SERVER_NAME'].implode("/",$uri)."/");
} else {
    define('_URL', URL);
}

Le petit rajout d'un "s" à http et tout à l'air de fonctionner.

Kirinenko a écrit :Je m'autoquote si je veux, d'abord.
Nyanyanyanyan . . . . . . . . . . . . . . . [Image: chat-moche-27c1d17.gif]
[Image: 4yi3an10-3858b7.gif]
Lundi - 2 Février - 06:08
WWW Chercher Citer
Solun Hors ligne
Castor Junior
*


Messages : 43
Inscription : 01 Fév. 2015

Anime préféré : XXXHolic
Manga préféré : XXXHolic
Drama préféré : N/A
Message : #5
RE: Mise en place seedbox, bots xdcc et ddl

Dans la programmation, même une virgule ou un point mal placé et tu perds totalement l'effet escompté, (foi d'ancien étudiant en programmation qu'a pas fait plus d'un an xD)
Lundi - 2 Février - 15:14
Chercher Citer
Kirinenko Hors ligne
Grumeau des Alpes
*******

Administrateurs

Messages : 3'359
Inscription : 25 Oct. 2011

Anime préféré : One Piece
Manga préféré : GTO
Drama préféré : MBMH
Message : #6
RE: Mise en place seedbox, bots xdcc et ddl

Surtout quand comme moi, tu fais ça sur le tas ^^
Toujours à la recherche du petit truc qui m'emmerde ^^

Kirinenko a écrit :Je m'autoquote si je veux, d'abord.
Nyanyanyanyan . . . . . . . . . . . . . . . [Image: chat-moche-27c1d17.gif]
[Image: 4yi3an10-3858b7.gif]
Lundi - 2 Février - 15:36
WWW Chercher Citer
Kirinenko Hors ligne
Grumeau des Alpes
*******

Administrateurs

Messages : 3'359
Inscription : 25 Oct. 2011

Anime préféré : One Piece
Manga préféré : GTO
Drama préféré : MBMH
Message : #7
RE: Mise en place seedbox, bots xdcc et ddl

Cela fera aussi note pour moi, de temps en temps j'ai la conexion avec le vpn qui lâche et cela ne se remet pas automatiquement (alors que ça devrait mais bon), rendez vous en root via putty et lancez la commande :
Code :
/etc/init.d/openvpn restart

Et hop les bananas.

Kirinenko a écrit :Je m'autoquote si je veux, d'abord.
Nyanyanyanyan . . . . . . . . . . . . . . . [Image: chat-moche-27c1d17.gif]
[Image: 4yi3an10-3858b7.gif]
Samedi - 14 Mars - 00:26
WWW Chercher Citer
tocks Hors ligne
Jeune recrue


Messages : 2
Inscription : 10 Avr. 2015

Anime préféré :
Manga préféré :
Drama préféré :
Message : #8
RE: Mise en place seedbox, bots xdcc et ddl

salut, merci beaucoup pour ce tuto hyper complet.

La partie qui intéresse est la partie sur le vpn. Mais je n'arrive jamais a ping google avec mon interface virtuel.

Si tu avais une idée pour me dépanner sa serais super sympat.

Je viens de repartir d'une vm vierge.

Configuration du vpn ok avec option route-nopull activé


Création d'une interface
Code :
lo:1      Link encap:Boucle locale  
          inet adr:192.168.10.1  Masque:255.255.255.255
          UP LOOPBACK RUNNING  MTU:16436  Metric:1

Code :
root@debian:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:26:3d:e5  
          inet adr:192.168.0.57  Bcast:192.168.0.255  Masque:255.255.255.0
          adr inet6: fe80::a00:27ff:fe26:3de5/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:768 errors:0 dropped:0 overruns:0 frame:0
          TX packets:501 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:77831 (76.0 KiB)  TX bytes:54720 (53.4 KiB)

lo        Link encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo:1      Link encap:Boucle locale  
          inet adr:192.168.10.1  Masque:255.255.255.255
          UP LOOPBACK RUNNING  MTU:16436  Metric:1

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet adr:46.246.2.252  P-t-P:46.246.2.252  Masque:255.255.255.224
          adr inet6: 2a00:1a28:1166:7::101a/64 Scope:Global
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:26 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:100
          RX bytes:1829 (1.7 KiB)  TX bytes:0 (0.0 B)
[/code]




Ajout d'une table VPN

Code :
echo 1 VPN >> /etc/iproute2/rt_tables

Ajout de la route
Code :
ip route add default dev tun0 table VPN

Ajout des régles :
Code :
ip rule add from 192.168.10.1/32 table VPN
ip rule add from 46.246.2.252/32 table VPN

Les ping :
ping sur l'interface du vpn
Code :
root@debian:~# ping -I 46.246.2.252 www.google.fr
PING www.google.fr (216.58.211.131) from 46.246.2.252 : 56(84) bytes of data.
64 bytes from dub07s01-in-f3.1e100.net (216.58.211.131): icmp_req=1 ttl=56 time=113 ms
64 bytes from dub07s01-in-f3.1e100.net (216.58.211.131): icmp_req=2 ttl=56 time=109 ms
64 bytes from dub07s01-in-f3.1e100.net (216.58.211.131): icmp_req=3 ttl=56 time=110 ms
64 bytes from dub07s01-in-f3.1e100.net (216.58.211.131): icmp_req=4 ttl=56 time=114 ms
64 bytes from dub07s01-in-f3.1e100.net (216.58.211.131): icmp_req=5 ttl=56 time=111 ms

Ping sur l'interface 192.168.10.1

Code :
root@debian:~# ping -I 192.168.10.1 -c 4 www.google.fr
PING www.google.fr (74.125.24.94) from 192.168.10.1 : 56(84) bytes of data.

--- www.google.fr ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3011ms

root@debian:~#

Je ne comprend pas pourquoi cette interface n'arrivent pas a ping google.

Normalement j'ai ajouter les bonnes régles et route.
(Ce message a été modifié le : Vendredi - 10 Avril - 20:02 par tocks.)
Vendredi - 10 Avril - 20:00
Chercher Citer
Kirinenko Hors ligne
Grumeau des Alpes
*******

Administrateurs

Messages : 3'359
Inscription : 25 Oct. 2011

Anime préféré : One Piece
Manga préféré : GTO
Drama préféré : MBMH
Message : #9
RE: Mise en place seedbox, bots xdcc et ddl

Salut à toi Tocks,

Je vais essayer de te répondre au mieux mais je ne suis pas un expert ^^.

Dans les script up.sh je vois qu'il y a
Code :
iptables -A PREROUTING -t nat -i $1 -p tcp --dport 1194 -j DNAT --to 192.168.0.1
iptables -A PREROUTING -t nat -i $1 -p udp --dport 1194 -j DNAT --to 192.168.0.1
iptables -A POSTROUTING -t nat -o $1 -j MASQUERADE
avec $1 correspondant au nom de l'interface du tunnel (tun0 ?).

Essaie en ajoutant ces règles dans iptables (pense à changer l'ip pour la tienne dans les deux premières lignes, de même pour le port).

Edit : Hmmm, par contre l'ip de ton vpn peut changer, perso ça bougeotte pour moi chez Mullvad. Faire une mise en place des règles via des scripts appelés via openvpn comme mis en place dans le tuto pourrait servir.

Kirinenko a écrit :Je m'autoquote si je veux, d'abord.
Nyanyanyanyan . . . . . . . . . . . . . . . [Image: chat-moche-27c1d17.gif]
[Image: 4yi3an10-3858b7.gif]
(Ce message a été modifié le : Vendredi - 10 Avril - 23:29 par Kirinenko.)
Vendredi - 10 Avril - 23:20
WWW Chercher Citer
tocks Hors ligne
Jeune recrue


Messages : 2
Inscription : 10 Avr. 2015

Anime préféré :
Manga préféré :
Drama préféré :
Message : #10
RE: Mise en place seedbox, bots xdcc et ddl

et bien merci pour ton aide, j'ai trouver mon problème.

J'avais une option no-display dans ma conf openvpn.

Sans l'option sa fonctionne.

Merci encore
Lundi - 20 Avril - 16:29
Chercher Citer
Poster une réponse 


Aller à :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)