Hi all,
I am new to OpenWRT and was using DD-WRT before this but found Openwrt worked better for me on my WDR4300 router. Here is the script which may help others config your router to work with NordVPN servers. It may work for other VPN, but I have not tested it.
#!/bin/sh
USERNAME="Username"
PASSWORD="Password"
PROTO="udp"
TUN="tun1"
REMOTE="remote vpn-nl.nordvpn.com 1194"
CA_CRT='-----BEGIN CERTIFICATE-----
MIID7DCCA1WgAwIBAgIJAJBW0AnvvfI9MA0GCSqGSIb3DQEBBQUAMIGrMQswCQYD
VQQGEwJOTDELMAkGA1UECBMCTkwxFTATBgNVBAcTDFNhbkZyYW5jaXNjbzEQMA4G
A1UEChMHTm9yZFZQTjELMAkGA1UECxMCTkwxGzAZBgNVBAMTEnZwbi1ubC5ub3Jk
dnBuLmNvbTEbMBkGA1UEKRMSdnBuLW5sLm5vcmR2cG4uY29tMR8wHQYJKoZIhvcN
AQkBFhBtYWlsQGhvc3QuZG9tYWluMB4XDTE0MDQyMjEwMjY0OVoXDTI0MDQxOTEw
MjY0OVowgasxCzAJBgNVBAYTAk5MMQswCQYDVQQIEwJOTDEVMBMGA1UEBxMMU2Fu
RnJhbmNpc2NvMRAwDgYDVQQKEwdOb3JkVlBOMQswCQYDVQQLEwJOTDEbMBkGA1UE
AxMSdnBuLW5sLm5vcmR2cG4uY29tMRswGQYDVQQpExJ2cG4tbmwubm9yZHZwbi5j
b20xHzAdBgkqhkiG9w0BCQEWEG1haWxAaG9zdC5kb21haW4wgZ8wDQYJKoZIhvcN
AQEBBQADgY0AMIGJAoGBANWLMY7HjzfL0zgWCmCCQRNxoqbhi1Kxd5/U/uJgPmME
nKTp89kQ3janQJTsIK/M8r96C+YgTua9ElRTIri6GmAD8lAfMV5CujI5N9iEs8AU
Bl3x8T22nzmTI+IYF+qBPp6g+ks+5/LiYNVBbIebNnnwvWZDBNenTRCITE/8ymsH
AgMBAAGjggEUMIIBEDAdBgNVHQ4EFgQU7tE7MjUdkRr+n2h3faMRty3zs/8wgeAG
A1UdIwSB2DCB1YAU7tE7MjUdkRr+n2h3faMRty3zs/+hgbGkga4wgasxCzAJBgNV
BAYTAk5MMQswCQYDVQQIEwJOTDEVMBMGA1UEBxMMU2FuRnJhbmNpc2NvMRAwDgYD
VQQKEwdOb3JkVlBOMQswCQYDVQQLEwJOTDEbMBkGA1UEAxMSdnBuLW5sLm5vcmR2
cG4uY29tMRswGQYDVQQpExJ2cG4tbmwubm9yZHZwbi5jb20xHzAdBgkqhkiG9w0B
CQEWEG1haWxAaG9zdC5kb21haW6CCQCQVtAJ773yPTAMBgNVHRMEBTADAQH/MA0G
CSqGSIb3DQEBBQUAA4GBAIOc3yXYw7O7D+lPXrOW2CYcsGKnXS5+9Kvn+rOTOCMH
4+GlSW38gwiUCYi7C2kH52VhMOLMmYosVQZMRgNRAB0immKUi1JaVq5UDkOgo+rK
keifSsGBJH4dnKUrG5lOQ7tGA88oT4Qlal6U1tFe2tR7keSXWVZYwtPz6jIrzK3q
-----END CERTIFICATE-----'
TLS_AUTH='-----BEGIN OpenVPN Static key V1-----
6ee32f05bd25efbd64cf08a469c6aa36
755dab4ea4cfa434c708faa51426848e
afaab0e7d275af6924aaa8fd48d5098d
7cd50b5a79d80fb85a0bcb0a9b2ec4d9
f021e8d8584902736f8090a98e2eea88
edbd26dc88361bac87d2151ade2f67be
0ffd5fcf26a1d72ac7374079b46a79e8
df52be0a49d590d80ad9bcc67ea5a01d
0e2629b3de628c3e29229d8cda7c1fa1
45111ecd7b123fda2d831216eab6c01b
2d00a0a0c48109f2d0903bd93e8a0088
c861d0b1d34513f01e075b655441662f
d36b27a51841dffd7abc8535550330f6
17266a0d891f55a6be533de8ec6483bc
c36a67ed57e215861ab408cbc218bb24
a6cbc028cfbf56a6b11ff64ed7073be0
-----END OpenVPN Static key V1-----'
#### Don't modify below here ####
#### Ensure gui client disabled ####
if [ `nvram get openvpncl_enable` != 0 ]; then
nvram set openvpncl_enable=0
nvram commit
sleep 10
fi
mkdir /tmp/vpncl; cd /tmp/vpncl
echo -e "$USERNAME\n$PASSWORD" > userpass.txt
echo "#!/bin/sh
iptables -t nat -I POSTROUTING -o $TUN -j MASQUERADE" > route-up.sh
echo "#!/bin/sh
iptables -t nat -D POSTROUTING -o $TUN -j MASQUERADE" > route-down.sh
echo "$CA_CRT" > ca.crt
echo "$TLS_AUTH" > tls-auth.key
sleep 10
echo "client
dev $TUN
proto $PROTO
$REMOTE
resolv-retry infinite
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
keepalive 5 30
comp-lzo
mute 20
verb 3
log-append vpn.log
fast-io
auth-user-pass userpass.txt
script-security 2
remote-cert-tls server
cipher AES-256-CBC
ca ca.crt
tls-auth tls-auth.key 1
daemon" > openvpn.conf
chmod 600 ca.crt tls-auth.key userpass.txt openvpn.conf; chmod 700 route-up.sh route-down.sh
(killall openvpn ; openvpn --config openvpn.conf --route-up /tmp/vpncl/route-up.sh --down-pre /tmp/vpncl/route-down.sh) &
exit 0