Nota: (22-02-2016) Mi sono reso conto che questa configurazione perde le query DNS ai tracker torrent attraverso la normale WAN, invece di inviarlo tramite la VPN. Sto studiando come risolvere questo problema. Continuerò a eseguire la mia configurazione, poiché la connessione stessa utilizza correttamente la VPN.
Aggiornamento: ho notato che quando ho impostato Trasmissione per il download durante la notte sul Beaglebone, l'utilizzo della CPU dopo un po 'passa al 100%. Non sembra succedere dopo lo stesso lasso di tempo, a volte va bene per tutta la notte, altre volte fatica dopo 10 minuti. Può anche recuperare mettendo in pausa tutti i torrent e aspettando che il carico della CPU torni alla normalità, quindi ricominciando. Sto ancora indagando. Una soluzione alternativa potrebbe essere quella di mettere in pausa e riprendere periodicamente i torrent, sebbene non sia un'ottima soluzione.
Nota che questo problema si applica solo al Beaglebone e probabilmente ad altri dispositivi ARM. Non ho mai avuto questo problema su una CPU x86.
introduzione
Ho sviluppato e testato questa soluzione per Ubuntu 14.04, in esecuzione su un BeagleBone Black. Il provider VPN che sto usando si chiama ibVPN . Dovrebbe funzionare con qualsiasi hardware supportato (ovvero su un computer x86 "normale"), con qualsiasi provider VPN compatibile OpenVPN - e probabilmente dovrebbe funzionare per 14.10 o versioni successive. Ad un certo punto credo che Ubuntu utilizzerà SystemD per l'avvio, il che significa che gli script Upstart utilizzati qui dovranno essere migrati. Aggiornamento: Jonas Kalderstam ha una risposta qui sotto per l'utilizzo di SystemD. Suppongo anche che ufw sia usato come firewall, se stai usando qualcosa di diverso, i comandi ufw qui dovranno essere cambiati.
Presumo che tutto il lavoro è fatto tramite una connessione SSH al sistema, anche se sarebbe funzionare altrettanto bene se digitato fuori in un terminale fisico.
Questo è un tutorial piuttosto lungo, leggi prima tutto e assicurati di essere a tuo agio con quello che farai.
Ho anche notato che la trasmissione non si lega correttamente a un indirizzo IP per l'invio di dati UPnP / NAT-PMP - vale a dire che i dati torrent passano correttamente attraverso la VPN, ma se il port forwarding UPnP è abilitato, la trasmissione richiederà il port forwarding dal router locale , non tramite la VPN dal server VPN. Quindi ho fatto in modo che lo script Upstart disabilitasse il port forwarding, poiché potrebbe apparire come se avesse funzionato, ma non è così. Dovrebbe essere possibile utilizzare iptables e iproute per forzare tutto il traffico dell'utente di trasmissione debian attraverso la VPN, ma sto ancora esaminando questo. Dovrebbe funzionare anche se il percorso predefinito è stato modificato per inviare tutti i dati Internet tramite la VPN, ma non volevo farlo perché uso questo server anche per altre cose, e questo causerebbe anche il passaggio di tutti gli aggiornamenti di sistema attraverso VPN.Questa domanda contiene ulteriori informazioni se si desidera davvero far funzionare UPnP sulla VPN .
Aggiornamento: falk0069 ha un fantastico suggerimento qui sotto per aiutare a incoraggiare UPnP tramite VPN.
Installazione e configurazione di OpenVPN
Ti consiglierei di provare a far funzionare la tua connessione VPN usando Ubuntu prima di provare a farla funzionare qui, ad esempio da un desktop. Ciò confermerà la corretta configurazione e ridurrà il tempo dedicato al debug.
Innanzitutto, installa i pacchetti richiesti
sudo apt-get install openvpn
Quindi, crea una directory in cui archiviare i file di configurazione. Sto usando / opt / ibVPN, dato che è il provider che sto usando. Cambialo come preferisci.
sudo mkdir /opt/ibVPN
La prima cosa da fare in questa nuova directory è creare il file di configurazione per eseguire il client VPN. ibVPN fornisce un file di configurazione di base per gli utenti Linux, che ho appena copiato e incollato.
cd /opt/ibVPN
sudo vim config.ovpn
Copia e incolla la versione modificata in vim, utilizzando le impostazioni per il tuo provider VPN. (Cordiali saluti, incolla nel terminale Ubuntu è Ctrl+Shift+V
) Dovresti essere in grado di ottenerlo dal tuo provider 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"
Per chi non ha familiarità con vim, premere Insert
per digitare o incollare il testo, quindi premere Escape
e digitare :wq
per salvare ed uscire. Ovviamente, non devi usare vim: qualsiasi editor di testo funzionerà.
Spiegherò rapidamente questo file di configurazione: le prime 18 righe specificano le impostazioni specifiche da utilizzare con il server, queste provengono da ibVPN - le tue probabilmente saranno leggermente diverse se hai un provider diverso. Le righe successive sono opzioni modificate che ho specificato.
Se il tuo file delle impostazioni aveva delle righe auth-user*
, commentale. Perché questa configurazione funzioni automaticamente, dobbiamo avere un file con nome utente e password al suo interno, quindi assicurati che la password che hai scelto per il provider VPN sia forte, casuale e unica.
La auth-user-pass pass
dice OpenVPN per cercare un file chiamato pass
per leggere l'utente e la password.
auth-nocache
rimuove la password dalla memoria, il che potrebbe aumentare leggermente la sicurezza se sei preoccupato.
persist-tun
proverà a mantenere lo stesso indirizzo IP dal server se la connessione si interrompe, il che dovrebbe significare meno avvio e arresto del daemon di trasmissione.
route-noexec
dice al client OpenVPN di non utilizzare automaticamente le rotte fornite dal server, il che porterebbe tutto il traffico di rete sulla VPN. Vogliamo solo inviare traffico torrent, quindi dovremo utilizzare diverse impostazioni di routing.
lport 1195
dice al client OpenVPN di usare la porta 1195 invece di 1194 - nel mio caso voglio anche eseguire un server OpenVPN sullo stesso dispositivo e il server dovrà usare la porta 1194. Anche se non si esegue un server OpenVPN, non fa male fare questo cambiamento.
Ho cambiato la linea dev tap
in dev tap1
, per forzare il dispositivo virtuale ad essere tap1 invece di essere assegnato da OpenVPN, sempre a causa dell'esecuzione di un server OpenVPN separato. Anche se non stai utilizzando un server VPN, questa modifica non dovrebbe avere importanza. Gli script del firewall sono stati scritti per l'uso tap1
, quindi se si preferisce utilizzare un altro dispositivo, ricordarsi di modificarli laddove appropriato.
lladdr 00:FF:11:AA:BB:CC
dice a OpenVPN di assegnare all'interfaccia di tocco questo indirizzo MAC, che può essere utile per le regole del firewall di iptables.
route-up
ed down
eseguire gli script per avviare e arrestare il demone di trasmissione come richiesto: sono necessari qui perché vengono eseguiti con variabili di ambiente contenenti informazioni sulla connessione, necessarie per associare correttamente la trasmissione all'indirizzo IP e alla porta corretti.
Nel mio caso, avevo un certificato server dal provider VPN, che deve anche trovarsi nella stessa directory del file di configurazione.
sudo vim /opt/ibVPN/ibvpn.com.crt
Copia e incolla questo o spostalo tramite SCP o 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-----
Ovviamente se non si utilizza un account ibVPN, il certificato sarà diverso.
Ora facciamo il file della password:
sudo vim /opt/ibVPN/pass
La prima riga deve essere il nome utente completo, quindi la seconda riga deve essere la password. Questo deve essere l'unico contenuto di questo file.
you@address.com
myBIGstrongpassword1234567890
Dobbiamo anche proteggere le autorizzazioni su questo file, altrimenti OpenVPN non si avvierà.
sudo chmod 400 pass
Questo renderà il file di sola lettura e solo per il proprietario (ovvero nessun altro utente può leggerlo)
Questi comandi creeranno i file da eseguire all'avvio e li imposteranno come eseguibili solo da root.
sudo touch route-up.sh
sudo touch down.sh
sudo chmod 700 route-up.sh
sudo chmod 700 down.sh
A questo punto, è probabilmente una buona idea verificare se la connessione VPN funziona davvero. Inizia la connessione con:
sudo openvpn --cd /opt/ibVPN --config config.ovpn
Vedrai degli avvertimenti che i comandi esterni su e giù non possono essere eseguiti, ma non preoccuparti. Se funziona, vedrai Initialization Sequence Completed
sul terminale. Premere Control+C
per terminare la connessione. Se non funziona, dovrai indagare sul perché no e risolverlo prima di continuare. Ho scoperto che a volte ci sono voluti alcuni tentativi per iniziare a lavorare. Assicurarsi che il file della password sia corretto. Ci sono molte grandi risorse su Internet su OpenVPN, quindi dai un'occhiata in giro.
A questo punto, è probabilmente più semplice passare alla messa in funzione della trasmissione. Una volta che sei sicuro che sia la VPN che la trasmissione possono essere eseguite separatamente, possono essere combinate.
Installazione e configurazione della trasmissione
Installa i pacchetti richiesti:
sudo apt-get install transmission-daemon
Per impostazione predefinita, la trasmissione verrà eseguita automaticamente all'avvio. Poiché alla fine utilizzeremo OpenVPN per avviare la trasmissione, vogliamo disabilitarlo. Per fare ciò, modifica il file di configurazione per Transmission-daemon
sudo vim /etc/default/transmission-daemon
E modificare la seguente riga per leggere:
ENABLE_DAEMON=0
Ora la trasmissione non si avvia all'avvio.
Ora creiamo una directory in cui risiedano le impostazioni di Trasmissione e in cui inserire i torrent scaricati. Ciò presuppone che tu abbia già impostato un disco di qualche tipo, ed è montato su / media / arm-disk /. Per motivi di sicurezza, il demone verrà eseguito dal proprio utente anziché come root o "ubuntu". Un nuovo utente viene creato dall'installer per trasmissione-demone, "debian-trasmissione". Questo utente deve possedere la cartella che creiamo e avere accesso in lettura e scrittura al percorso di archiviazione per i torrent scaricati.
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
Ora dobbiamo iniziare la trasmissione, solo brevemente, in modo che crei il file delle impostazioni di cui abbiamo bisogno:
sudo -u debian-transmission -g debian-transmission /usr/bin/transmission-daemon --config-dir /opt/transmission --foreground
Questo comando avvia broadcast-daemon come utente debian-transmission, gli dice di usare la directory / opt / transmission per i file delle impostazioni e gli dice di continuare a funzionare in primo piano. Una volta che è stato eseguito per alcuni secondi, premere Control+C
per terminarlo. Ora possiamo modificare il file delle impostazioni.
sudo -u debian-transmission vim /opt/transmission/settings.json
Ora dobbiamo passare alle seguenti righe dai loro valori predefiniti per leggere:
"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.*",
Salva ed esci (Esci, digita: wq e premi Invio)
Le due modifiche centrali consentiranno l'uso della directory "incompleta", separando i tuoi torrent finiti da quelli incompiuti. Questo non è del tutto necessario, ma personalmente lo trovo estremamente utile. L'ultima modifica consente l'accesso alla GUI Web da qualsiasi computer sulla LAN (supponendo che la sottorete LAN sia 192.168.1.0, modificarla se è diversa).
Ora è una buona idea eseguire nuovamente Transmission, per vedere se funziona e può effettivamente scaricare un torrent. Useremo una finestra del browser Web per accedere alla GUI e per aggiungere un torrent. Innanzitutto, consentiamo l'accesso alla GUI Web attraverso il firewall dalla LAN, quindi eseguiamo nuovamente il daemon di trasmissione.
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
Visita questo URL in Firefox (o in qualsiasi browser tu preferisca): http://XXX.XXX.XXX.XXX:9091 , dove XXX viene sostituito dall'indirizzo del tuo server sulla LAN (ovvero 192.168.1.10). Trova un torrent da scaricare, ad esempio Big Buck Bunny a 1080p60hz. Questo è un cortometraggio gratuito, legalmente disponibile per il download gratuito. Nella GUI di trasmissione, fai clic sul pulsante "Apri torrent" e incolla questo link (o qualsiasi altro torrent che ti piace) nella prima casella. Quindi premere "Carica". Se la trasmissione funziona correttamente, il torrent inizierà a scaricare. In caso contrario, dovrai capire perché prima di continuare. Ci sono molte risorse disponibili su Internet per usare il daemon di trasmissione. Potrebbe anche essere il torrent che hai scelto non funziona, provane alcuni altri prima.
Al termine del download, premere Control+C
nella finestra del terminale per interrompere il daemon di trasmissione.
Configurare la trasmissione vincolante all'interfaccia VPN
Ora creiamo uno script Upstart, che verrà utilizzato per avviare la trasmissione quando la VPN è pronta.
sudo mv /etc/init/transmission-daemon.conf /etc/init/transmission-daemon.conf.bak
Non preoccuparti se questo si lamenta, è solo per fare un backup del file Upstart, se ne esiste uno - potrebbe non esserlo. Apriamo vim per modificare quello nuovo:
sudo vim /etc/init/transmission-daemon.conf
Incollalo nell'editor:
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
Salva e chiudi vim. ( Escape
, quindi digitare :wq
). Ancora una volta, apri vim:
sudo vim /etc/init/transmission-up.conf
E incolla questo:
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
Ancora una volta, salva e chiudi vim. ( Escape
, quindi digitare :wq
). Infine:
sudo vim /etc/init/transmission-down.conf
Incolla questo:
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
Questi script dicono a Upstart di ascoltare il segnale "transmission-vpn-up". Lo script "transmission-up.conf" imposta quindi le regole di routing richieste per inviare il traffico dall'indirizzo VPN locale tramite l'interfaccia VPN e imposta il firewall per consentire il traffico dalla VPN alla porta di ascolto per la trasmissione. Il traffico diretto alla porta di ascolto della trasmissione dalla normale interfaccia LAN è bloccato. Lo script "transmission-daemon.conf" avvia quindi broadcast-daemon con le impostazioni necessarie per collegarlo all'indirizzo IP VPN. Nota che questo comando assicurerà anche che UPnP / NAT-PMP sia disabilitato - vedi la mia nota in alto sul port forwarding. Il "simpatico -15" imposta la trasmissione su una priorità più bassa, che ho trovato utile quando ho usato BeagleBone con specifiche inferiori: a volte la trasmissione può contenere risorse, che rallenta il sistema. Almeno con una priorità bassa, è ancora possibile eseguire attività di sistema più importanti. Lo script "transmission-down.conf" rimuoverà le regole del firewall quando la VPN viene arrestata. Vengono utilizzati tre diversi script in modo che il daemon di trasmissione possa essere eseguito come utente non privilegiato, ma le regole del firewall possono essere eseguite come root.
Ora torniamo alle impostazioni di OpenVPN e modificiamo gli script "route-up" e "down" per avviare e interrompere il nostro script di trasmissione.
sudo vim /opt/ibVPN/route-up.sh
Incollalo in vim:
#! /bin/bash
/sbin/initctl emit transmission-vpn-up VPN_GATEWAY=$route_vpn_gateway LOCAL_IP=$ifconfig_local
Tutto ciò che fa questo script è dire a Upstart che il daemon di trasmissione dovrebbe avviarsi e gli fornisce le informazioni necessarie per collegarsi alla connessione VPN.
sudo vim /opt/ibVPN/down.sh
Ancora una volta, più incollando:
#! /bin/bash
/sbin/initctl emit transmission-vpn-down
Questo script è ancora più semplice: segnala l'arresto del daemon di trasmissione.
A questo punto, è probabilmente una buona idea assicurarsi che il proprietario dell'intera cartella di configurazione VPN sia l'utente root - poiché questi script vengono eseguiti come root, chiunque possa modificarli può eseguire qualsiasi cosa desiderino come utente root.
sudo chown root:root -R /opt/ibVPN
sudo chmod 700 -R /opt/ibVPN
sudo chmod 400 /opt/ibVPN/pass
Questo ora significa che solo l'utente root può modificare o visualizzare le impostazioni della connessione VPN.
OK, abbiamo quasi finito! Testiamo se la nostra configurazione funziona finora:
sudo openvpn --cd /opt/ibVPN --config config.ovpn
Connettersi nuovamente alla GUI Web di trasmissione e riprendere il torrent esistente o aggiungerne uno nuovo. Dovrebbe essere in grado di scaricare, forse dopo alcuni minuti di attesa di colleghi. Un modo ingegnoso che ho scoperto di testare se funziona o meno è guardare iftop. Installa iftop ed esegui:
sudo apt-get install iftop
sudo iftop -i tap1
Questa schermata mostrerà tutte le connessioni in esecuzione attraverso la VPN. Se il tuo torrent sta scaricando e sta usando correttamente la VPN, qui ci saranno molti indirizzi IP e nomi host. Guarda anche iftop per la connessione LAN:
sudo iftop -i eth0
Qui dovresti vedere una grande quantità di traffico verso un singolo indirizzo IP, che è il server VPN, e quindi solo un traffico minimo verso altri dispositivi LAN, supponendo che non stai eseguendo altri servizi su BeagleBone.
Puoi confermare che la VPN funziona seguendo queste istruzioni .
Questo sito ti consente di scaricare un torrent per vedere l'indirizzo IP che altri peer usano per connettersi a te - se tutto funziona, sarà l'indirizzo IP VPN e non il tuo indirizzo IP WAN.
Se si verificano problemi, è possibile visualizzare il registro degli errori Upstart procedendo nel seguente modo:
sudo tail -f /var/log/upstart/transmission-daemon.log
In una finestra terminale / SSH separata, provare a eseguire il comando tail mentre si avvia la connessione VPN come sopra e cercare eventuali messaggi di errore. Spero che tu possa risolvere il problema vedendo i messaggi di errore, se non hai uno scavo su Internet, o pubblicare un commento.
Configura tutto per l'avvio automatico
Se sei soddisfatto di emettere manualmente il comando per avviare il tunnel OpenVPN, o vuoi farlo con il tuo script, allora hai finito. Ma volevo che fosse avviato all'avvio, quindi ho creato un altro script Upstart per avviare OpenVPN.
sudo vim /etc/init/openvpn-transmission.conf
Questa è l'ultima cosa che dobbiamo incollare!
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
Tutto ciò che fa è attendere che il sistema segnali che la rete è pronta, quindi avvierà il tunnel OpenVPN - che a sua volta avvierà la trasmissione. Quando il sistema viene spento o se la rete viene chiusa per qualche motivo, Upstart rimuoverà le regole del firewall e chiuderà il demone di trasmissione. Semplice! Questo continuerà a funzionare anche dopo un riavvio, quindi ora sei pronto.
Per interagire con la trasmissione, utilizzare la GUI Web come abbiamo fatto durante la fase di installazione. È anche possibile rendere la GUI accessibile su Internet, impostando il port forwarding. Ci sono molti tutorial su come farlo, quindi non lo ripeterò qui.
Per quanto riguarda il download completo di BeagleBone, sto usando NFS. Posso ottenere una velocità di circa 8 MB / s copiando sulla LAN dal BeagleBone al mio computer desktop, il che è abbastanza buono per un dispositivo così a basso consumo. Ubuntu fornisce alcune informazioni utili per l'impostazione.