Création d'un point d'accès Wifi
De Diablotins.org.
| Point d'accès Wi-Fi
|
| ||
| Dans cette note, je vous décrirais la mise en place d'un point d'accès (AP) Wi-Fi sans chiffrage, sous FreeBSD 8.0,
afin fournir un serveur DHCP et un partage de connexion par Packet Filer (PF) ( via du PAT et non du NAT dans notre cas). Cette configuration a été testée lors des RMLL 2009 pour palier à un accès Wi-Fi défaillant. |
Sommaire |
Pré-requis
Vérifiez que votre interface Wi-Fi supporte le mode AP. Sous FreeBSD 8, il n'est plus possible d'utiliser directement les interfaces, mais uniquement leur “clone”; la commande suivante n'est plus valide:
ifconfig rum0 list caps rum0=2181e500<IBSS,HOSTAP,TXPMGT,SHSLOT,SHPREAMBLE,MONITOR,WPA1,WPA2,BGSCAN>
La solution que j'utilise sous la 8.0 est d'utiliser le man page de votre interface pour connaître les capacités de votre carte. Le but est de vérifier que votre interface supporte le mode HOSTAP.
Installation du serveur DHCP
Nous utiliserons le port net/isc-dhcp30-server; c'est le seul logiciel externe à FreeBSD que nous devrons installer:
cd /usr/ports/net/isc-dhcp30-server/ make install clean
gardez les valeurs de configuration par défaut.
Puis générez le fichier /usr/local/etc/dhcpd.conf suivant (en l'adaptant à votre environnement bien sur!):
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.50 10.1.1.100;
option domain-name-servers 192.168.252.1;
option routers 10.1.1.254;
}
On ne lancera pas le service DHCP immédiatement.
Configuration du PAT
Génèrez le fichier de configuration de Packet Filter, pf.conf(5) suivant (adaptez le votre à votre environnement):
ext_if="bge0"
int_if="wlan0"
internal_net="10.1.1.0/24"
set skip on lo
scrub in
nat on $ext_if from $internal_net to any -> ($ext_if)
pass in all
pass out all
pass out on $ext_if proto { icmp, tcp, udp } all keep state
On ne lancera pas le service PF immédiatement.
Activation du routage
N'oubliez pas d'activer le routage:
sysctl net.inet.ip.forwarding=1
Configuration de la carte Wi-Fi en mode AP
Lancez ces simples commandes:
ifconfig wlan0 create wlandev rum0 wlanmode ap ifconfig wlan0 ssid BSD-Rulez channel 1 ifconfig wlan0 10.1.1.254/24
Test de l'ensemble
Maintenant que votre carte Wi-Fi est paramétrée en AP, lancez les services DHCP et le pare-feu:
/usr/local/etc/rc.d/isc-dhcpd onestart /etc/rc.d/pf onestart
Puis vérifiez que la connexion à votre AP fonctionne... Si ça marche on sauvegarde l'ensemble pour un démarrage automatique.
Démarrage automatique
Ajoutez les lignes suivantes au fichier /etc/rc.conf (je n'ai pas testé cette partie):
wlans_rum0="wlan0" create_args_wlan0="wlanmode ap" pf_enable="YES" # Enable PF (load module if required) pf_rules="/etc/pf.conf" # rules definition file for pf pf_flags="" # additional flags for pfctl startup #ifconfig_wlan0="ssid BSD-Rulez channel 1 10.1.1.254/24" #ipfilter_enable="YES" #ipfilter_rules="/etc/ipf.rules" dhcpd_enable="YES" dhcpd_name="_dhcp" dhcpd_flags="" dhcpd_iface="wlan0" dhcpd_conf="/usr/local/etc/dhcpd.conf" gateway_enable=yes # sysctl net.inet.ip.forwarding=1

