Remarque: (2016-02-22) J'ai réalisé que cette configuration fuit les requêtes DNS vers les trackers torrent via le WAN normal, au lieu de l'envoyer via le VPN. J'examine comment résoudre ce problème. Je vais continuer à exécuter ma configuration, car la connexion elle-même utilise correctement le VPN.
Mise à jour: j'ai remarqué que lorsque je paramétrais la transmission pour qu'elle télécharge du jour au lendemain sur le Beaglebone, l'utilisation du processeur passait à 100% après un certain temps. Cela ne semble pas se produire après la même période de temps, parfois c'est bien toute la nuit, d'autres fois, il se débat après 10 minutes. Il peut également récupérer en mettant en pause tous les torrents et en attendant que la charge du processeur revienne à la normale, puis en redémarrant. J'enquête toujours. Une solution de contournement pourrait être de faire une pause et de reprendre périodiquement les torrents, bien que ce ne soit pas une très bonne solution de contournement.
Notez que ce problème ne s'applique qu'au Beaglebone et probablement aux autres appareils ARM. Je n'ai jamais eu ce problème sur un processeur x86.
introduction
J'ai développé et testé cette solution pour Ubuntu 14.04, fonctionnant sur un BeagleBone Black. Le fournisseur VPN que j'utilise s'appelle ibVPN . Cela devrait fonctionner avec tout matériel pris en charge (c'est-à-dire sur un ordinateur x86 "normal"), avec n'importe quel fournisseur VPN compatible OpenVPN - et devrait probablement fonctionner pour 14.10 ou version ultérieure. À un moment donné, je pense qu'Ubuntu utilisera SystemD pour le démarrage, ce qui signifie que les scripts Upstart utilisés ici devront être migrés. Mise à jour: Jonas Kalderstam a une réponse ci-dessous pour utiliser SystemD. Je suppose également que ufw est utilisé comme pare-feu, si vous utilisez quelque chose de différent, les commandes ufw devront être modifiées.
Je suppose que tout le travail se fait via une connexion SSH au système, bien que cela fonctionnerait aussi bien s'il était tapé dans un terminal physique.
Ceci est un assez long tutoriel, veuillez tout d'abord le lire et assurez-vous que vous êtes à l'aise avec ce que vous allez faire.
J'ai également remarqué que la transmission ne se lie pas correctement à une adresse IP pour envoyer des données UPnP / NAT-PMP - c'est-à-dire que les données du torrent passent correctement par le VPN, mais si la redirection de port UPnP est activée, la transmission demandera la redirection de port du routeur local , pas via le VPN du serveur VPN. Par conséquent, j'ai désactivé le transfert de port par le script Upstart, car il peut sembler avoir fonctionné, mais ce n'est pas le cas. Il devrait être possible d'utiliser iptables et iproute pour forcer tout le trafic provenant de l'utilisateur de la transmission debian via le VPN, mais je suis toujours à la recherche de cela. Cela devrait également fonctionner si la route par défaut a été modifiée pour envoyer toutes les données Internet via le VPN, mais je ne voulais pas le faire car j'utilise également ce serveur pour d'autres choses, et cela entraînerait également toutes les mises à jour du système via le VPN. VPN.Cette question contient des informations supplémentaires si vous voulez vraiment que UPnP fonctionne sur le VPN .
Mise à jour: falk0069 a une astuce fantastique ci-dessous pour aider à encourager UPnP sur le VPN.
Installation et configuration d'OpenVPN
Je vous recommande d'essayer de faire fonctionner votre connexion VPN avec Ubuntu avant d'essayer de la faire fonctionner ici - c'est-à-dire à partir d'un bureau. Cela confirmera que vous avez la configuration correcte et réduira le temps passé à déboguer.
Tout d'abord, installez les packages requis
sudo apt-get install openvpn
Ensuite, créez un répertoire dans lequel stocker les fichiers de configuration. J'utilise / opt / ibVPN, car c'est le fournisseur que j'utilise. Changez-le en ce que vous voulez.
sudo mkdir /opt/ibVPN
La première chose à faire dans ce nouveau répertoire est de créer le fichier de configuration pour exécuter le client VPN. ibVPN fournit un fichier de configuration de base pour les utilisateurs Linux, que je viens juste de copier et de coller.
cd /opt/ibVPN
sudo vim config.ovpn
Copiez et collez votre version modifiée dans vim, en utilisant les paramètres de votre fournisseur VPN. (Pour info, collez le terminal Ubuntu est Ctrl+Shift+V
) Vous devriez pouvoir l'obtenir auprès de votre fournisseur VPN.
remote 888.888.888.888 1194 udp #This address will be different for you
client
dev tap1
resolv-retry infinite
script-security 3 system
explicit-exit-notify 3
persist-key
mute-replay-warnings
ca ibvpn.com.crt
comp-lzo
verb 3
mute 20
ns-cert-type server
fragment 1300
route-delay 2
reneg-sec 0
max-routes 5000
link-mtu 1578
auth-user-pass pass
auth-nocache
persist-tun
route-noexec
lport 1195
lladdr 00:FF:11:AA:BB:CC
route-up "/opt/home/openvpn/route-up.sh"
down "/opt/home/openvpn/down.sh"
Pour ceux qui ne connaissent pas vim, appuyez sur Insert
pour taper ou coller du texte, puis appuyez sur Escape
et tapez :wq
pour enregistrer et quitter. Bien sûr, vous n'avez pas besoin d'utiliser vim - n'importe quel éditeur de texte fonctionnera.
J'expliquerai rapidement ce fichier de configuration: les 18 premières lignes spécifient les paramètres spécifiques à utiliser avec le serveur, ceux-ci proviennent d'ibVPN - les vôtres seront probablement légèrement différents si vous avez un fournisseur différent. Les lignes suivantes sont des options modifiées que j'ai spécifiées.
Si votre fichier de paramètres contient des lignes auth-user*
, commentez-les. Pour que cette configuration fonctionne automatiquement, nous devons avoir un fichier avec le nom d'utilisateur et le mot de passe - assurez-vous donc que le mot de passe que vous avez choisi pour le fournisseur VPN est fort, aléatoire et unique.
Le auth-user-pass pass
indique à OpenVPN de rechercher un fichier appelé pass
pour lire l'utilisateur et le mot de passe.
auth-nocache
supprime le mot de passe de la mémoire, ce qui pourrait légèrement augmenter la sécurité si vous en avez peur.
persist-tun
essaiera de garder la même adresse IP du serveur si votre connexion est interrompue, ce qui devrait, espérons-le, signifier moins de démarrage et d'arrêt de Transmission-daemon.
route-noexec
indique au client OpenVPN de ne pas utiliser automatiquement les routes fournies par le serveur - ce qui entraînerait tout le trafic réseau sur le VPN. Nous voulons simplement envoyer du trafic torrent, nous aurons donc besoin d'utiliser différents paramètres de routage.
lport 1195
indique au client OpenVPN d'utiliser le port 1195 au lieu de 1194 - dans mon cas, je veux également exécuter un serveur OpenVPN sur le même appareil, et le serveur devra utiliser le port 1194. Même si vous n'exécutez pas de serveur OpenVPN, il ne fait pas de mal à faire ce changement.
J'ai changé la ligne dev tap
en dev tap1
, pour forcer le périphérique virtuel à être tap1 au lieu d'être attribué par OpenVPN, à nouveau en raison de l'exécution d'un serveur OpenVPN distinct. Même si vous n'exécutez pas de serveur VPN, ce changement ne devrait pas avoir d'importance. Les scripts de pare-feu ont été écrits pour être utilisés tap1
, donc si vous préférez utiliser un autre appareil, n'oubliez pas de modifier ces scripts le cas échéant.
lladdr 00:FF:11:AA:BB:CC
indique à OpenVPN d'attribuer l'interface tap pour avoir cette adresse MAC, ce qui peut être utile pour les règles de pare-feu iptables.
route-up
et down
exécutez des scripts pour démarrer et arrêter le démon de transmission selon les besoins - ceux-ci sont nécessaires ici car ils s'exécutent avec des variables d'environnement contenant des informations sur la connexion, qui sont nécessaires pour lier correctement Transmission à la bonne adresse IP et au bon port.
Dans mon cas, j'avais un certificat de serveur du fournisseur VPN - qui doit également être dans le même répertoire que le fichier de configuration.
sudo vim /opt/ibVPN/ibvpn.com.crt
Copiez et collez cela, ou déplacez-le via SCP ou SSHFS.
-----BEGIN CERTIFICATE-----
MIIDeDCCAuGgAwIBAgIJAMVKgpjMPUfxMA0GCSqGSIb3DQEBBQUAMIGFMQswCQYD
VQQGEwJVUzELMAkGA1UECBMCQ0ExFTATBgNVBAcTDFNhbkZyYW5jaXNjbzEVMBMG
A1UEChMMRm9ydC1GdW5zdG9uMRgwFgYDVQQDEw9Gb3J0LUZ1bnN0b24gQ0ExITAf
BgkqhkiG9w0BCQEWEm1lQG15aG9zdC5teWRvbWFpbjAeFw0xMDA3MjExOTU5MzVa
Fw0yMDA3MTgxOTU5MzVaMIGFMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFTAT
BgNVBAcTDFNhbkZyYW5jaXNjbzEVMBMGA1UEChMMRm9ydC1GdW5zdG9uMRgwFgYD
VQQDEw9Gb3J0LUZ1bnN0b24gQ0ExITAfBgkqhkiG9w0BCQEWEm1lQG15aG9zdC5t
eWRvbWFpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAz23m3BXY5Asiw8Dx
T4F6feqsp+pIx6ivftTniyUCbSAxI1J1s1x75DzxmUpIwPu5xavzgPXgZr8FT81X
JGqF9km4AE95iddJawKx0wNgdTo7GximQq9rw0dsQIB5hZZQ9TJwHC3VOnmEic5A
OawKOCybMcRs8saLakZOgh7Xc+UCAwEAAaOB7TCB6jAdBgNVHQ4EFgQUeRhE2N4l
XwL4H1dbjkZ4ou6fj3AwgboGA1UdIwSBsjCBr4AUeRhE2N4lXwL4H1dbjkZ4ou6f
j3ChgYukgYgwgYUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEVMBMGA1UEBxMM
U2FuRnJhbmNpc2NvMRUwEwYDVQQKEwxGb3J0LUZ1bnN0b24xGDAWBgNVBAMTD0Zv
cnQtRnVuc3RvbiBDQTEhMB8GCSqGSIb3DQEJARYSbWVAbXlob3N0Lm15ZG9tYWlu
ggkAxUqCmMw9R/EwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQASt0pl
WzVseQLTNM8Mlgw4ZnGAv/x2xnijmMqrkE+F7pnaOicGpxgCfMKzjZuJu0TNJqF2
fibE7GhMdomD4dLFgIu8Wb5E7iQ1CSBEOGumRhK8qCsDzjr7WXUdhqA6Xvo+ylU6
DMzy0Wn3NNvfGC+qxOgybYCJwDnVPi0CEDSbzQ==
-----END CERTIFICATE-----
Évidemment, si vous n'utilisez pas de compte ibVPN, votre certificat sera différent.
Faisons maintenant le fichier de mot de passe:
sudo vim /opt/ibVPN/pass
La première ligne doit être le nom d'utilisateur complet, puis la deuxième ligne doit être le mot de passe. Ce doit être le seul contenu de ce fichier.
you@address.com
myBIGstrongpassword1234567890
Nous devons également sécuriser les autorisations sur ce fichier, sinon OpenVPN ne démarrera pas.
sudo chmod 400 pass
Cela rendra le fichier en lecture seule, et uniquement pour le propriétaire (c'est-à-dire qu'aucun autre utilisateur ne peut le lire du tout)
Ces commandes créeront les fichiers à exécuter au démarrage et les définiront pour être exécutables uniquement par root.
sudo touch route-up.sh
sudo touch down.sh
sudo chmod 700 route-up.sh
sudo chmod 700 down.sh
À ce stade, c'est probablement une bonne idée de tester si la connexion VPN fonctionne réellement. Commencez la connexion avec:
sudo openvpn --cd /opt/ibVPN --config config.ovpn
Vous verrez des avertissements indiquant que les commandes externes haut et bas n'ont pas pu être exécutées, mais ne vous en faites pas. Si cela fonctionne, vous verrez Initialization Sequence Completed
sur le terminal. Appuyez sur Control+C
pour mettre fin à la connexion. Si cela ne fonctionne pas, vous devrez rechercher pourquoi et le corriger avant de continuer. J'ai trouvé qu'il fallait parfois quelques coups pour commencer à travailler. Assurez-vous que votre fichier de mot de passe est correct. Il existe de nombreuses ressources sur Internet à propos d'OpenVPN, alors jetez un œil.
À ce stade, il est probablement plus facile de passer à la transmission opérationnelle. Une fois que vous êtes sûr que le VPN et la transmission peuvent fonctionner séparément, ils peuvent être combinés.
Installation et configuration de Transmission
Installez les packages requis:
sudo apt-get install transmission-daemon
Par défaut, la transmission s'exécute automatiquement au démarrage. Étant donné que nous utiliserons finalement OpenVPN pour démarrer la transmission, nous voulons désactiver cela. Pour ce faire, modifiez le fichier de configuration de Transmission-daemon
sudo vim /etc/default/transmission-daemon
Et changez la ligne suivante pour lire:
ENABLE_DAEMON=0
Maintenant, la transmission ne démarre pas au démarrage.
Créons maintenant un répertoire pour que les paramètres de transmission résident et pour que les torrents téléchargés y entrent. Cela suppose que vous avez déjà configuré un disque quelconque et qu'il est monté dans / media / arm-disk /. Pour des raisons de sécurité, le démon sera exécuté par son propre utilisateur plutôt que comme root ou comme "ubuntu". Un nouvel utilisateur est créé par le programme d'installation de transmission-daemon, "debian-transmission". Cet utilisateur doit posséder le dossier que nous créons et avoir un accès en lecture et en écriture à l'emplacement de stockage des torrents en cours de téléchargement.
sudo mkdir /opt/transmission
sudo chown debian-transmission:debian-transmission /opt/transmission
sudo mkdir /media/arm-disk/torrents-complete
sudo chown debian-transmission:debian-transmission /media/arm-disk/torrents-complete
sudo mkdir /media/arm-disk/torrents-incomplete
sudo chown debian-transmission:debian-transmission /media/arm-disk/torrents-incomplete
Maintenant, nous devons commencer la transmission, brièvement, afin qu'il crée le fichier de paramètres dont nous avons besoin:
sudo -u debian-transmission -g debian-transmission /usr/bin/transmission-daemon --config-dir /opt/transmission --foreground
Cette commande démarre transmission-daemon en tant qu'utilisateur debian-transmission, lui indique d'utiliser le répertoire / opt / transmission pour les fichiers de paramètres et lui dit de continuer à s'exécuter au premier plan. Une fois qu'il a fonctionné pendant quelques secondes, appuyez sur Control+C
pour le terminer. Nous pouvons maintenant modifier le fichier de paramètres.
sudo -u debian-transmission vim /opt/transmission/settings.json
Nous devons maintenant modifier les lignes suivantes à partir de leurs valeurs par défaut pour lire:
"download-dir": "/media/arm-disk/torrents-complete",
"incomplete-dir": "/media/arm-disk/torrents-incomplete",
"incomplete-dir-enabled": true,
"rpc-whitelist": "127.0.0.1,192.168.1.*",
Enregistrez et quittez (Escape, tapez: wq et appuyez sur Entrée)
Les deux modifications du milieu permettront l'utilisation du répertoire "incomplet", séparant vos torrents finis de ceux qui ne sont pas terminés. Ce n'est pas tout à fait nécessaire, mais personnellement, je le trouve extrêmement utile. La dernière modification permet à l'interface graphique Web d'être accessible par n'importe quel ordinateur du réseau local (en supposant que votre sous-réseau LAN soit 192.168.1.0, modifiez-le s'il est différent).
C'est maintenant une bonne idée d'exécuter à nouveau Transmission, pour voir si cela fonctionne et peut réellement télécharger un torrent. Nous utiliserons une fenêtre de navigateur Web pour accéder à l'interface graphique et ajouter un torrent. Tout d'abord, autorisons l'accès à l'interface graphique Web via le pare-feu à partir du LAN, puis réexécutez le démon de transmission.
sudo ufw allow in from 192.168.0.0/16 to any port 9091
sudo -u debian-transmission -g debian-transmission /usr/bin/transmission-daemon --config-dir /opt/transmission --foreground
Visitez cette URL dans Firefox (ou le navigateur que vous préférez): http://XXX.XXX.XXX.XXX:9091 , où XXX est remplacé par l'adresse de votre serveur sur le LAN (c.-à-d. 192.168.1.10). Trouvez un torrent à télécharger, par exemple Big Buck Bunny en 1080p60hz. Il s'agit d'un court métrage gratuit, légalement disponible en téléchargement gratuit. Dans l'interface graphique de transmission, cliquez sur le bouton "Ouvrir torrent" et collez ce lien (ou tout autre torrent que vous aimez) dans la première case. Appuyez ensuite sur "Télécharger". Si la transmission fonctionne correctement, le torrent commencera à se télécharger. Si ce n'est pas le cas, vous devrez déterminer pourquoi avant de continuer. Il existe de nombreuses ressources disponibles sur Internet pour utiliser le démon de transmission. Il se peut également que le torrent que vous avez choisi ne fonctionne pas, essayez d'abord quelques autres.
Une fois le téléchargement terminé, appuyez sur Control+C
dans la fenêtre du terminal pour arrêter le démon de transmission.
Configurer la transmission de liaison à l'interface VPN
Faisons maintenant un script Upstart, qui sera utilisé pour démarrer la transmission lorsque le VPN sera prêt.
sudo mv /etc/init/transmission-daemon.conf /etc/init/transmission-daemon.conf.bak
Ne vous inquiétez pas si cela se plaint, c'est juste pour faire une sauvegarde du fichier Upstart, s'il en existait un - il pourrait ne pas en avoir. Ouvrons vim pour éditer le nouveau:
sudo vim /etc/init/transmission-daemon.conf
Collez-le dans l'éditeur:
description "transmission-daemon, attached to OpenVPN tunnel tap1"
start on transmission-daemon-start
stop on runlevel [!2345] or transmission-vpn-down
# This includes the information from OpenVPN into this environment
export LOCAL_IP
env PORT=51413
# give time to send info to trackers
kill timeout 30
# Run as unprivileged user
setuid debian-transmission
setgid debian-transmission
# Start transmission again if it stops for some reason
respawn
# If transmission stops 5 times in a minute, give up trying to respawn it
respawn limit 5 60
exec /usr/bin/nice -15 /usr/bin/transmission-daemon --config-dir /opt/transmission --bind-address-ipv4 $LOCAL_IP --peerport $PORT --no-portmap --foreground
Enregistrez et fermez vim. ( Escape
, puis tapez :wq
). Encore une fois, ouvrez vim:
sudo vim /etc/init/transmission-up.conf
Et collez ceci:
description "Script to create firewall and routing rules for transmission-daemon"
start on transmission-vpn-up
# This includes the information from OpenVPN into this environment
export VPN_GATEWAY
export LOCAL_IP
env PORT=51413
task
script
# Set up IP route, firewall rules
# It doesn't matter if they already exist, they will be skipped
/sbin/ip route add default via $VPN_GATEWAY dev tap1 table 200
/sbin/ip rule add from $LOCAL_IP table 200
/sbin/ip route flush cache
/usr/sbin/ufw insert 1 reject out on eth0 from any port $PORT
/usr/sbin/ufw insert 1 reject in on eth0 to any port $PORT
/usr/sbin/ufw insert 1 deny in on tap1 to any
/usr/sbin/ufw insert 1 allow in on tap1 to any port $PORT proto udp
# Start the actual transmission-daemon process, in a separate task so that unprivileged user/group can be set
/sbin/initctl emit transmission-daemon-start LOCAL_IP=$LOCAL_IP
end script
Encore une fois, enregistrez et fermez vim. ( Escape
, puis tapez :wq
). Finalement:
sudo vim /etc/init/transmission-down.conf
Collez ceci:
description "Script to remove firewall rules for transmission-daemon"
start on runlevel [!2345] or stopping openvpn-transmission
env PORT=51413
task
script
# Take down IP route, firewall rules
# It doesn't really matter if they don't get taken down, but this will be cleaner
/usr/sbin/ufw delete reject out on eth0 from any port $PORT
/usr/sbin/ufw delete reject in on eth0 to any port $PORT
/usr/sbin/ufw delete deny in on tap1 to any
/usr/sbin/ufw delete allow in on tap1 to any port $PORT proto udp
/sbin/ip route flush cache
end script
Ces scripts indiquent à Upstart d'écouter le signal "transmission-vpn-up". Le script "transmission-up.conf" configure ensuite les règles de routage requises pour envoyer le trafic depuis l'adresse VPN locale via l'interface VPN, et définit le pare-feu pour autoriser le trafic du VPN vers le port d'écoute pour la transmission. Le trafic dirigé vers le port d'écoute de Transmission depuis l'interface LAN normale est bloqué. Le script "transmission-daemon.conf" démarre alors transmission-daemon avec les paramètres requis pour le lier à l'adresse IP VPN. Notez que cette commande garantira également que UPnP / NAT-PMP est désactivé - voir ma note en haut sur la redirection de port. Le "nice -15" définit la transmission comme ayant une priorité plus faible, ce que j'ai trouvé utile lors de l'utilisation du BeagleBone spécifié plus bas - parfois la transmission peut monopoliser les ressources, ce qui ralentit le système. Au moins avec une faible priorité, des tâches système plus importantes peuvent toujours s'exécuter. Le script "transmission-down.conf" supprimera les règles de pare-feu lorsque le VPN est arrêté. Trois scripts différents sont utilisés pour que le démon de transmission puisse être exécuté en tant qu'utilisateur non privilégié, mais les règles de pare-feu peuvent être exécutées en tant que root.
Revenons maintenant aux paramètres d'OpenVPN et éditons les scripts "route-up" et "down" pour déclencher le démarrage et l'arrêt de notre script de transmission.
sudo vim /opt/ibVPN/route-up.sh
Collez-le dans vim:
#! /bin/bash
/sbin/initctl emit transmission-vpn-up VPN_GATEWAY=$route_vpn_gateway LOCAL_IP=$ifconfig_local
Tout ce que ce script fait, c'est dire à Upstart que le démon de transmission doit démarrer, et lui donne les informations dont il a besoin pour se connecter à la connexion VPN.
sudo vim /opt/ibVPN/down.sh
Encore une fois, plus de collage:
#! /bin/bash
/sbin/initctl emit transmission-vpn-down
Ce script est encore plus simple - il signale l'arrêt du démon de transmission.
À ce stade, c'est probablement une bonne idée de s'assurer que le propriétaire de l'ensemble du dossier de configuration VPN est l'utilisateur root - puisque ces scripts s'exécutent en tant que root, toute personne qui pourrait les modifier pourrait exécuter tout ce qu'ils voulaient en tant qu'utilisateur root.
sudo chown root:root -R /opt/ibVPN
sudo chmod 700 -R /opt/ibVPN
sudo chmod 400 /opt/ibVPN/pass
Cela signifie désormais que seul l'utilisateur root peut modifier ou afficher les paramètres de connexion VPN.
OK, nous avons presque fini! Testons si notre configuration fonctionne jusqu'à présent:
sudo openvpn --cd /opt/ibVPN --config config.ovpn
Connectez-vous à nouveau à l'interface graphique Web de transmission et reprenez le torrent existant ou ajoutez-en un nouveau. Il devrait pouvoir être téléchargé, peut-être après quelques minutes d'attente pour les pairs. Une façon astucieuse que j'ai trouvée de tester si cela fonctionne ou non est de regarder iftop. Installez iftop et exécutez:
sudo apt-get install iftop
sudo iftop -i tap1
Cet écran affichera toutes les connexions passant par le VPN. Si votre torrent se télécharge et utilise correctement le VPN, il y aura beaucoup d'adresses IP et de noms d'hôtes ici. Regardez également iftop pour la connexion LAN:
sudo iftop -i eth0
Ici, vous devriez voir une grande quantité de trafic vers une seule adresse IP, étant le serveur VPN, puis seulement un trafic minimal vers d'autres périphériques LAN - en supposant que vous n'exécutez pas d'autres services sur votre BeagleBone.
Vous pouvez confirmer que le VPN fonctionne en suivant ces instructions .
Ce site vous permet de télécharger un torrent pour voir l'adresse IP que les autres pairs utilisent pour vous connecter - si tout fonctionne, ce sera l'adresse IP VPN et non votre propre adresse IP WAN.
Si vous rencontrez des problèmes, vous pouvez voir le journal des erreurs Upstart en procédant comme suit:
sudo tail -f /var/log/upstart/transmission-daemon.log
Dans une fenêtre de terminal / SSH distincte, essayez d'exécuter la commande tail tout en démarrant la connexion VPN comme ci-dessus et recherchez les messages d'erreur. J'espère que vous pourrez résoudre le problème en voyant les messages d'erreur, si ce n'est pas fouiller sur Internet, ou poster un commentaire.
Configurez tout pour démarrer automatiquement
Si vous êtes satisfait de lancer manuellement la commande pour démarrer le tunnel OpenVPN, ou si vous voulez le faire avec votre propre script, alors vous avez terminé. Mais je voulais qu'il démarre au démarrage, j'ai donc créé un autre script Upstart pour lancer OpenVPN.
sudo vim /etc/init/openvpn-transmission.conf
C'est la dernière chose que nous devons coller!
description "OpenVPN client, with attached transmission-daemon"
start on started networking
stop on runlevel [!2345] or stopped networking
# Give time for Transmission to send info to trackers, wait for graceful close
kill timeout 45
# Start the OpenVPN tunnel again if it stops for some reason
respawn
# If it stops 5 times in a minute, give up trying to respawn it
respawn limit 5 60
exec openvpn --cd /opt/ibVPN --config config.ovpn
post-stop script
# Pause for a few seconds, before exiting
/bin/sleep 3s
end script
Tout cela ne fait qu'attendre que le système signale que le réseau est prêt, puis il démarrera le tunnel OpenVPN - qui à son tour démarrera la transmission. Lorsque le système est éteint ou si le réseau est arrêté pour une raison quelconque, Upstart supprimera les règles de pare-feu et fermera le démon de transmission. Facile! Cela continuera également à fonctionner après un redémarrage, alors maintenant vous êtes prêt.
Pour interagir avec Transmission, utilisez l'interface graphique Web comme nous l'avons fait pendant la phase de configuration. Il est également possible de rendre l'interface graphique accessible sur Internet, en configurant la redirection de port. Il existe de nombreux didacticiels sur la façon de procéder, donc je ne le répéterai pas ici.
Quant à obtenir les téléchargements terminés du BeagleBone, j'utilise NFS. Je peux obtenir des vitesses d'environ 8 Mo / s en copiant sur le LAN du BeagleBone vers mon ordinateur de bureau - ce qui est assez bon pour un appareil aussi peu énergivore. Ubuntu fournit des informations pratiques pour la configuration de cela.