Table des matières

VPN IPsec roadwarriors

Firewall Services privilégie généralement OpenVPN pour les VPN, que ça soit pour du site à site, ou des itinérants (en attendant wireguard …). Il est bien plus simple à manipuler qu'IPsec, utilise des interfaces “standards”, ajoute des entrées standards à la table de routage, bref tout est plus simple. Mais IPSec peut avoir des avantages. En performances d'abord, mais aussi et surtout : il est supporté nativement par pas mal de systèmes, dont Android par exemple.

Dans ce tuto, on va configurer PfSense pour être serveur VPN pour une flotte d'Android. En utilisant PSK + Xauth (une clé secrète partagée et une vérification login / pass). Pour la partie login / pass, on utilise ici deux annuaires LDAP, mais ça pourrait être des comptes locaux.

IPSec a la particularité d'être complexe : on trouve beaucoup de tuto pour ça, chacun avec ses petites différences. Celui là n'est qu'un de plus ;-)

Activer IPSec mobile

Dans le menu VPNIPsec, aller sur l'onglet Mobile Client

Après avoir sauvegardé, un bouton vert vous proposera de créer la phase 1 associée, il faut le faire

Créer la phase 1

Dans la fenêtre de création de la phase 1, il faut :

Sauver, puis cliquer sur Show Phase 2 EntriesAdd P2

Créer la phase 2

Ajout des règles sur l'interface WAN

Pour que le VPN puisse s'établir, il faut que les ports UDP 500 et 4500 soit accessibles. PfSense ajoute par défaut ces règles. Si vous avez désactivé l'option, il faut les créer manuellement

Ajout des règles sur l'interface IPSec

Il faut maintenant autoriser (ou non) les clients VPN à se connecter à vos différentes zones. Ça se passe dans FirewallRules → IPsec

Il n'y a qu'un seul onglet IPsec même si vous utilisez plusieurs tunnels différents. On peut discriminer en utilisant l'IP source

Configuration d'un android

Pour configurer un Android, il faut aller dans le menu RéseauVPNAjouter puis le configurer comme sur la capture

Ajustement MSS

Sur le réseau de certains opérateurs mobiles, il faut ajuster le paramètre Maximum MSS pour que le trafic passe. Dans VPNIPsecAdvanced Settings