Un des trucs, sinon LE truc que je crevais d’envie de faire dans mon nouvel appart, c’était de monter un vrai hotspot, comme je l’expliquait deux news plus bas. Eh bah ça y est, c’est up. Je sais pas encore bien si j’en ferai un article ou si je donnerai des astuces au coup par coup, mais en attendant, voici à quoi ça ressemble.

Deux OpenWRT configurés en simples bridges permettent aux invités de se raccorder au VLAN dédié au wireless public :
/etc/config/wireless
config wifi-device wifi0
option type atheros
option disabled 0
option mode 11b
option distance 10000
option diversity 0
option txantenna 1
option rxantenna 1
option channel 6
config wifi-iface
option device wifi0
option ifname ath0
option network lan
option mode ap
option ssid Empire-Network
option encryption none
option txpower 18
/etc/config/network
config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0
config interface lan
option ifname eth0 ath0
option type bridge
option proto static
option ipaddr 192.168.200.253
option netmask 255.255.255.0
Où un serveur dhcp leur fournira une IP dans le subnet adéquat. Un simple règle pf redirigera alors toute requète http vers un portail captif qui expliquera à l’invité quelles informations entrer dans son browser afin de pouvoir utiliser HTTP, HTTPS et FTP (notez que pour le moment un seul sur une bonne 30aine a reussi à effectuer cette opération heutement technique…). Quelques règles de QoS m’assurent que l’invité ne crame pas toute ma bande passante :
/etc/pf.conf
int="fxp0"
table <empire_guests> { 192.168.200.0/24, ! 192.168.200.254, ! 192.168.200.253, ! 192.168.200.252 }
altq on $int cbq bandwidth 28Mb queue { empirenet_in, empirenet_out }
queue empirenet_in bandwidth 2Mb priority 1 cbq(default)
queue empirenet_out bandwidth 128Kb priority 7
rdr on $int inet proto tcp from any to <empire_guests> port www -> 127.0.0.1 port 80
pass in on $int from any to <empire_guests> queue empirenet_in
pass out on $int from <empire_guests> to any queue empirenet_out
L’utilisateur passe alors via Squid et son activité est soumise au filtrage de squidGuard dans lequel j’ai interdit les catégories !aggressive !violence !hacking !ads !porn !warez !suspect.
J’applique sur le switch des access-list par port qui n’autorisent que les protocoles HTTP, SSH et DHCP.
[...] ip access-list extended wifiout permit ip any host 192.168.200.254 permit tcp any any eq http permit udp any any eq bootps permit tcp any any eq ssh [...] interface e 18 ip access-group wifiout in [...]
Le tout est graphé par Cacti, notemment grace à l’extension dhcpd-snmp de Net-SNMP et au template cacti associé.
Si vous passez dans le 17eme, cherchez le ssid “Empire-Network” :)
update
Bon bah en fait si, y’aura un article :)
Recent Comments