Le fournisseur Canadien Bell-Fibe offre un service clé en main incluant un modem offrant l’accès internet un réseau local (LAN) câblé ainsi que WI-FI. Si l’on désire conserver un contrôle de notre LAN de maison via notre propre routeur OpenWRT|LEDE deux méthodes s'offrent à nous:

  1. Connecter notre routeur OpenWRT|LEDE derrière le routeur Bell-Fibe i.e. connecter le port WAN de notre routeur OpenWRT|LEDE dans l’un des ports LAN du routeur de Bell-Fibe. Il en résulte une perte de performance dû aux surcouches NAT (voir double-NAT) entre le routeur Bell-Fibe et notre routeur OpenWRT|LEDE, ajoute une dépendance au routeur de Bell aux capacités limitées en plus d'être dans l’incapacité de gérer notre propre accès internet nativement.
  2. Contourner le modem Bell afin d’avoir un accès direct à l’internet: Cette seconde option permet d’avoir un contrôle complet sur notre environnement en créant un ségrégation logique et physique entre notre réseau local LAN de maison vs celui offert par Bell-Fibe. Cette option est celle préconisée dans le cadre de cette procédure.
  3. Mettre en place une limitation de notre vitesse internet afin de limiter l'enjeu "Bufferbloat"

Les objectifs de cette procédure sont:

  • Contourner le routeur Bell-Fibe afin d’avoir un accès direct à internet via notre OpenWRT
  • Ségrégation complète de l’environnement Bell-Fibe de notre environnement LAN de maison

Référence: http://blog.ngpixel.com/post/104449747538/how-to-bypass-bell-fibe-hub-and-use-your-own-router

OPTION A: Utiliser un commutateur “pantin” gigabit dédié (c’est à dire avec aucune fonctionnalité spécifique):

Reseau-th0ma7-BELLWAN-DummySwitch-20170104.jpg

OPTION B: Utiliser un commutateur permettant la gestion des VLAN et l’isolation des ports:

Reseau-th0ma7-BELLWAN-ManagedSwitch-20170104.jpg

Dans notre exemple nous utilisons l’option 2 avec les paramètres suivants (modèle TP-Link TL-SG3216):

Mode

Port
Ge-2

Port
Ge-4

...

Port
Ge-12

Port
Ge-14

Port
Ge-16

Périphérique

-

-

-

-

-

Alcatel-Lucent
Bell Fibe

Mode

default

default

default

default

default

trunk

VLAN

1

1

1

1

1

35
36

default VLAN

default

default

default

default

default

35

Port Isolation

default
(1-16)

default
(1-16)

default
(1-16)

default
(1-16)

default
(1-16)

14-15-16

Mode

Port
Ge-1

Port
Ge-3

...

Port
Ge-11

Port
Ge-13

Port
Ge-15

Périphérique

TL-WDR4300 OpenWRT (LAN)

-

-

-

TL-WDR4300 OpenWRT (WAN)

FAST2864
(WAN)

Mode

default

default

default

default

default

trunk

VLAN

1

1

1

1

35

35
36

default VLAN

default

default

default

default

35

35

Port Isolation

default
(1-16)

ddefault
(1-16)

default
(1-16)

default
(1-16)

default
(1-16)

15-16

État d’origine (après réinitialisation)

  • Les VLANs sont pré-activés
  • Un interface “bridge” est présent uniquement pour le LAN (eth0.1)
  • Les interfaces wan et wan6 sont toutes deux liées au périphérique eth0.2

Pour trouver l'information via uci:

root@OpenWrt:~# uci show network.@interface[0].ifname
root@OpenWrt:~# uci show network.@switch_vlan[0].vlan

État initial des tables de configurations

VLAN ID

Bridge

@interface[?]

name

device

IP

@switch_vlan[?]

-

-

@interface[0]

loopback

lo

127.0.0.1

-

1

br-lan

@interface[1]

lan

eth0.1

192.168.80.1

@switch_vlan[0]

2

-

@interface[2]

wan

eth0.2

DHCP

@switch_vlan[1]

2

-

@interface[3]

wan6

eth0.2

DHCP

@switch_vlan[1]

Assignation des ports physiques

Le TP-LINK WDR-4300 utilisé n’a que 4 ports LAN Luci affiche pourtant 5 ports. Par conséquent le port #6 n’existe pas malgré sa présence dans l’interface web.

WAN

LAN

Réseau

VLAN ID

Port 0
(CPU)

Port 1

Port 2

Port 3

Port 4

Port 5

Port 6

lan

1

tagged

off

untagged

untagged

untagged

untagged

-

wan
wan6

2

tagged

untagged

off

off

off

off

-

Bell WAN VLAN 35

Le fournisseur Bell utilise les VLAN 35 pour le trafic internet (WAN) et le VLAN 36 pour le trafic du service de télévision. Par défaut OpenWRT|LEDE utilise le VLAN 2 (eth0.2) pour le trafic WAN sans étiquetage de VLAN au niveau des paquets acheminés lors des communications. Afin de communiquer sur l’environnement de Bell il nous faut migrer l’interface WAN vers un nouveau VLAN 35 et de forcer l’étiquetage du VLAN dans les communications.

Créer un VLAN 35 et l’assigner aux ports 0 et 1 avec étiquetage des paquets:

uci add network switch_vlan
uci set network.@switch_vlan[-1].device='switch0'
uci set network.@switch_vlan[-1].vlan='35'
uci set network.@switch_vlan[-1].ports='0t 1t'
uci show network.@switch_vlan[-1]
uci changes network
uci commit

Configurer la connectivité PPPoE sur l’interface WAN:

uci show network.wan
uci set network.wan.ifname='eth0.35'
uci set network.wan.proto='pppoe'
uci set network.wan.username='b1******'
uci set network.wan.password='********'
uci set network.wan.ipv6='auto'
uci changes network
uci commit
uci show network.wan

Inverser l’ordre des table VLAN afin de les associer à leur numéro correspondant. Par défaut les table network.@switch_vlan sont associée à ce qui suit:

Table

Réseaux

VLAN

network.@switch_vlan[0]

LAN

VLAN1

network.@switch_vlan[1]

WAN, WAN6

VLAN2

La création du VLAN35 ajoute une nouvelle entrée network.@switch_vlan comme suit:

Table

Réseaux

VLAN

network.@switch_vlan[0]

LAN

VLAN1

network.@switch_vlan[1]

WAN6

VLAN2

network.@switch_vlan[2]

WAN

VLAN35

Le but est d’inverser l’ordre de WAN6 et WAN afin que les VLAN subséquents (ex: MEDIA, GUEST) aie une association 1 à 1 entre le numéro de la table switch_vlan et le numéro de VLAN. Seul le VLAN1 demeure inchangé:

Table

Réseaux

VLAN

network.@switch_vlan[0]

LAN

VLAN1

network.@switch_vlan[1]

WAN

VLAN35

network.@switch_vlan[2]

WAN6

VLAN2

Pour ce faire on applique les changements suivants:

uci set network.@switch_vlan[1].vlan=35
uci set network.@switch_vlan[1].ports='0t 1t'
uci set network.@switch_vlan[1].vid=35
uci set network.@switch_vlan[2].vlan=2
uci set network.@switch_vlan[2].ports='0t 1'
uci set network.@switch_vlan[2].vid=2
uci changes network
uci commit
reboot

Limitation de la bande passante (problème "Bufferbloat")

Le principe est d'améliorer nos performances en l'impact sur l'internet en configurant une limitation de notre bande passante WAN équivalente à notre vitesse réelle. Ceci évite de tenter de transmettre des paquets à 1 gigabit quand en fait nous n'avons que service internet entre 10mbit et 90mbit et nous permet d'obtenir une performance plus stable.

Références:

Sur quelle interface placer SQM, l'interface pppoe-wan ou eth0.35

Effectuer un test de vitesse chez notre fournisseur de service et faire un ration à 95% de cette vitesse:

Vitesse obtenue:

  • Amont (sqm:upload): 35,9 Mbit équivaut à 35900 Kbit.
  • Aval (sqm:download): 25,4 Mbit équivaut à 25400 Kbit.

Paramétrisation SQM:

  • Amont (sqm:upload): 35900 * 95% = 34000
  • Aval (sqm:download): 25400 * 95% = 24000

Installer Smart Queue Management (SQM QOS pourrait avoir été installé préalablement lors de la mise en place de Bell Fibe WAN PPPoE):

root@OpenWRT|LEDE:~# opkg update
root@OpenWRT|LEDE:~# opkg install luci-app-sqm

Retirer la configuration par défaut:

uci del sqm.eth1

Allouer 34mbit en amont (sqm:upload), 24mbit en aval (sqm:download). À noter que votre interface variera en fonction de votre fournisseur:

uci add sqm queue
uci set sqm.@queue[-1].qdisc='fq_codel'
uci set sqm.@queue[-1].script='simple.qos'
uci set sqm.@queue[-1].qdisc_advanced='0'
uci set sqm.@queue[-1].linklayer='none'
uci set sqm.@queue[-1].enabled='1'
uci set sqm.@queue[-1].interface='pppoe-wan'
uci set sqm.@queue[-1].download='24000'
uci set sqm.@queue[-1].upload='34000'
uci set sqm.@queue[-1].ingress_ecn='ECN'
uci set sqm.@queue[-1].itarget='auto'
uci set sqm.@queue[-1].egress_ecn='ECN'
uci set sqm.@queue[-1].etarget='auto'
uci set sqm.@queue[-1].qdisc_really_really_advanced='0'

Appliquer les changements

uci changes sqm
uci commit

Activer et redémarrer le service SQM:

root@OpenWRT|LEDE:~# /etc/init.d/sqm enable
root@OpenWRT|LEDE:~# /etc/init.d/sqm restart
SQM: Starting SQM script: simple.qos on pppoe-wan, in: 24000 Kbps, out: 34000 Kbps
SQM: simple.qos was started on pppoe-wan successfully

En terminant on peut vérifier que notre routeur est bien conforme pour le "bufferbloat". L'atteinte d'une cote A+ via le site http://www.dslreports.com/speedtest?r=485 démontre alors le bon fonctionnement de SQM!

État final

À cette étape le routeur OpenWRT|LEDE est prêt à obtenir une adresse IP en provenance du WAN de Bell Fibe!

État final des tables de configurations

VLAN ID

Bridge

@interface[?]

name

device

IP

@switch_vlan[?]

-

-

@interface[0]

loopback

lo

127.0.0.1

-

1

br-lan

@interface[1]

lan

eth0.1

192.168.80.1

@switch_vlan[0]

35

-

@interface[2]

wan

eth0.35

PPPoE

@switch_vlan[1]

2

-

@interface[3]

wan6

eth0.2

DHCP

@switch_vlan[2]

Assignation des ports physiques

WAN

LAN

Réseau

VLAN ID

Port 0
(CPU)

Port 1

Port 2

Port 3

Port 4

Port 5

Port 6

lan

1

tagged

off

untagged

untagged

untagged

untagged

-

wan

35

tagged

tagged

off

off

off

off

-

wan6

2

tagged

untagged

off

off

off

off

-