This is an old revision of the document!
Extension d'un réseaux sans-fil
La maquette mise en place dans ce document consiste à étendre un réseau local à l'aide d'un point d'accès sans-fil. Le schéma de la figure 1 illustre le contexte de la réalisation.
On dispose d'un modem routeur connecté à Internet. Ce modem annonce un SSID host-network
. Le réseau IP correspondant est 192.168.1.0/24. Dans la suite, on présente les configurations nécessaires pour permettre à un point d'accès sans-fil d'étendre la connectivité du réseau local. En particulier, le point d'accès se connecte en mode station au modem routeur. De plus, il annonce un SSID guest-network
et une plage d'adresses IP 192.168.66.0/24. Ainsi, les machines peuvent s'associer au SSID annoncé par le point d'accès et accéder à Internet.
Cette maquette permet d'atteindre trois objectifs principaux:
- étendre la couverture radio du modem routeur.
- mettre en place une séparation entre les réseaux
guest-network
ethost-network
. - mettre en place des règles pour garantir la qualité de service.
Les configurations suivantes sont proposées pour un point d'accès sans-fil TP-LINK MR3020. Une distribution OpenWrt ATTITUDE ADJUSTMENT (12.09, r36088) a été installée sur ce routeur. Le mode d'installation à partir du firmware d'origine est expliqué ici.
Commençons par modifier le contenu du fichier /etc/config/wireless
sur le point d'accès sans-fil. En particulier, il s'agit de créer deux interfaces radio.
- Une première interface
wwan
est configurée en modesta
ou station. Le SSID et la clé sont donc ceux fournis par le modem routeur connecté à Internet. De ce point de vue, le point d'accès se comporte comme une machine terminale avec une liaison sans-fil. - Une deuxième interface
lan
est configurée en modeap
ou access point. Le SSID et la clé peuvent être librement choisis. Ce sont les éléments à communiquer aux utilisateurs bénéficiants de l'extension du réseau.
- /etc/config/wireless
config wifi-device 'radio0' option type 'mac80211' option macaddr 'f8:ff:ff:ff:f:ff' option hwmode '11ng' option htmode 'HT20' list ht_capab 'SHORT-GI-20' list ht_capab 'SHORT-GI-40' list ht_capab 'RX-STBC1' list ht_capab 'DSSS_CCK-40' option channel '4' option txpower '27' config wifi-iface option network 'wwan' option ssid 'host-network' option encryption 'psk' option device 'radio0' option mode 'sta' option bssid '00:17:33:F2:FF:FF' option key 'mysecretkey' config wifi-iface option device 'radio0' option mode 'ap' option ssid 'guest-network' option network 'lan' option encryption 'psk2' option key 'FAFBFCFDFF'
Ensuite, modifions le contenu du fichier /etc/config/network
. L'interface wwan
est configurée en client DHCP et récupère les paramètres IP annoncés par le modem routeur. L'interface lan
(qui forme un pont avec l'interface Ethernet du MR3020) dispose de paramètres de configuration statiques. Evidemment, l'adresse IP de cette dernière est dans la plage d'adresses distribuées aux clients du réseau guest-network
.
- /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' option type 'bridge' option proto 'static' option netmask '255.255.255.0' option dns '8.8.8.8' option ipaddr '192.168.66.1' config interface 'wwan' option proto 'dhcp'
Afin de préserver la bande passante du réseau, il est possible de limiter le débit du trafic vers ou depuis les machines associées au point d'accès sans-fil.
Commençons par mesurer le débit du réseau avec l'outil iperf3 installé sur un ordinateur PC-test-guest-network
associé au point d'accès sans-fil. Le site iperf.fr propose un ensemble de serveurs publics de test. Les deux extraits suivants montrent le résultat du test de débit montant (719 Kbits/sec) et descendant (6.33 Mbits/sec) avec le serveur iperf.testdebit.info
.
PC-test-guest-network$ iperf3 -c iperf.testdebit.info Connecting to host iperf.testdebit.info, port 5201 [ 6] local 192.168.66.156 port 58318 connected to 89.84.127.54 port 5201 [ ID] Interval Transfer Bandwidth [ 6] 0.00-1.00 sec 234 KBytes 1.91 Mbits/sec [ 6] 1.00-2.00 sec 117 KBytes 959 Kbits/sec [ 6] 2.00-3.00 sec 121 KBytes 995 Kbits/sec [ 6] 3.00-4.00 sec 677 KBytes 5.52 Mbits/sec [ 6] 4.00-5.00 sec 76.6 KBytes 627 Kbits/sec [ 6] 5.00-6.00 sec 0.00 Bytes 0.00 bits/sec [ 6] 6.00-7.00 sec 0.00 Bytes 0.00 bits/sec [ 6] 7.00-8.00 sec 0.00 Bytes 0.00 bits/sec [ 6] 8.00-9.00 sec 0.00 Bytes 0.00 bits/sec [ 6] 9.00-10.00 sec 0.00 Bytes 0.00 bits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 6] 0.00-10.00 sec 1.20 MBytes 1.00 Mbits/sec sender [ 6] 0.00-10.00 sec 878 KBytes 719 Kbits/sec receiver iperf Done. PC-test-guest-network$ iperf3 -Rc iperf.testdebit.info Connecting to host iperf.testdebit.info, port 5201 Reverse mode, remote host iperf.testdebit.info is sending [ 6] local 192.168.66.156 port 58324 connected to 89.84.127.54 port 5201 [ ID] Interval Transfer Bandwidth [ 6] 0.00-1.00 sec 557 KBytes 4.56 Mbits/sec [ 6] 1.00-2.00 sec 710 KBytes 5.80 Mbits/sec [ 6] 2.00-3.00 sec 765 KBytes 6.28 Mbits/sec [ 6] 3.00-4.00 sec 802 KBytes 6.57 Mbits/sec [ 6] 4.00-5.00 sec 783 KBytes 6.41 Mbits/sec [ 6] 5.00-6.00 sec 851 KBytes 6.98 Mbits/sec [ 6] 6.00-7.00 sec 864 KBytes 7.07 Mbits/sec [ 6] 7.00-8.00 sec 711 KBytes 5.82 Mbits/sec [ 6] 8.00-9.00 sec 799 KBytes 6.54 Mbits/sec [ 6] 9.00-10.00 sec 761 KBytes 6.25 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 6] 0.00-10.00 sec 7.68 MBytes 6.45 Mbits/sec 21 sender [ 6] 0.00-10.00 sec 7.55 MBytes 6.33 Mbits/sec receiver iperf Done.
Nous choisissons de limiter le débit montant à 200 Kbits/sec et descendant à 2 Mbits/sec.
opkg update $ opkg install tc iptables-mod-ipopt $ opkg kmod-sched insmod sch_tbf
root@OpenWrt:~# tc qdisc add dev wlan0-1 root tbf rate 200kbit burst 10kb latency 50ms peakrate 350kbit minburst 1540
root@OpenWrt:~# tc qdisc add dev br-lan root tbf rate 2mbit burst 10kb latency 50ms peakrate 4mbit minburst 1540
simurgh:iperf-3.0.11 simurgh$ iperf3 -c iperf.testdebit.info Connecting to host iperf.testdebit.info, port 5201 [ 6] local 192.168.66.156 port 58340 connected to 89.84.127.54 port 5201 [ ID] Interval Transfer Bandwidth [ 6] 0.00-1.00 sec 151 KBytes 1.23 Mbits/sec [ 6] 1.00-2.00 sec 9.90 KBytes 81.1 Kbits/sec [ 6] 2.00-3.00 sec 26.9 KBytes 220 Kbits/sec [ 6] 3.00-4.00 sec 25.5 KBytes 208 Kbits/sec [ 6] 4.00-5.01 sec 24.0 KBytes 197 Kbits/sec [ 6] 5.01-6.00 sec 25.5 KBytes 209 Kbits/sec [ 6] 6.00-7.01 sec 22.6 KBytes 185 Kbits/sec [ 6] 7.01-8.01 sec 15.6 KBytes 127 Kbits/sec [ 6] 8.01-9.00 sec 25.5 KBytes 209 Kbits/sec [ 6] 9.00-10.00 sec 25.5 KBytes 208 Kbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 6] 0.00-10.00 sec 351 KBytes 288 Kbits/sec sender [ 6] 0.00-10.00 sec 225 KBytes 184 Kbits/sec receiver iperf Done. simurgh:iperf-3.0.11 simurgh$ iperf3 -Rc iperf.testdebit.info Connecting to host iperf.testdebit.info, port 5201 Reverse mode, remote host iperf.testdebit.info is sending [ 6] local 192.168.66.156 port 58348 connected to 89.84.127.54 port 5201 [ ID] Interval Transfer Bandwidth [ 6] 0.00-1.00 sec 240 KBytes 1.97 Mbits/sec [ 6] 1.00-2.00 sec 233 KBytes 1.91 Mbits/sec [ 6] 2.00-3.00 sec 232 KBytes 1.90 Mbits/sec [ 6] 3.00-4.00 sec 232 KBytes 1.90 Mbits/sec [ 6] 4.00-5.00 sec 233 KBytes 1.91 Mbits/sec [ 6] 5.00-6.00 sec 233 KBytes 1.91 Mbits/sec [ 6] 6.00-7.00 sec 232 KBytes 1.90 Mbits/sec [ 6] 7.00-8.00 sec 215 KBytes 1.76 Mbits/sec [ 6] 8.00-9.00 sec 250 KBytes 2.05 Mbits/sec [ 6] 9.00-10.00 sec 233 KBytes 1.91 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 6] 0.00-10.00 sec 2.47 MBytes 2.07 Mbits/sec 29 sender [ 6] 0.00-10.00 sec 2.40 MBytes 2.02 Mbits/sec receiver iperf Done.
root@OpenWrt:~# ifconfig br-lan Link encap:Ethernet HWaddr F8:D1:11:BD:62:CE inet addr:192.168.66.1 Bcast:192.168.66.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:30190 errors:0 dropped:27 overruns:0 frame:0 TX packets:36740 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5436590 (5.1 MiB) TX bytes:48095681 (45.8 MiB) eth0 Link encap:Ethernet HWaddr F8:D1:11:BD:62:CE UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:4 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:44 errors:0 dropped:0 overruns:0 frame:0 TX packets:44 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3636 (3.5 KiB) TX bytes:3636 (3.5 KiB) wlan0 Link encap:Ethernet HWaddr F8:D1:11:BD:62:CE UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:30196 errors:0 dropped:0 overruns:0 frame:0 TX packets:36936 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:32 RX bytes:5859574 (5.5 MiB) TX bytes:48873065 (46.6 MiB) wlan0-1 Link encap:Ethernet HWaddr FA:D1:11:BD:62:CF inet addr:192.168.1.41 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:42792 errors:0 dropped:185 overruns:0 frame:0 TX packets:29883 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:32 RX bytes:52446827 (50.0 MiB) TX bytes:6401871 (6.1 MiB)
root@OpenWrt:~# tc -s qdisc ls dev br-lan qdisc tbf 8004: root refcnt 2 rate 2000Kbit burst 10Kb peakrate 4000Kbit minburst 1540b lat 50.0ms Sent 10180 bytes 35 pkt (dropped 0, overlimits 9 requeues 0) backlog 0b 0p requeues 0 root@OpenWrt:~# tc -s qdisc ls dev wlan0-1 qdisc tbf 8003: root refcnt 5 rate 200000bit burst 10Kb peakrate 350000bit minburst 1540b lat 50.0ms Sent 3682 bytes 28 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0
tc -s qdisc ls dev eth0 tc qdisc del dev eth0 root