wikiroute

networking recipes

User Tools

Site Tools


extension_d_un_reseaux_sans-fil

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
extension_d_un_reseaux_sans-fil [2015/07/26 01:49] – [4- Limitation du débit] samerextension_d_un_reseaux_sans-fil [2015/07/27 13:56] – [4.2- Activation au démarrage] samer
Line 5: Line 5:
 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.  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. 
 [{{ :schema-extension-wifi.png?direct&450 | Figure 1. Schéma du réseau}}] [{{ :schema-extension-wifi.png?direct&450 | Figure 1. Schéma du réseau}}]
-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é 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é et accéder à Internet.+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'' et ''host-network''
 +  - mettre en place des règles pour garantir la qualité de service.
 ===== -- Matériel ===== ===== -- Matériel =====
 Les configurations suivantes sont proposées pour un point d'accès sans-fil [[http://www.tp-link.com/en/products/details/?model=TL-MR3020#spec|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é [[makerfaire|ici]]. Les configurations suivantes sont proposées pour un point d'accès sans-fil [[http://www.tp-link.com/en/products/details/?model=TL-MR3020#spec|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é [[makerfaire|ici]].
Line 12: Line 17:
  
 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. 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 mode ''sta'' 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 première interface ''wwan'' est configurée en mode ''sta'' ou station. Le SSID (dans cet exemple ''guest-network''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 mode ''ap'' 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.+  * Une deuxième interface ''lan'' est configurée en mode ''ap'' ou access point. Le SSID ''host-network'' et la clé correspondante peuvent être librement choisis. En particulier, ce sont les éléments à communiquer aux utilisateurs qui bénéficient de l'extension du réseau.
  
 <file autoconf /etc/config/wireless> <file autoconf /etc/config/wireless>
Line 46: Line 51:
 </file> </file>
  
-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''.+Ensuite, modifions le contenu du fichier ''/etc/config/network''. L'interface ''wwan'' est configurée comme un client DHCP et récupère les paramètres IP proposé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. L'adresse IP de cette dernière détermine la plage d'adresses distribuées aux clients du réseau ''guest-network''.
  
 <file autoconf /etc/config/network> <file autoconf /etc/config/network>
Line 67: Line 72:
 </file> </file>
  
 +Terminons avec la configuration du fichier ''/etc/config/dhcp''. Le protocole DHCP est activé sur l'interface ''lan''. Ainsi, le point d'accès joue le rôle d'un serveur DHCP sur le réseau ''guest-network''. Il attribue des adresses IP entre 192.168.66.100/24 et 192.168.66.150/24 aux machines clientes. Par contre, ce protocole est désactivé sur l'interface ''wwan'' qui récupère ses paramètres IP (adresse IP, passerelle, serveur DNS) à partir modem routeur. 
 +
 +<file autoconf /etc/config/dhcp>
 +config dhcp lan
 + option interface lan
 + option start 100
 + option limit 150
 + option leasetime 12h
 +
 +config dhcp wan
 + option interface wan
 + option ignore 1
 +</file>
 ===== -- Limitation du débit ===== ===== -- Limitation du débit =====
 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.  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 [[http://software.es.net/iperf/index.html|iperf3]] installé sur un ordinateur associé au point d'accès sans-fil. Le site [[https://iperf.fr|iperf.fr]] propose un ensemble de serveurs publics de test.+Commençons par mesurer le débit du réseau avec l'outil [[http://software.es.net/iperf/index.html|iperf3]] installé sur un ordinateur ''PC-test-guest-network'' associé au point d'accès sans-fil. Le site [[https://iperf.fr|iperf.fr]] propose un ensemble de serveurs publics de test. Les deux extraits suivants montrent le résultat du test de débit avec le serveur ''iperf.testdebit.info''. Le débit moyen montant est de 719 Kbits/sec, alors que le débit moyen descendant est de 6.33 Mbits/sec.  
 + 
 <code> <code>
-root@OpenWrt:~# ifconfig +PC-test-guest-network$ iperf3 -c iperf.testdebit.info 
-br-lan    Link encap:Ethernet  HWaddr F8:D1:11:BD:62:CE   +Connecting to host iperf.testdebit.info, port 5201 
-          inet addr:192.168.66.1  Bcast:192.168.66.255  Mask:255.255.255.0 +[  6] local 192.168.66.156 port 58318 connected to 89.84.127.54 port 5201 
-          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 +[ ID] Interval           Transfer     Bandwidth 
-          RX packets:30190 errors:dropped:27 overruns:frame:+[  6]   0.00-1.00   sec   234 KBytes  1.91 Mbits/sec                   
-          TX packets:36740 errors:dropped:overruns:carrier:+[  6]   1.00-2.00   sec   117 KBytes   959 Kbits/sec                   
-          collisions:txqueuelen:0  + 6]   2.00-3.00   sec   121 KBytes   995 Kbits/sec                   
-          RX bytes:5436590 (5.1 MiB)  TX bytes:48095681 (45.8 MiB)+[  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
  
-eth0      Link encap:Ethernet  HWaddr F8:D1:11:BD:62:CE   +iperf Done.
-          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:+
  
-lo        Link encap:Local Loopback   +PC-test-guest-network$ iperf3 -Rc iperf.testdebit.info 
-          inet addr:127.0.0.1  Mask:255.0.0.0 +Connecting to host iperf.testdebit.info, port 5201 
-          UP LOOPBACK RUNNING  MTU:16436  Metric:1 +Reverse mode, remote host iperf.testdebit.info is sending 
-          RX packets:44 errors:0 dropped:0 overruns:0 frame:0 +[  6] local 192.168.66.156 port 58324 connected to 89.84.127.54 port 5201 
-          TX packets:44 errors:0 dropped:0 overruns:0 carrier:0 +[ ID] Interval           Transfer     Bandwidth 
-          collisions:0 txqueuelen: +[  6]   0.00-1.00   sec   557 KBytes  4.56 Mbits/sec                   
-          RX bytes:3636 (3.5 KiB)  TX bytes:3636 (3.5 KiB)+[  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
  
-wlan0     Link encap:Ethernet  HWaddr F8:D1:11:BD:62:CE   +iperf Done. 
-          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 +</code>
-          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   +==== -- Mise en place ==== 
-          inet addr:192.168.1.41  Bcast:192.168.1.255  Mask:255.255.255.0 + 
-          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 +Nous choisissons de limiter le débit montant à 200 Kbits/sec et descendant à 2 Mbits/secPour cela, nous avons recours à l'outil ''tc'' de contrôle de traficCommençons par installer les modules nécessaires pour OpenWrt sur le point d'accès sans-fil.  
-          RX packets:42792 errors:0 dropped:185 overruns:0 frame:0 + 
-          TX packets:29883 errors:0 dropped:0 overruns:0 carrier:0 +<code> 
-          collisions:0 txqueuelen:32  +root@ap-openwrt:~# opkg update 
-          RX bytes:52446827 (50.0 MiB)  TX bytes:6401871 (6.1 MiB)+root@ap-openwrt:~# opkg install tc iptables-mod-ipopt 
 +root@ap-openwrt:~# opkg install kmod-sched
 </code> </code>
 +
 +Activons le module de gestion de files d'attentes en saut à jetons:
 <code> <code>
-root@OpenWrt:~# tc qdisc add dev wlan0-1 root tbf rate 200kbit burst 10kb latency 50ms peakrate 350kbit minburst 1540+root@ap-openwrt:~# insmod sch_tbf
 </code> </code>
  
 +Ensuite, appliquons une règle de limitation du trafic montant sur l'interface logique ''wlan0-1'' (interface sortante du point d'accès). Le débit maximal choisi est 200 Kbits/sec avec des pics jusuqu'à 350 Kbits/s. Les paquets qui séjournent plus que 50 msec dans la file d'attente sont supprimés.
 <code> <code>
-root@OpenWrt:~# tc qdisc add dev br-lan root tbf rate 2mbit burst 10kb latency 50ms peakrate 4mbit minburst 1540+root@ap-openwrt:~# tc qdisc add dev wlan0-root tbf rate 200kbit burst 10kb latency 50ms peakrate 350kbit minburst 1540
 </code> </code>
  
-<code bash+<WRAP center round tip 100%
-tc -s qdisc ls dev eth0 +Les noms des interfaces logiques du point d'accès peuvent être identifiés dans le résultat de la commande ifconfig. 
-tc qdisc del dev eth0 root+</WRAP> 
 + 
 +De même, appliquons une règle de limitation du trafic descendant à 2 Mbit/sec sur l'interface br-lan (interface entrante du point d'accès): 
 +<code> 
 +root@ap-openwrt:~# tc qdisc add dev br-lan root tbf rate 2mbit burst 10kb latency 50ms peakrate 4mbit minburst 1540
 </code> </code>
 +
 +Vérifions la mise en place des règles de limitation de trafic:
 +<code>
 +root@ap-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@ap-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 
 +</code>
 +
 +Afin de valider la limitation du débit, nous utilisons à nouveau le logiciel iperf3. Les résultats suivants montrent clairement que le débit montant est maintenant limité à 184 Kbits/sec et le débit descendant à 2.02 Mbits/sec.
 +
 +<code>
 +PC-test-guest-network$ 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.
 +
 +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 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.
 +</code>
 +
 +==== -- Activation au démarrage ====
 +
 +Dans ce paragraphe, il s'agit d'automatiser la limitation du début à l'aide d'un script utilisant les commandes précédentes.
 +
 +Commençons par créer deux fichiers qui rassemblent les commandes d'activation et de suppression de la limitation de débit. Ces fichiers sont nommés ''tc_qdisc_start.sh'' et ''tc_qdisc_stop.sh'' respectivement. On note le chargement de module ''sch_tbf'' indispensable pour le bon fonctionnement de la gestion des files d'attentes.
 + 
 +<file autoconf /etc/tc_qdisc_start.sh>
 +#!/bin/sh
 +
 +insmod sch_tbf
 +tc qdisc add dev wlan0-1 root tbf rate 200kbit burst 10kb latency 50ms peakrate 350kbit minburst 1540
 +tc qdisc add dev br-lan root tbf rate 2mbit burst 10kb latency 50ms peakrate 4mbit minburst 1540
 +</file>
 +
 +<file autoconf /etc/tc_qdisc_stop.sh>
 +#!/bin/sh
 +
 +tc qdisc del dev br-lan root
 +tc qdisc del dev wlan0-1 root
 +rmmod sch_tbf
 +</file>
 +
 +Rendons ces fichiers exécutables:
 +<code>
 +root@ap-openwrt:~# chmod +x /etc/tc_qdisc_start.sh /etc/tc_qdisc_stop.sh
 +</code>
 +
 +Maintenant, il s'agit 
 +<file autoconf /etc.init.d/ratelimit>
 +#!/bin/sh /etc/rc.common
 +
 +START=50
 + 
 +start() {
 +        echo "Starting traffic control"
 +        /etc/tc_qdisc_start.sh
 +}
 +                   
 +stop() {
 +       echo "Stopping traffic control"
 +       /etc/tc_qdisc_stop.sh
 +}
 +</file>
extension_d_un_reseaux_sans-fil.txt · Last modified: 2015/07/27 14:17 by samer