wikiroute

networking recipes

User Tools

Site Tools


extension_d_un_reseaux_sans-fil

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.

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é 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:

  1. étendre la couverture radio du modem routeur.
  2. mettre en place une séparation entre les réseaux guest-network et host-network.
  3. 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 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 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.
/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 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.

/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'

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.

/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

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 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.

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. Pour cela, nous avons recours à l'outil tc de contrôle de trafic. Commençons par installer les modules nécessaires pour OpenWrt.

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
extension_d_un_reseaux_sans-fil.1437895349.txt.gz · Last modified: 2015/07/26 09:22 by samer