benoît philippon wifispares / atlanteam mum paris 2016 · le bonding avec mikrotik benoît...

55
Le bonding avec Mikrotik Benoît PHILIPPON Wifispares / Atlanteam MUM Paris 2016

Upload: vuongkiet

Post on 18-Mar-2019

258 views

Category:

Documents


0 download

TRANSCRIPT

Le bonding avec Mikrotik

Benoît PHILIPPONWifispares / Atlanteam

MUM Paris 2016

Wifispares/Atlanteam

● Ingénierie réseau● Solution hotspot propriétaire● Liaisons point-à-point● Géolocalisation

Détection de présence

● Spécialiste Mikrotik● Conseils dans le choix

des modèles● Paramétrage sur mesure● Formation

www.atlanteam.comwww.wifispares.com

Table des matières

● Le bonding : présentation, définitions

● Exemple 1 : ethernet

● Exemple 2 : Wifi

● Exemple 3 : ADSL

Le bonding

● En Anglais : coller, assembler

● Groupement de ports physiques en un seul lien logique

Source : wikipedia

Répartition de charge → débit++ !

Redondance → fiabilité++ !

Le bonding / LACP

Standard IEEE 802.3ad

Source : wiki Mikrotik

● Intéropérabilité avec d’autres constructeurs● Les flux réseaux sont déterminés par un hash MAC● Conçu pour des interfaces ethernet● Détection de panne basée sur l’état de l’interface réseau

Le bonding / autres modes

● Balance XOR

● Balance TLB

● Balance ALB

● Similaire à LACP mais non standard● Le hash prend en compte MAC/IP/Port

● Transmit Load Balancing● Equilibrage des trames émises

● Adaptive Load Balancing● Equilibrage des trames émises ET reçues

Le bonding / autres modes

● Broadcast

● Active-backup

● Balance RR

● Les mêmes informations sont envoyées sur tous les liens● Pas de répartition de charge

● Un seul lien est réellement utilisé, l’autre est en attente

● Round Robin (Tourniquet)● C’est le seul mode permettant une répartition de charge par paquet !● Attention aux paquets qui arrivent éventuellement dans le désordre

Tolérance aux pannes

● Détecter le lien défaillant et agir

● MII● Basé sur l’état de l’interface● Lien ethernet actif = pas de panne

● ARP● Basé sur la réponse à des requêtes ARP● Plus fiable que MII

● Attention aux mélanges● Ex:Pas de ARP avec LACP

Mise en pratique #1

Liaison ethernet

Mise en pratique #1 : ethernet

Vue globale

R1 :RB951G-2HnD R2 : RB951G-2HnD

100Mbps / eth2

100Mbps / eth3

Gbps Gbps

eth1 eth1

Liaison entre R1 et R2 volontairement bridée

Mise en pratique #1 : ethernet

Configuration : interfaces ethernet

/interface ethernet

set [ find default-name=ether1 ] name=ether1_PC

set [ find default-name=ether2 ] name=ether2_BOND1 advertise=10M-half,10M-full,100M-half,100M-full set [ find default-name=ether3 ] name=ether3_BOND2 advertise=10M-half,10M-full,100M-half,100M-full

Mise en pratique #1 : ethernet

Configuration : bonding

/interface bondingadd mode=802.3ad name=bonding1 slaves=ether2_BOND1,ether3_BOND2

Mise en pratique #1 : ethernet

Configuration : bridge

/interface bridgeadd name=bridge1

/interface bridge portadd bridge=bridge1 interface=ether1_PCadd bridge=bridge1 interface=bonding1

Mise en pratique #1 : ethernet

Copie de fichier

Mise en pratique #1 : ethernet

Test de redondance : coupure eth2

Mise en pratique #1 : ethernet

Test de redondance : coupure eth1

C:\Utils\iperf>iperf3.exe -c 192.168.1.58 -i 10 -P 2Connecting to host 192.168.1.58, port 5201[ 4] local 192.168.1.67 port 49246 connected to 192.168.1.58 port 5201[ 6] local 192.168.1.67 port 49247 connected to 192.168.1.58 port 5201[ ID] Interval Transfer Bandwidth[ 4] 0.00-10.02 sec 60.5 MBytes 50.7 Mbits/sec[ 6] 0.00-10.02 sec 53.0 MBytes 44.4 Mbits/sec[SUM] 0.00-10.02 sec 114 MBytes 95.1 Mbits/sec

iperf Done.

Mise en pratique #1 : ethernet

Limitation du LACP

Mise en pratique #1 : ethernet

Amélioration : « balance XOR »

Mise en pratique #1 : ethernet

Amélioration : « balance XOR »

C:\Utils\iperf>iperf3.exe -c 192.168.1.58 -i 10 -P 2 -l 512kConnecting to host 192.168.1.58, port 5201[ 4] local 192.168.1.67 port 49297 connected to 192.168.1.58 port 5201[ 6] local 192.168.1.67 port 49298 connected to 192.168.1.58 port 5201[ ID] Interval Transfer Bandwidth[ 4] 0.00-10.02 sec 102 MBytes 85.7 Mbits/sec[ 6] 0.00-10.02 sec 101 MBytes 84.7 Mbits/sec[SUM] 0.00-10.02 sec 204 MBytes 170 Mbits/sec

Mise en pratique #1 : ethernet

Nouvelle Amélioration : « balance RR »

C:\Utils\iperf>iperf3.exe -c 192.168.1.58 -i 10 -P 1 -l 512k -t 30Connecting to host 192.168.1.58, port 5201[ 4] local 192.168.1.67 port 49309 connected to 192.168.1.58 port 5201[ ID] Interval Transfer Bandwidth[ 4] 0.00-10.02 sec 225 MBytes 189 Mbits/sec[ 4] 10.02-20.01 sec 220 MBytes 184 Mbits/sec[ 4] 20.01-30.01 sec 222 MBytes 186 Mbits/sec

Mise en pratique #1 : ethernet

Nouvelle Amélioration : « balance RR »

Mise en pratique #1 : ethernet

Nouvelle Amélioration : « balance RR »

Mise en pratique #2

Liaison Wifi point-à-point

Mise en pratique #2 : Wifi

Vue globale

● Plate-forme de transporteur routier

● Nouvel entrepôt (extension)

● Besoin : liaison rapide (LAN) et fiable

● En pleine campagne

● ~800m

Mise en pratique #2 : Wifi

RBSXT5nDr2 RB750UP

● Antenne directionnelle 15°● 5Ghz 802.11a/n @40Mhz (300Mbps)● Gain d’antenne : 16dBi● POE IN 8-30v● RouterOS● ~60 € !!

● Routeur 5 ports fast ethernet● POE OUT 8-30V sur 4 ports● RouterOS● ~60 € !!

Mise en pratique #2 : Wifi

Solution retenue

Bras 1 / 5Ghz

Bras 2 / 5Ghz

SW01 SW02

Bridge Bridge

Bridge Bridge

Mise en pratique #2 : Wifi

Lien WIFI : préparation

5Ghz

SX01 SX05

Scan de l’environnement :/interface wireless spectral-history

Mise en pratique #2 : Wifi

Lien WIFI : configuration

5Ghz, 5520, 40Mhz eC

SX01 SX05

/interface wireless security-profilesset [ find default=yes ] add authentication-types=wpa2-psk name=profil_secure wpa2-pre-shared-key=PASSPHRASE1337

/interface wirelessset [ find default-name=wlan1 ] antenna-gain=16 band=5ghz-onlyn channel-width=20/40mhz-eC \ country=france disabled=no frequency=5520 frequency-mode=regulatory-domain hide-ssid=yes \ mode=bridge security-profile=profil_secure ssid=BYA0105 wds-default-bridge=bridge_wds \ wds-mode=dynamic-mesh wireless-protocol=nstreme/interface wireless nstremeset wlan1 enable-nstreme=yes

Mise en pratique #2 : Wifi

Lien WIFI : configuration

5Ghz, 5520, 40Mhz eC

SX01 SX05

/interface wireless security-profilesset [ find default=yes ] add authentication-types=wpa2-psk name=profil_secure wpa2-pre-shared-key=PASSPHRASE1337

/interface wirelessset [ find default-name=wlan1 ] antenna-gain=16 band=5ghz-onlyn channel-width=20/40mhz-eC \ country=france disabled=no frequency=5520 frequency-mode=regulatory-domain hide-ssid=yes \ mode=bridge security-profile=profil_secure ssid=BYA0105 wds-default-bridge=bridge_wds \ wds-mode=dynamic-mesh wireless-protocol=nstreme/interface wireless nstremeset wlan1 enable-nstreme=yes

Mise en pratique #2 : Wifi

Lien WIFI : configuration

5Ghz

SX01 SX05

Mise en pratique #2 : Wifi

Test avec l’outil intégré « traffic-generator »

SX01 SX05

Génération de flux tcp/tool traffic-generator packet-templateadd header-stack=mac,ip,udp name=packet-test-downloadip-protocol=tcpip-src=10.94.105.11 ip-dst=10.94.105.10

/tool traffic-generatorstart mbps=120 tx-template=packet-test-download

Visualisation/interface wireless monitor wlan1

et/ou

/interface monitor-traffic wlan1

120Mbps

Mise en pratique #2 : Wifi

Test avec l’outil intégré « traffic-generator »

SX01 SX05100Mbps

Bras 1 :

Mise en pratique #2 : Wifi

Test avec l’outil intégré « traffic-generator »

SX02 SX06120Mbps

Bras 2 :

Mise en pratique #2 : Wifi

Construction du bonding

Bras 1 / 100Mbps

Bras 2 / 120Mbps

SW01 SW02

Bridge Bridge

Bridge Bridge

Mais… http://wiki.mikrotik.com/wiki/Manual:Interface/Bonding dit :

« Make sure that you do not have IP addresses on interfaces which will be enslaved for bonding interface! »

Mise en pratique #2 : Wifi

Tunnel EoIP « bras 1 »

Bras 1SW01 SW02

Bridge Bridge

10.94.105.1/29

10.94.105.2/29 10.94.105.3/29

10.94.105.4/29

Tunnel EoIP

/interface eoipadd name=eoip-15 local-address=10.94.105.1 remote-address=10.94.105.4 tunnel-id=15

/interface eoipadd name=eoip-15 local-address=10.94.105.4 remote-address=10.94.105.1 tunnel-id=15

Mise en pratique #2 : Wifi

Tunnel EoIP « bras 2 »

Bras 2

10.94.105.9/29 10.94.105.12/29

10.94.105.10/29 10.94.105.11/29

/interface eoipadd name=eoip-26 local-address=10.94.105.9 remote-address=10.94.105.12 tunnel-id=26

/interface eoipadd name=eoip-26 local-address=10.94.105.12 remote-address=10.94.105.9 tunnel-id=26

Tunnel EoIP

Mise en pratique #2 : Wifi

Construction du bonding

Bras 1 : eoip-15

Bras 2 : eoip-26

SW0110.94.105.34/29

SW0210.94.105.35/29

/interface bondingname=bonding-RN141mode=balance-rr slaves=eoip-15,eoip-26link-monitoring=arp add arp-interval=1s arp-ip-targets=10.94.105.34

/ip addressadd address=10.94.105.35/29 interface=bonding-RN141

/interface bondingname=bonding-Fortmode=balance-rr slaves=eoip-15,eoip-26link-monitoring=arp add arp-interval=1s arp-ip-targets=10.94.105.35

/ip addressadd address=10.94.105.34/29 interface=bonding-Fort

Mise en pratique #2 : Wifi

Test

Bonding : eoip-15 + eoip-26

SW0110.94.105.34/29

SW0210.94.105.35/29

Mise en pratique #2 : Wifi

Panne !

Mise en pratique #3

Liaisons ADSL

Mise en pratique #3 : ADSL

Vue globale

Modem ADSL 1

Modem ADSL 2

Objectif : redondance, répartition de charge, agrégation

Mise en pratique #3 : ADSL

Architecture choisie

Modem ADSL 1

Modem ADSL 2

1 Serveur RouterOS « dans le cloud » servira d’extrémité au bonding

Mise en pratique #3 : ADSL

Implémentation

« Free 3 »

1 Serveur RouterOS x86 « dans le cloud » servira d’extrémité au bonding

« Free 4 »

« RouterOS x86 »82.233.176.19

82.238.136.44

51.254.88.130

51.254.88.131

Mise en pratique #3

«  RouterOS x86 ?? »

Mise en pratique #3 : ADSL

Configuration : bras « Free3 »« Free 3 »

« RouterOS x86 »82.233.176.19

51.254.88.130

/interface ethernetset [ find default-name=ether3 ] name=ether3_FREE3

/ip dhcp-clientinterface=ether3_FREE3 add add-default-route=nouse-peer-dns=no use-peer-ntp=no

/ip routedst-address=51.254.88.130/32 gateway=82.233.176.254

/interface eoipadd name=eoip-free3 local-address=82.233.176.19 remote-address=51.254.88.130 tunnel-id=1003

/interface eoipadd name=eoip-free3 local-address=51.254.88.130 remote-address=82.233.176.19 tunnel-id=1003

Mise en pratique #3 : ADSL

Configuration : bras « Free4 »

/interface ethernetset [ find default-name=ether4 ] name=ether4_FREE4

/ip dhcp-clientadd interface=ether4_FREE4 add-default-route=no use-peer-dns=no use-peer-ntp=no

/ip routeadd dst-address=51.254.88.131/32 gateway=82.238.136.254

/interface eoipadd name=eoip-free4 local-address=82.238.136.44 remote-address=51.254.88.131 tunnel-id=1004

/interface eoipadd name=eoip-free4 local-address=51.254.88.131 Remote-address=82.238.136.144 tunnel-id=1004

« Free 4 »

« RouterOS x86 »

82.238.136.44

51.254.88.131

Mise en pratique #3 : ADSL

Configuration du bonding

/interface bondingadd name=bonding1 slaves=eoip-free3,eoip-free4link-monitoring=arp arp-interval=200ms arp-ip-targets=10.0.0.1

/ip addressadd address=10.0.0.1/30 interface=bonding1

Bras eoip-free3

Bras eoip-free4

10.0.0.1/3010.0.0.2/30

/interface bondingadd name=bonding1 slaves=eoip-free3,eoip-free4link-monitoring=arp arp-interval=200ms arp-ip-targets=10.0.0.1

/ip addressadd address=10.0.0.2/30 interface=bonding1

Mise en pratique #3 : ADSL

Test Free3 seule« Free 3 »

/ip routeadd gateway=82.233.176.254

/ip firewall natadd action=masquerade chain=srcnat src-address=192.168.0.0/24

Mise en pratique #3 : ADSL

Test Free4 seule« Free 4 »

/ip routeset [ find dst-address="0.0.0.0/0" ] Gateway=82.238.136.254

Mise en pratique #3 : ADSL

Test bonding / performances

/ip routeset [ find dst-address="0.0.0.0/0" ] gateway=10.0.0.1

Mise en pratique #3 : ADSL

Test bonding / pannes

Mise en pratique #3 : ADSL

Limitations du « balance-rr » sur ADSL

● Nécessité d’avoir lignes ADSL équivalentes

● Perte de bande passante (tunnels) ~ 15 %

● Attention à l’ordre des paquets → retransmissions

Conclusion

● 3 cas de figure très différents (à la base)

● Richesse des fonctionnalités de RouterOS

● Solutions simples et élégantes

Questions

Merci pour votre attention

Le bonding avec Mikrotik

Benoît PHILIPPONWifispares / Atlanteam

MUM Paris 2016