OpenVPN road-warrior et Shorewall

Pour l’usage en déplacement/depuis l’étranger/sur des Wi-Fi pourris, il est intéréssant de disposer d’une connexion VPN.

J’utilise pour cela l’intéressant script « OpenVPN road-warrior », certes très vindicatif dans le titre, néanmoins très efficace : https://github.com/Nyr/openvpn-install

Le setup est le suivant :

Depuis quelques temps j’ai pris gout à utiliser Shorewall afin de maîtriser simplement la configuration firewall de ce serveur.

L’utilisation concurrente de Shorewall + OpenVPN est possible il faut tout de même prendre soin de paramétrer tout cela correctement

Fichier /etc/shorewall/interfaces

Rien de transcendant, juste déclarer l’interface vpn

Fichier /etc/shorewall/masq

Il faut indiquer à Shorewall qu’il faut effectuer un masquerade du traffic venant du sous-réseau 10.8.0.0/24 (réseau VPN) vers l’interface eth0 (patte Internet sur le serveur)

Fichier /etc/shorewall/policy

Autoriser le traffic provenant du VPN vers eth0 dans le fichier policy

Fichier /etc/shorewall/rules

Autoriser le service OpenVPN à écouter sur le port que vous utilisez. A noter que 1194 est parfois filtré, préférez-y un port plus standard (443/80/53/…) ( voir https://memo-linux.com/openvpn-sur-le-port-443-partage-avec-un-serveur-web/)

Fichier /etc/shorewall/tunnels

Dernier fichier a ne pas oublier sinon ça ne peut pas fonctionner, déclarer le tunnel. Adapter avec le port UDP ou TCP choisit et l’IP publique de votre serveur

Test de connexion

Tout est prêt, plus qu’a tester si tout fonctionne.

Tester la connexion OpenVPN. Si connexion OK on passe à la suite.

Lancer un ping vers une IP, si shorewall n’a pas été redémarré ça ne doit pas passer. Relancer shorewall en mode safe (rollback vers ancienne configuration automatique)

Le ping doit maintenant passer > la connexion sort bien par eth0 vous avez un OpenVPN qui roule pour vous connecter de n’importe ou!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Time limit is exhausted. Please reload CAPTCHA.