AceVPN est un fournisseur assez populaire. Il est un peu cher mais le service est de très bonne qualité ainsi que le SAV. Voici donc un tuto dédié à OpenVPN avec un routeur modifié en DD-WRT

Dans un premier temps, j'espère que vous avez bien flashé votre routeur avec le firmware DD-WRT correspondant à votre routeur !
Récupérer les informations dont on à besoin. Vous allez pouvoir obtenir une somme assez importante de fichiers avec le fournisseur pour une configuration linux. En fait, vous utilisez les mêmes clés en permanence et les fichiers de configuration diffèrent sur un point; les serveurs ! Et c'est tout.

Prenez connaissance des différents serveurs et vous verrez que, notamment, la ta.key ne semble appelée sur aucune d'entre elles.
Voici ce que vous donne AceVPN :
client
dev tun
proto udp
hand-window 30
remote-random
remote SERVEUR 443 #NL - Test server
remote SERVEUR 443 #NL
remote SERVEUR 443 #NL
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/acevpn-ca.crt
cert /etc/openvpn/acevpn-user.crt
key /etc/openvpn/acevpn-user.key
ns-cert-type server
reneg-sec 0
comp-lzo
verb 3
mute 5
#Save Username and Password
#Enter your username and password in acevpn-pass.txt file
#auth-user-pass /etc/openvpn/acevpn-pass
#Openvpn prompts to enter username and password
auth-user-pass
route-delay 2
#If you are having speed issues enable mssfix and tun-mtu
#mssfix 1300
#tun-mtu 1500
#tun-mtu-extra 32
#route 192.168.3.0 255.255.255.0
En l'état, ce script ne fonctionnera pas, il faut y apporter des changements :
client
dev tun
proto udp
hand-window 30
remote-random
remote SERVEUR 443 #NL
remote SERVEUR 443 #NL
remote SERVEUR 443 #NL - Test server
resolv-retry infinite
nobind
persist-key
persist-tun
ca /tmp/openvpn/ca.crt
cert /tmp/openvpn/cert.pem
key /tmp/openvpn/key.pem
ns-cert-type server
reneg-sec 0
comp-lzo
verb 3
mute 5
keepalive 10 60
auth-user-pass /tmp/openvpn/dh.pem
route-delay 2
#mssfix 1300
#tun-mtu 1500
#tun-mtu-extra 32
#optionnel
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
#route 192.168.3.0 255.255.255.0
J'ai directement ajouté le push des DNS de Google. Cette option n'est pas forcément nécessaire ! Donc n'hésitez pas à tester avec et sans. Pour le reste, je n'ai que donné le chemin où les différentes clés vont se trouver et aussi où le mot de passe et le login seront.
Votre fichier de configuration est maintenant prêt !
Rendez-vous dans Services > VPN
Activez OPenVPN Daemon avec Wan Up en Start Type
Dans Ca Cert, copiez acevpn-ca.crt
Dans Public Client Cert, copiez acevpn-user.crt
Dans Private Client Key, copiez acevpn-user.key
Dans DH PEM, inscrivez sur la première ligne votre login Acevpn puis appuyez sur Entrer pour taper sur la seconde votre mot de passe Acevpn
Sauvegardez le tout !
Maintenant, rendez-vous dans Administration > Commands (Shell en français). Copiez ceci:
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
iptables -I INPUT -i tun0 -j REJECT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Cliquez sur Save Firewall (sauvegarder le Pare-Feu)
Maintenant, allez dans Administration > Management (Gestion) et redémarrez le routeur
Attendez environ 1 minute
Allez sur http://www.monip.org et vous devriez avoir changé d'IP
Afin de mieux protéger vos clés, vous pouvez modifier le Script au démarrage de la façon suivante (certains build du firmware n'apprécient pas):
sleep 30
killall openvpn
sleep 10
chmod 600 /tmp/openvpn/cert.pem
chmod 600 /tmp/openvpn/key.pem
sleep 5
/usr/sbin/openvpn --config /tmp/openvpn/openvpn.conf &
(vous pouvez en rajouter un pour le dh.pem également)
Merci à Mugen de nous avoir confié son compte pour que nous puissions faire ce guide !