Voici comment paramétrer un Raspberry avec un hotspot + un VPN IPSec. L’idée est de simplifier le télétravail en branchant un Raspberry sur la box des utilisateurs afin qu’ils puissent retrouver le WIFI d’entreprise.
Dans cet article, j’ai utilisé un Raspberry PI3 B+ (mais cela fonctionne avec les autres versions) et un Stormshield SN710
Les logiciel utilisés
- ddclient : afin d’adapter l’IP publique du client VPN.
- hostapd : Permet de créer un hotspot WIFI
- dnsmasq : fournira un serveur DHCP
- strongswan : pour le tunnel IPSec
Mise en place
Tout d’abord on effectue les mises à jour
# sudo init 6
— Redémarrage du Raspberry —
# sudo apt-get update
# sudo apt-get upgrade
Puis on installe les pré-requis
Sélectionnez votre fournisseur DynDNS
Ici nous utilisons no-ip.com
Choisir le type de protocole
Indiquer votre nom d’utilisateur
Indiquer votre mot de passe
Indiquer l’interface (saisir web)
Indiquer le nom de domaine DynDNS
Suite de la configuration de ddclient
Editer le fichier de confiuguration /etc/ddclient.conf et adapter le fichier avec vos paramètres
protocol=dyndns2
use=web, web=checkip.dyndns.com/, web-skip=’Current IP Address: ‘
server=dynupdate.no-ip.com
ssl=yes
login=IDENTIFIANT
password=’PASSWORD’
DNS-DYNDNS.xxx.xxx
Puis on relance le service ddclient
Configuration de ntpdate
L’heure se synchronisera tous les jours à minuit.
00 00 * * * /usr/sbin/ntpdate pool.ntp.org 2>&1 >/dev/null
Configuration de hostapd
Configurer le pays pour la configuration wifi :
Sélectionner “Localisation Options”
Sélectionner “WLAN Country”
Sélectionner “FR”
Sélectionner “Finish”, un redémarrage est nécessaire
Créer ou éditer le fichier /etc/hostapd/hostapd.conf et adapter la configuration suivante :
interface=wlan0
# Use the nl80211 driver with the brcmfmac driver
driver=nl80211
# This is the name of the network
ssid=SSID
v # Use the 2.4GHz band
hw_mode=g
# Use channel 6
channel=6
# Enable 802.11n
ieee80211n=1
# Enable WMM
wmm_enabled=1
# Enable 40MHz channels with 20ns guard interval
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
# Accept all MAC addresses
macaddr_acl=0
# Use WPA authentication
auth_algs=1
# Require clients to know the network name
ignore_broadcast_ssid=0
# Use WPA2
wpa=2
# Use a pre-shared key
wpa_key_mgmt=WPA-PSK
# The network passphrase
wpa_passphrase=CLEF_WPA
# Use AES, instead of TKIP
rsn_pairwise=CCMP
Editer ensuite le fichier /etc/default/hostapd et rajouter la ligne suivante :
Puis on applique la configuration pour le démarrage automatique.
sudo systemctl enable hostapd
sudo systemctl start hostapd
Configuration de dnsmasq et du réseau
Editer le fichier /etc/dnsmasq.conf
dhcp-range=172.25.0.11,172.25.0.30,255.255.255.0,24h
#DNS dhcp-option=option:dns-server,IP_DNS_ENTREPRISE
Editer ensuite le fichier /etc/dhcpcd.conf afin de configurer le réseau
static ip_address=172.25.0.1/24
denyinterfaces eth0
denyinterfaces wlan0
Au prochaine redémarrage, l’interface WIFI possèdera l’adresse 172.25.0.1
Editer ensuite le fichier /etc/sysctl.conf afin d’autoriser les échanges entre les interfaces LAN et WIFI. Décommenter la ligne suivante :
net.ipv4.ip_forward=1
Configuration du VPN IPSec avec strongswan
Les 2 fichiers de configuration sont :
- /etc/ipsec.secrets
- /etc/ipsec.conf
Editer le fichier /etc/ipsec.secrets afin de renseigner la clef PSK
Editer ensuite le fichier /etc/ipsec.conf
Le fichier doit ressembler à ceci :
# basic configuration
config setup
# strictcrlpolicy=yes
# uniqueids = no
charondebug=”cfg 2, dmn 2, ike 2, net 2″ conn %default
conn %default
ikelifetime=28800s
keylife=3600s
rekeymargin=540s
keyingtries=%forever
authby=secret
keyexchange=ikev1
compress=no
conn NOM_VPN left=%defaultroute
leftsourceip=%config
leftsubnet=172.25.1.0/24
right=IP_GATEWAY_VPN
rightsubnet=LAN_DISTANT/MASQUE
ike=aes256-sha256-modp2048!
esp=aes128-sha256-modp2048!
auto=start
include /var/lib/strongswan/ipsec.conf.inc
Il faut ensuite configurer les règles de NAT pour le VPN
Editer un fichier /etc/iptables.ipv4.nat et ajouter les lignes suivantes (à adapter selon votre configuration)
:PREROUTING ACCEPT [118:9931]
:INPUT ACCEPT [37:4490]
:POSTROUTING ACCEPT [93:7145]
:OUTPUT ACCEPT [16:1916]
-A POSTROUTING -s 172.25.1.0/24 -d LAN_DISTANT/MASQUE -j ACCEPT
-A POSTROUTING -s LAN_DISTANT/MASQUE -d 172.25.1.0/24 -j ACCEPT
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
Puis appliquer les règles iptables
Pour appliquer les règles au démarrage, rajouter ceci dans /etc/rc.local avant “exit 0”
Redémarrer le Raspberry
Configuration du VPN Stormshield
Ouvrir l’interface web Stormshield et sélectionner le menu “Configuration/VPN/VPN IPsec”
Sélectionner l’onglet “Correspondants”, cliquer ensuite sur “Ajouter”
Dans passerelle distante, indiquer l’objet contenant nom de domaine DynDNS (résolution DNS automatique), indiquer un nom au VPN, puis cliquer sur le bouton “Suivant”
Sélectionner “Clé prépartagée (PSK)”, indiquer la clé PSK de votre VPN IPsec, puis cliquer sur le bouton “Suivant”
Le résumé suivant apparaît, cliquer sur le bouton “Terminer”
Le correspondant apparaît comme ci-dessous. Ne pas oublier d’adapter le profil IKE.
Retourner dans l’onglet “Politique de chiffrement – Tunnels” et cliquer sur le bouton “Ajouter”
Ajouter la ligne suivante, en adaptant bien entendu à votre configuration
Ne pas oublier de configurer les règles de filtrage Stormshield entre le réseau du Raspberry (ici 172.25.0.0/24) et le réseau d’entreprise.
Test du projet
Connecter le Raspberry à votre box via un câble réseau (RJ45)
Démarrer votre Raspberry, attendez (jusqu’à 5 minutes) que le Raspberry se charge complètement (DynDNS, VPN Ipsec…)
Depuis votre équipements (PC, Tablette, Smartphone…) connectez-vous au WIFI du Raspberry.
Essayer d’accéder aux applications d’entreprise.
Troubleshooting
Be First to Comment