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 :

utlisateur <=== vpn ===> Serveur + OpenVPN <---> Internet

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

#ZONE   INTERFACE       OPTIONS
net     eth0            dhcp,tcpflags,logmartians,nosmurfs,sourceroute=0
vpn     tun0            dhcp
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)

eth0    10.8.0.0/24
Fichier /etc/shorewall/policy

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

###############################################################################
#SOURCE         DEST            POLICY          LOG LEVEL       LIMIT:BURST
[...]
vpn             net             ACCEPT
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/)

# OpenVPN
ACCEPT          net             $FW       udp     1194
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

#TYPE         ZONE           GATEWAY        GATEWAY_ZONE
openvpn:1194  net            IP_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)

shorewall safe-restart

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.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.