Le point d'accès WiFi multiple

Le point d’accès WiFi multiple

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Dans la série des points d’accès WiFi, nous allons voir le point d’accès WiFi multiple. Basé sur le point d’accès WiFi routé, il permet de créer plusieurs sous-réseaux dédiés au WiFi. Nous pourrons ensuite router chaque réseau différemment pour créer un réseau invité en entreprise, un réseau filtré pour les enfants à la maison, ou toute autre combinaison imaginable.

Cet article part du principe que vous avez déjà effectué toutes les manipulations de l’article Le point d’accès WiFi routé avant de commencer.

Configuration des interfaces

Pour pouvoir créer plusieurs réseaux WiFi, hostapd a besoin que l’adresse MAC de votre carte réseau WiFi soit corrigée comme suit :

  • Le premier nombre va prendre la valeur 02, qui est attribuée aux interfaces dont l’adresse MAC est gérée manuellement.
  • Le dernier chiffre doit valoir zéro. Hostapd créera ensuite des interfaces virtuelles qui auront une adresse MAC incrémentée.

Si je prends pour exemple mon interface réseau; son adresse MAC vaut 24:05:0f:6d:c0:f1. Je l’ai donc modifié en 02:05:0f:6d:c0:f0.

On ne peut modifier l’adresse MAC que d’une interface éteinte :

Ensuite, sachant qu’hostapd ajoutera un underscore et un incrément aux noms de ses interfaces virtuelles, nous allons créer leurs configurations sur le modèle de l’actuelle, puis nous y persisterons le changement d’adresse MAC :

Note: Sur Raspbian, on utilise maintenant dhcpcd, un client DHCP qui semble plutôt envahissant. Vous devrez donc aussi mettre à jour sa configuration :

Hostapd

Petite sauvegarde avant de modifier la configuration d’hostapd :

Nous allons renommer notre ancien réseau NomDuReseau en Reseau-1 :

Puis nous allons lui associer l’adresse MAC de base, celle que nous avons précédemment modifié, vers la fin du fichier :

Et enfin, nous ajoutons nos nouveaux réseaux à la fin du fichier :

Comme indiqué dans les commentaires du fichier de configuration, les réseaux secondaires héritent de la configuration du réseau principal. Exception faite naturellement du SSID et des paramètres qui lui sont liés, comme l’authentification.

Dans chaque réseau secondaire, on peut surcharger à peu près tous les paramètres possible, tant qu’ils ne sont pas liés au matériel. Par exemple, il n’est pas possible de changer de canal, tous les réseaux d’un point d’accès donné utilisent la même radio sur le plan physique.

Bien sur nous devons redémarrer le service pour prendre en compte les modifications :

Dnsmasq

Petite sauvegarde avant de modifier la configuration de dnsmasq :

Nous allons placer chacun de nos sous-réseaux WiFi sur des branches IP différentes :

  • Réseau-1 sur 192.168.3.0/24
  • Réseau-2 sur 192.168.4.0/24
  • Réseau-3 sur 192.168.5.0/24

Pour cela, nous allons compléter la liste des interfaces que dnsmasq doit gérer :

Puis nous allons faire de même avec nos tranches DHCP :

Bien sur nous devons redémarrer le service pour prendre en compte les modifications :

Retourner aux points d’accès WiFi.

Facebooktwittergoogle_plusredditpinterestlinkedinmail

6 commentaires

  1. Hello David,

    Tout d’abord, merci pour ce blog, tes articles sont très intérressants !
    Basé sur ton article je tente de mettre en place un petit AP custom qui diffuse deux SSID et qui me permettra de sortir par deux points de sortie différents sur Internet

    Tout mon setup semble ok. je pense qu’il s’agit d’un soucis au niveau de mes routes, mais je ne parviens pas à identifier le problème.

    Je rencontre quelques soucis avec mon setup ; accepterais tu d’y jeter un oeil ?

    1. Merci ! Il y a un peu de relâchement ces derniers temps, j’espère pouvoir trouver rapidement du temps pour continuer.

      Je peux toujours regarder, sans garanties. S’il n’y a rien de crucial, tu peux en parler dans les commentaires, ça permettra à quelqu’un qui a le même genre de problème de se faire une idée de la solution.

  2. Hello David,

    Je souhaite utiliser une petit access point qui tourne sous openwrt. Il diffuse 2 SSID ; chaque SSID forward le traffic vers un tunnel openvpn différent. J’utilise le port ethernet de mon device pour récup la connectivité internet via eth0 (dhcp)

    L’objectif est pouvoir surfé sur le net via mes vpn au travers de mes deux SSID.

    Mon problème est le suivant : je parviens bien à forward le traffique d’un premier wifi vers mon vpn mais dès que j’ouvre mon second vpn ; plus rien ne fonctionne.

    Je pense qu’il s’agit d’un problème de route. Mais je ne parviens pas à l’identifier. Est ce que tu pourrais m’aider  ?

    Pour que ca soit plus claire, voici le détail de mes interfaces :

    Je nat tun0 vers mon interface br-custapbe :

     

    J’ai lu dans la doc que par défaut openvpn forward tout le traffique réseau vers le tun ; donc j’ai bien commenté la ligne suivante dans mon fichier de config openvpn :

    push « redirect gateway def1 bypass-dhcp »

    Et j’ai ajouté les routes suivantes :

    route add -net IP_pub_du_server1 netmask 255.255.255.255 gw 192.168.0.1 eth0

    route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.8.0.5 tun0

    Ce qui me donne les routes suivantes :

    A ce stade tout se passe correctement, je peux me connecter sur le wifi lié de l’interface br-custapbe et browse internet.

    C’est lorsque que j’essaie ensuite de monter le 2eme tunnel que j’ai un soucis. Via un tcpdump je vois que dans l’état actuel de mes routes, openvpn essaie d’ouvrir tun1 au travers de tun0

    Je suppose qu’il y a un soucis de priorité de route ?

    Du coup j’ai tenté ceci qui semble fonctionner aussi :

    Ensuite je monte mon 2ème tunnel et je configure la table de route + nat :

    Les deux tunnels sont bien up :

     

    Coté Wifi, je peux toujours surfé sur le net au travers de tun0 donc via br-custapbe. Cependant si je me connect via tun1 donc via br-custapfr cela ne fonctionne pas.

    Est ce que tu as une idée ou une piste qui pourrait me faire avancer ?

    Merci pour ton temps,

    Franck

     

     

     

     

    1. Ah oui, c’est un gros morceau, compliqué à étudier pendant que je suis au bureau 🙂

      Est-ce que tu as essayé d’établir tes règles de routage iptable sur les interfaces au lieu des IPs (-i br-custapbe au lieu de -s 172.17.42.0/24) ?

      Dans l’exemple que tu donne, j’ai l’impression que tu définis les routes par défaut de ton second réseau, mais sans l’avoir NATé / FORWARDé au préalable.

      Au cas où tu ne connaissais pas, tu peux aussi essayer un front qui s’appelle FirewallBuilder. C’est une interface graphique qui va te permettre de déclarer chaque élément de ton firewall, et de créer les règles à la souris. Lui du coup va générer tes règles en intégrant toutes les bonnes pratiques et les règles « accessoires », comme tes -m state. Il va éventuellement mettre le doigt sur une éventuelle règle qui manquerait. À la fin tu récupère ton script d’initialisation d’iptables.

Laisser un commentaire

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