I acquired a Netgear ReadyNAS, not a very powerful one but quite unexpensive and good hack potential, as it is based on Debian on ARM. The OS version is ReadyNAS 6.1.8 at the time of writing.
After installing Transmission (through an app) and OpenVPN (through apt-get) quite easily, I wanted to route Transmission through OpenVPN while letting other apps use the regular connection. I followed guides found at https://tech.kanka.ch/index.php/fai... and http://www.ccaillat.fr/2013/09/tran.... I figured out that iptables is not complete i.e. it is missing some essential NAT library. Unfortunately enabling this library goes through a custom compile of the linux kernel, which is a bit overkill for my purpose.
I decided to go for the full vpn approach, as advised in http://www.netgear-forum.com/forum/... which is much more like a classic openvpn client install.
A summary:
- In System, Services, Settings, Enable SSH service
- Install the following apps
- Transmission for Readynas by Poussin (current version 3.00.6)
- This will install Transmission and enable a GUI within ReadyNAS GUI
- However Transmission must be disabled (Off) while installing the VPN
- Gateone by Poussin (v1.0.2)
- This is a HTML5 SSH Frontend (of course one can also use a SSH client)
- Transmission for Readynas by Poussin (current version 3.00.6)
- Connect in SSH with root login (won't work with any other login) and admin password (yeah strange)
- Install OpenVPN
apt-get update apt-get install openvpn
- Tweak OpenVPN config
cd /etc/openvpn
- Put the VPN config files there (generally a xxx.conf and a xxx.auth)
- Make sure you have the following in your .conf file for DNS leak prevention
script-security 2 up /etc/openvpn/update-resolv-conf down /etc/openvpn/update-resolv-conf
- Change owner (chown) and permissions (chmod) of the files if needs be
- Run in command line
openvpn --config /etc/openvpn/xxx.conf
- In another terminal, test that the tunnel is up and routes are OK
ifconfig ip route show
- Stop OpenVPN (CTRL-C) and check the routes are back to normal
- Test again in service mode with
service openvpn start
- If everything is fine, change the priority of the service to ensure it starts when ReadyNAS initializes
update-rc.d openvpn defaults 19 01
- Reboot and check the VPN is up
- You can finally enable Transmission
- You can test that Transmission uses the VPN by downloading a fake torrent that reveals the IP at http://btguard.com/BTGuard_Torrent_... or https://torguard.net/torrentip/chec...
Done!