Configurer un pont OpenVPN client Wi-Fi pour un réseau local LAN Naté sous Alpine Linux.

Projet: Créer un pont openvpn dont la connexion internet est sur le wifi et le réseau local sur le lan.

1.Postulat

Nous utilisons un Raspberry Pi sous Alpine Linux.
Le serveur OpenVPN est déjà configuré.

Cela va permettre de connecter un périphérique uniquement Ethernet via Wi-Fi, et d’autre part, d’effectuer un rebond via cette passerelle depuis le réseau VPN pour y accéder en SSH et atteindre le dispositif final par rebond SSH.

L’avantage du naté est de n’avoir aucune configuration particulière au client côté serveur. Le désavantage est qu’il faudrait se connecter au serveur vpn puis au pont intermédiaire pour finir par accéder au client final.

2.Topologie

IPV4

IPV6

2.Installation de alpine linux sur un raspberry pi zero 2w

Sur un poste Windows avec accès à Internet, rendez-vous sur la page : https://www.alpinelinux.org/downloads/.
Téléchargez, dans la section Raspberry Pi, le lien pour l’image aarch64 version .img.gz.
Installez le logiciel BalenaEtcher, puis flashez votre carte SD avec cette image.
Vous pouvez aussi télécharger le fichier img.gz, le dézipper avec 7zip pour obtenir le fichier .img puis le flasher avec l’outil d’image raspberry pi.
Attention, il m’est apparu qu’il faut faire parfois plusieurs tentatives avant d’avoir une carte sd fonctionnelle…
Lancez setup-alpine pour effectuer une configuration minimale afin de pouvoir vous connecter à Internet et installer le serveur SSH OpenSSH.
Attention, veuillez utiliser une interface ethernet pour cette configuration.
Le wifi semble mal gérer pour setup-alpine.
Attention, clavier US pour cette démarche.
La suite peut se faire en SSH depuis un poste du même réseau.

3.Ajout des paquets et configurations

Après avoir configuré le système et la connexion Wi-Fi avec setup-alpine.

!!!Attention : toute modification sera perdue après un redémarrage si vous ne la validez pas avec la commande « lbu commit ».
Effectuez vos modifications et, si elles fonctionnent, enregistrez-les avec cette commande.
Si vous rencontrez un problème, vous pouvez toujours redémarrer sans faire le lbu commit, et le système sera restauré dans sa version précédente.

nano /etc/network/interfaces

Commandes à exécuter:

nano /etc/wpa_supplicant/wpa_supplicant.conf

nano /etc/openvpn/openvpn.conf
Mettre le profil généré avec openvpn-install.sh

nano /etc/dnsmasq.conf
chercher la ligne « #interface= » et mettre en dessous « interface=eth0 »

nano /etc/dnsmasq.d/eth0.conf

nano /etc/sysctl.d/local.conf

Commandes à exécuter:

nano /etc/conf.d/iptables

Commandes à exécuter:

Si tout semble fonctionner à ce stade vous pouvez sauvegarder:

Vérification de la configuration réseau (ifconfig):

Exécutez un ping sur google.fr et un ping6 sur google.fr pour vérifier si les connexions fonctionnent. À partir de là, lorsque vous redémarrez le Raspberry Pi, il devrait :
-Se connecter automatiquement au Wi-Fi.
-Permettre de connecter un dispositif sur le port Ethernet et lui permettre de pinger quelque chose sur Internet en IPv4 et IPv6.

Exécutez un ping sur google.fr et un ping6 sur google.fr depuis votre dispositif derrière votre pont pour vérifier si les connexions fonctionnent. Vous pouvez vérifier depuis votre dispositif si les adresses IP publiques sont bien celles de votre serveur VPN avec les commandes suivantes :

Pour protéger l’accès SSH provenant du Wi-Fi tout en autorisant l’accès depuis le LAN ou le tunnel OpenVPN pour maintenance, effectuez cela depuis une machine connectée au VPN ou sur l’interface eth0 :