[Fire TV General] scoobysnack:
I see alot of questions about VPN's so I've decided to post an easy way to setup PIA VPN on a router running DD-WRT. I'm currently using a Netgear R8000 as a VPN router. Please note that running a VPN on your router will slow your speeds way down. I'm currently hitting 15-30mbps which is ok to run the firestick. The settings I am posting is what seems to be the fastest and most reliable for me. You can alway change the server you want to use but do not change anything else. Once your done rebooting you can test to make sure you are completely secure on the PIA webpage then go and run your DNS Leak Tests. If you are going to run a double router setup (which I am running) let me know and I'll post the setup for that also.

First you need to login to your router. Normally you would type 192.168.1.1 into the search bar. Default username for Netgear is "admin", password is "password".

In the DD-WRT Control Panel page, navigate to Setup > Basic Setup.

Under Network Address Server Settings (DHCP), set:

Static DNS 1 = 4.2.2.1

Static DNS 2 = 4.2.2.2

Static DNS 3 = 4.2.2.3

Use DNSMasq for DHCP = Checked

Use DNSMasq for DNS = Checked

DHCP-Authoritative = Checked

Save and Apply Settings.

Next navigate to Administration > Commands.

Cut and paste this insert your username and password USERNAME="user-name-here" and PASSWORD="password-here" , click the Save Startup button, then Reboot Router. :

#!/bin/sh

USERNAME="user-name-here"

PASSWORD="password-here"

PROTOCOL="udp"

# Add - delete - edit servers between ##BB## and ##EE##

REMOTE_SERVERS="

##BB##

# US - MIDWEST

remote us-midwest.privateinternetaccess.com 8080

##EE##

"

#### DO NOT CHANGE below this line unless you know exactly what you're doing ####

CA_CRT='-----BEGIN CERTIFICATE-----

MIID2jCCA0OgAwIBAgIJAOtqMkR2JSXrMA0GCSqGSIb3DQEBBQUAMIGlMQswCQYD

VQQGEwJVUzELMAkGA1UECBMCT0gxETAPBgNVBAcTCENvbHVtYnVzMSAwHgYDVQQK

ExdQcml2YXRlIEludGVybmV0IEFjY2VzczEjMCEGA1UEAxMaUHJpdmF0ZSBJbnRl

cm5ldCBBY2Nlc3MgQ0ExLzAtBgkqhkiG9w0BCQEWIHNlY3VyZUBwcml2YXRlaW50

ZXJuZXRhY2Nlc3MuY29tMB4XDTEwMDgyMTE4MjU1NFoXDTIwMDgxODE4MjU1NFow

gaUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJPSDERMA8GA1UEBxMIQ29sdW1idXMx

IDAeBgNVBAoTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSMwIQYDVQQDExpQcml2

YXRlIEludGVybmV0IEFjY2VzcyBDQTEvMC0GCSqGSIb3DQEJARYgc2VjdXJlQHBy

aXZhdGVpbnRlcm5ldGFjY2Vzcy5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ

AoGBAOlVlkHcxfN5HAswpryG7AN9CvcvVzcXvSEo91qAl/IE8H0knKZkIAhe/z3m

hz0t91dBHh5yfqwrXlGiyilplVB9tfZohvcikGF3G6FFC9j40GKP0/d22JfR2vJt

4/5JKRBlQc9wllswHZGmPVidQbU0YgoZl00bAySvkX/u1005AgMBAAGjggEOMIIB

CjAdBgNVHQ4EFgQUl8qwY2t+GN0pa/wfq+YODsxgVQkwgdoGA1UdIwSB0jCBz4AU

l8qwY2t+GN0pa/wfq+YODsxgVQmhgaukgagwgaUxCzAJBgNVBAYTAlVTMQswCQYD

VQQIEwJPSDERMA8GA1UEBxMIQ29sdW1idXMxIDAeBgNVBAoTF1ByaXZhdGUgSW50

ZXJuZXQgQWNjZXNzMSMwIQYDVQQDExpQcml2YXRlIEludGVybmV0IEFjY2VzcyBD

QTEvMC0GCSqGSIb3DQEJARYgc2VjdXJlQHByaXZhdGVpbnRlcm5ldGFjY2Vzcy5j

b22CCQDrajJEdiUl6zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAByH

atXgZzjFO6qctQWwV31P4qLelZzYndoZ7olY8ANPxl7jlP3YmbE1RzSnWtID9Gge

fsKHi1jAS9tNP2E+DCZiWcM/5Y7/XKS/6KvrPQT90nM5klK9LfNvS+kFabMmMBe2

llQlzAzFiIfabACTQn84QLeLOActKhK8hFJy2Gy6

-----END CERTIFICATE-----'

OPVPNENABLE=`nvram get openvpncl_enable | awk '$1 == "0" {print $1}'`

if [ "$OPVPNENABLE" != 0 ]; then

nvram set openvpncl_enable=0

nvram commit

fi

sleep 10

mkdir /tmp/pia; cd /tmp/pia

echo -e "$USERNAME\n$PASSWORD" > userpass.conf

echo "$CA_CRT" > ca.crt

echo "#!/bin/sh

iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE" > route-up.sh

echo "#!/bin/sh

iptables -t nat -D POSTROUTING -o tun0 -j MASQUERADE" > route-down.sh

chmod 644 ca.crt; chmod 600 userpass.conf; chmod 700 route-up.sh route-down.sh

sleep 10

echo "client

auth-user-pass /tmp/pia/userpass.conf

management 127.0.0.1 5001

management-log-cache 50

dev tun0

proto $PROTOCOL

comp-lzo adaptive

fast-io

script-security 2

mtu-disc yes

verb 4

mute 5

cipher bf-cbc

auth sha1

tun-mtu 1500

resolv-retry infinite

nobind

persist-key

persist-tun

tls-client

remote-cert-tls server

log-append piavpn.log

ca ca.crt

status-version 3

status status

daemon

$REMOTE_SERVERS" > pia.conf

ln -s /tmp/pia/piavpn.log /tmp/piavpn.log

ln -s /tmp/pia/status /tmp/status

(killall openvpn; openvpn --config /tmp/pia/pia.conf --route-up /tmp/pia/route-up.sh --down /tmp/pia/route-down.sh) &

exit 0