- Modifié
Salut,
Je ne sais répondre directement à ta question mais sache qu'il existe un Docker complet avec rTorrent et PIA : https://hub.docker.com/r/binhex/arch-rtorrentvpn/
Salut,
Je ne sais répondre directement à ta question mais sache qu'il existe un Docker complet avec rTorrent et PIA : https://hub.docker.com/r/binhex/arch-rtorrentvpn/
En effet, j'avais vu ce conteneur.
Mais rien que Docker CE (Community Edition) n'a pas l'air de se lancer, le système de fichier overlay n'est pas présent mon Kimsufi.
C'est certainement lié au kernel monolithique de OVH.
J'avais du coup essayé d'installer Virtualbox ou Proxmox, mais ils requiert un kernel standard que je n'ai également pas réussit à installer.
Entre temps, j'ai réussit à faire fonctionner le traffic splitting et le script de PIA.
"Il ne me reste plus qu'à me motiver" pour écrire un script qui lance tout dans le bon ordre.
(ça va être un enfer rien qu'à cause des droits utilisateurs)
Salut !
Moi je voulais plutôt faire passer toute ma connexion par mon vpn, et en cas de déconnexion du vpn, arrêter automatiquement rtorrent.
Un petit script trouvé ici permettant de ping l'ip du VPN avait été écrit pour Transmission.
J'ai modifié pour rtorrent et refait un petit tuto.
TUTO :
On installe OpenVPN :
apt-get update && apt-get install openvpn -y
On copie notre fichier OpenVPN (.ovpn) dans son répertoire /etc/openvpn.
On renomme notre fichier OpenVPN de "MON_VPN_ULTRA_SECRET.ovpn" en "client.conf".
On ce retrouve donc avec un fichier client.conf dans /etc/openvpn.
On lance automatiquement ce fichier au démarrage de notre machine :
systemctl enable openvpn@client.service
On stop aussi le démarrage automatique de notre session rtorrent :
systemctl disable USER-rtorrent.service
On prends en compte notre modification :
update-rc.d -f USER-rtorrent remove
On créer un script de lancement :
nano /etc/openvpn/script_start_stop_rtorrent_USER.sh
On y colle :
#!/bin/sh
#while true, creation d'une bloucle sans fin
#CHANGER : IP_ATTRIBUÉ_PAR_VPN & USER-rtorrent
while true
do
sleep 5
#Ping IP_ATTRIBUÉ_PAR_VPN, si pas de réponse, on lance l’arrêt de rtorrent + restart du vpn.
TRANS=$(pgrep rtorrent)
ping -q -c2 IP_ATTRIBUÉ_PAR_VPN > /dev/null
if [ $? -ne 0 ] || [ -z "$TRANS" ]
then
/etc/init.d/USER-rtorrent stop
/etc/init.d/openvpn restart
sleep 20
#Si le ping revient alors on restart rtorrent.
ping -q -c1 IP_ATTRIBUÉ_PAR_VPN > /dev/null && /etc/init.d/USER-rtorrent start
fi
done
**On remplace "USER" par le nom d'utilisateur rtorrent (2fois)
**On remplace "IP_ATTRIBUÉ_PAR_VPN" par l'ip que nous attribue OpenVPN (2fois)
On rend exécutable notre script :
cd /etc/openvpn && chmod 777 script_start_stop_rtorrent_USER.sh
On exécute automatiquement notre script au démarrage de notre machine :
nano /etc/rc.local
On ajoute entre "fi" et "exit0" le chemin de notre script avec "&" à la fin de la ligne :
/etc/openvpn/script_start_stop_rtorrent_USER.sh &
On reboot notre machine et le tour est joué !
Quand notre machine est connectée au VPN (controle avec le ping), la session rtorrent reste active.
Des que notre machine ce déconnecte du VPN (pour n'importe quel raison), la session rtorrent ce stop et le service openvpn ce relance en boucle jusqu’à avoir un connexion validée sur le VPN (encore une fois, grâce au test du ping sur l'ip VPN attribué) puis relance automatiquement la session rtorrent.
Fonctionne parfaitement chez moi :=)
Salut, il y a quelques années j'ai utilisé ce tuto qui fonctionnait bien, mais depuis quelques temps, j'ai des arrets totals de download, sa commence a download, sa stop pendant 30 min, sa reprend un peu et je remet un peu en cause le tuto qui à surement fait son temps
Une personne à possibilité de proposer une version à jour de ce tuto ?
Merci @CLusmi pour ta maj, mais dans mon cas je souhaite qu'uniquement rtorrent passe par le vpn et non le serveur complet.
Hello !
J'ai sorti la pelle en cette belle journée de confinement pour apporter ma petite pierre.
De mon côté, j'ai réinstallé mon serveur à la mano sur une Debian 10.3 et j'ai remarqué, tout comme vous, que les scripts up et down avaient bien vécu
Les modifications sont mineures mais voilà ce que j'ai:
Script up.sh
#! /bin/sh
# 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
#Créer une chaine iptables nommée SERVICES, renverra un warning sans conséquences si déjà crée. Pour la propreté de la conf. vous pouvez éventuellement supprimer$
/sbin/iptables -N SERVICES
#Obtenir l'adresse IP donne par le VPN tun0, supposer que votre vpn cre une interface de ce nom.
NET_DEV="tun0"
NET_IP="$(command /sbin/ifconfig "${NET_DEV}" \
| command grep 'inet ' \
| command cut -d' ' -f10)"
# Add a default route via <tun0> into the VPN routing table
ip route add default dev tun0 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 tun0 IP address to the VPN routing table
ip rule add from "$NET_IP"/32 table VPN
#On ajoute les regles iptables pour faire le NAT
#Source NAT and destination NAT rules
/sbin/iptables -A PREROUTING -t nat -i tun0 -p tcp --dport 45000:65000 -j DNAT --to 192.168.0.1
/sbin/iptables -A PREROUTING -t nat -i tun0 -p udp --dport 6881 -j DNAT --to 192.168.0.1
/sbin/iptables -A POSTROUTING -t nat -o tun0 -j MASQUERADE
# Allow session continuation traffic
/sbin/iptables -A INPUT -i tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Allow Bittorrent traffic via tun0
/sbin/iptables -A SERVICES -p tcp --dport 45000:65000 -j ACCEPT # rTorrent random range
/sbin/iptables -A SERVICES -p udp --dport 6881 -j ACCEPT # DHT
# Disallow Torrent traffic via enp0s3
/sbin/iptables -A FORWARD -s 192.168.0.1/32 -o enp0s3 -j DROP # ATTENTION au nom de l'interface
#Demarrage de rtorrent
/etc/init.d/<user1>-rtorrent start
/etc/init.d/<user2>-rtorrent start
# etc etc...
#Démarrage du script vérifiant que le VPN est toujours actif
killall checkVPN
/usr/bin/checkVPN &
Script down.sh
#! /bin/sh
# This script disables policy routing before the tunnel interface is brought down
#Trouver l'adresse IP affectée à tun0 par le VPN
NET_DEV="tun0"
NET_IP="$(command /sbin/ifconfig "${NET_DEV}" \
| command grep 'inet ' \
| command cut -d' ' -f10)"
#On arrête le script qui va vérifier l'existence du tunnel VPN
killall checkVPN
#On stoppe rtorrent
/etc/init.d/<user1>-rtorrent stop
/etc/init.d/<user2>-rtorrent stop
# etc etc...
#On efface les règles iptables ajoutées
/sbin/iptables -D FORWARD -s 192.168.0.1/32 -o enp0s3 -j DROP # ATTENTION au nom de l'interface
/sbin/iptables -D SERVICES -p udp --dport 6881 -j ACCEPT # DHT
/sbin/iptables -D SERVICES -p tcp --dport 45000:65000 -j ACCEPT # rTorrent random range
/sbin/iptables -D INPUT -i tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -D POSTROUTING -t nat -o tun0 -j MASQUERADE
/sbin/iptables -D PREROUTING -t nat -i tun0 -p udp --dport 6881 -j DNAT --to 192.168.0.1
/sbin/iptables -D PREROUTING -t nat -i tun0 -p tcp --dport 45000:65000 -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 "$NET_IP"/32 table VPN
# Remove the default route via tun0 from the IPRED routing table
ip route del default dev tun0 table VPN
superboki et Whisper40 dites moi si cela fonctionne pour vous (10 mois plus tard) =D
@+ et surtout, RESTEZ CHEZ VOUS !
Bonjour, une question, si j'installe un vpn (pas un serveur) pour faire transiter la data de mon dédié, n'ais-je pas un risque de ne plus arriver à m'y connecter en ssh/Ftp une fois le vpn activé ?
Merci.
Salut, aucun risque
ah bah pourtant... lol.
J'ai lancé la commande, le vpn c'est connecté, et puis bah... plus aucune réponse du serveur, déconnecté du ssh, ftp et toutes autres interfaces.
J'ai lancé un reboot.
/etc/network/interfaces n'existe plus, quelqu'un pourrait faire une config fonctionnel pour netplan? )
Gkide tu as installé un VPN sur ton serveur, et tu as fait transiter le traffic de ce serveur via ce même VPN ?