Lorsqu’on est client chez un fournisseur d’accès à Internet (FAI) traditionnel, celui-ci fournit généralement une connexion ainsi qu’un équipement réseau, souvent sous la forme d’une box. Cette solution intègre plusieurs éléments tels que le Wi-Fi, un modem, un switch, un pare-feu et une fonction de NAT. En ce qui concerne l’attribution de l’adresse IP, elle se fait aujourd’hui principalement via DHCPv4/v6. Auparavant, sur les connexions ADSL, le protocole PPPoE était couramment utilisé.

J’ai choisi d’utiliser un MikroTik, car bien qu’un peu complexe à prendre en main au début, ils restent simples à utiliser une fois maîtrisés. J’ai opté pour un Leox LXT-010H-D, souvent recommandé sur LaFibre.info pour éviter les complications. J’aurais également pu utiliser un module SFP pour brancher directement la fibre sur mon MikroTik.

Les différents VLAN transportés par Orange

Voici les VLANs couramment utilisés par Orange:

Service VLAN ID Protocole Fonction
Internet 835 PPPoE Authentification de la session Internet
DHCPv4/v6 832 DHCPv4 / DHCPv6 Attribution d’une IPv4 dynamique + préfixe IPv6 (/56)
VoIP 840 SIP / RTP Voix sur IP (optionnel si pas utilisé)
IPTV 838 IGMP / UDP Télévision par Internet (multicast)

L’ONT laisse passer tous ces VLANs, à charge du routeur de les gérer en tant qu’interface VLANs tagguées sur l’interface Ethernet WAN. Dans mon cas j’utilise uniquement le VLAN 832.

Configuration de l’ONT

Pour configurer l’ONT, vous devez vous brancher directement dessus ou faire passer l’IP 192.168.100.1 dans le VLAN 1 sur le MikroTik. Assurez-vous de forcer la négociation en 1G sur l’interface du PC utilisé pour la connexion.

Identifiants

Donnée Valeur
IP 192.168.100.1
Login leox
Mot de passe leolabs_7

Au préalable

Vous devez récupérer depuis l’interface de la Livebox ou sur l’étiquette, le numéro de série de l’ONT intégré à la Livebox qui se présente sous cette forme :

HWTCxxxxxxxx
ou
SMBSxxxxxxxx

Dans mon cas, il se présentait sous la seconde option.

Configuration

Tout d’abord, récupérez les valeurs par défaut afin de pouvoir revenir en arrière en cas de problème :

flash all
flash all | grep GPON_SN
flash all | grep PON_VENDOR

Après cela, vous devez configurer certains paramètres pour faire passer l’ONT pour celui intégré à la Livebox :

flash set GPON_SN SMBSxxxxxxxx
flash set PON_VENDOR_ID HWTC

En sortie, vous devriez obtenir ceci :

GPON_SN=SMBSxxxxxxxx
PON_VENDOR_ID=HWTC

Configuration du MikroTik

Pour avoir acces a Internet avec le MikroTik on doit lui rentrer certaines configuration :

Interface réseau (WAN et LAN)

# Création du bridge pour le LAN
/interface bridge
add name=bridge-lan

# Renommer les interfaces ether1 et ether4 pour mieux s’y retrouver
/interface ethernet
set [ find default-name=ether1 ] name=ether1-WAN comment="WAN"
set [ find default-name=ether4 ] name=ether4-LAN comment="LAN"

# Ajout de l’interface WAN au VLAN 832
/interface vlan
add comment="Internet ONT" interface=ether1-WAN name=vlan832-internet vlan-id=832

# Ajout de l’interface LAN au bridge LAN
/interface bridge port
add bridge=bridge-lan interface=ether4-LAN

Configuration d’une adresse IP pour le LAN

/ip address
add address=192.168.1.1/24 interface=bridge-lan

Configuration du serveur DHCPv4 pour le LAN avec les DNS de la FDN

# Définition du pool d’IPv4
/ip pool
add name=dhcp_pool_lan ranges=192.168.1.100-192.168.1.200

# Ajout du pool au bridge
/ip dhcp-server
add address-pool=dhcp_pool_lan interface=bridge-lan name=dhcp-lan

# Paramètres du serveur DHCP
/ip dhcp-server network
add address=192.168.1.0/24 dns-server=80.67.169.12,80.67.169.40 gateway=192.168.1.1

Le site de la FDN : https://www.fdn.fr/

Configuration du client DHCP pour le WAN sur le VLAN 832

# Ajout des options DHCP
/ip dhcp-client option
# Spoofing de la Livebox
add code=77 name=userclass value="'+FSVDSL_livebox.Internet.softathome.Livebox6'"
# Identifiant FTI pour l'authentification sur le serveur DHCP 
add code=90 name=authsend value=0x00000000000000000000001a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

# Ajout du client DHCPv4
/ip dhcp-client
add interface=vlan832-internet dhcp-options=authsend,clientid,hostname,userclass use-peer-dns=no

# Ajout des options DHCPv6
/ipv6 dhcp-client option
# Option Sagem :
add code=16 name=class-identifier value=0x0000040e0005736167656d
# Identifiant FTI pour l'authentification sur le serveur DHCP 
add code=11 name=authsend value=0x00000000000000000000001a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
# Spoofing de la Livebox "SVDSL_livebox.Internet.softathome.Livebox3"
add code=15 name=userclass value=0x002b46535644534c5f6c697665626f782e496e7465726e65742e736f66746174686f6d652e6c697665626f7833

# Ajout du client DHCPv6
/ipv6 dhcp-client
add add-default-route=yes dhcp-options=authsend,userclass,class-identifier interface=vlan832-internet pool-name=pool_FT_6 pool-prefix-length=56 request=prefix

Pour les identifiants FTI, vous pouvez récupérer le login sur la Livebox. En revanche, pour obtenir le mot de passe, vous devez contacter le support d’Orange (vous recevrez soit un e-mail, soit un SMS — dans mon cas, j’ai reçu un SMS).

Pour générer l’option 90 du DHCPv4 et l’option 11 du DHCPv6, utilisez ce site : https://jsfiddle.net/kgersen/3mnsc6wy/

Configuration pour avoir acces a Internet

Pour avoir accès à Internet et éviter que le Mikrotik ne soit bombardé de requêtes, voici la configuration à suivre :

Configuration des address lists

# IPv4
/ip firewall address-list
add address=0.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=172.16.0.0/12 comment=RFC6890 list=not_in_internet
add address=192.168.0.0/16 comment=RFC6890 list=not_in_internet
add address=10.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=169.254.0.0/16 comment=RFC6890 list=not_in_internet
add address=127.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=224.0.0.0/4 comment=Multicast list=not_in_internet
add address=198.18.0.0/15 comment=RFC6890 list=not_in_internet
add address=192.0.0.0/24 comment=RFC6890 list=not_in_internet
add address=192.0.2.0/24 comment=RFC6890 list=not_in_internet
add address=198.51.100.0/24 comment=RFC6890 list=not_in_internet
add address=203.0.113.0/24 comment=RFC6890 list=not_in_internet
add address=100.64.0.0/10 comment=RFC6890 list=not_in_internet
add address=240.0.0.0/4 comment=RFC6890 list=not_in_internet
add address=192.88.99.0/24 comment="6to4 relay Anycast [RFC 3068]" list=not_in_internet
add address=192.168.1.0/24 list=LAN_Internet
add address=192.168.1.0/24 list=LAN_Admin

# IPv6
/ipv6 firewall address-list
add address=fe80::/16 list=allowed
add address=ff02::/16 comment=Multicast list=allowed
add address=::/128 list=bogons
add address=::1/128 list=bogons
add address=fec0::/10 list=bogons
add address=::ffff:0.0.0.0/96 list=bogons
add address=::/96 list=bogons
add address=100::/64 list=bogons
add address=2001:db8::/32 list=bogons
add address=2001:10::/28 list=bogons
add address=3ffe::/16 list=bogons
add address=::224.0.0.0/100 list=bogons
add address=::127.0.0.0/104 list=bogons
add address=::/104 list=bogons
add address=::255.0.0.0/104 list=bogons

Configuration des firewall

# IPv4

/ip firewall filter
add action=accept chain=--- comment="---------- INPUT BASE ----------"
add action=accept chain=input connection-state=established,related
add action=accept chain=input dst-address=127.0.0.0/8 src-address=127.0.0.0/8
add action=drop chain=input connection-state=invalid
add action=accept chain=--- comment="---------- INPUT MINIMUM ----------"
add action=accept chain=input comment="Any: ICMP" protocol=icmp
add action=accept chain=--- comment="---------- INPUT RULES ----------"
add action=accept chain=input comment="ADMIN MANAGEMENT MIKROTIK" dst-port=8291 protocol=tcp src-address-list=LAN_Admin
add action=accept chain=input comment="ADMIN MANAGEMENT MIKROTIK SSH" dst-port=22 protocol=tcp src-address-list=LAN_Admin
add action=accept chain=--- comment="---------- INPUT TEMPORARY ----------"
add action=accept chain=--- comment="---------- INPUT END ----------"
add action=drop chain=input

add action=accept chain=+++ comment="---------- FORWARD OVERRIDE ----------"
add action=drop chain=forward comment="Any: Blackhole dst-addresses" dst-address-list=blackhole
add action=accept chain=--- comment="---------- FORWARD BASE ----------"
add action=fasttrack-connection chain=forward connection-state=established,related hw-offload=yes
add action=accept chain=forward connection-state=established,related
add action=drop chain=forward connection-state=invalid
add action=accept chain=--- comment="---------- FORWARD MINIMUM ----------"
add action=accept chain=--- comment="---------- FORWARD RULES ----------"
add action=accept chain=forward comment="LAN vers Internet" dst-address-list=!not_in_internet src-address-list=LAN_Internet
add action=accept chain=forward comment="Autoriser les communications entre tous les sous-réseaux 192.168.0.0/16" dst-address=192.168.0.0/16 src-address=192.168.0.0/16
add action=accept chain=--- comment="---------- FORWARD TEMPORARY ----------"
add action=accept chain=--- comment="---------- FORWARD END ----------"
add action=drop chain=forward

# Règles pour autoriser l'accès au DHCP d'Orange

/ip firewall mangle
add action=set-priority chain=output dst-port=67 new-priority=6 out-interface=vlan832-internet protocol=udp
add action=set-priority chain=output dst-port=67 new-priority=6 out-interface=vlan832-internet protocol=udp src-port=68

# NAT

/ip firewall nat
add action=masquerade chain=srcnat out-interface=vlan832-internet src-address=192.168.0.0/16 to-addresses=REMPLACER
add action=accept chain=srcnat dst-address=192.168.0.0/16


# IPv6

/ipv6 firewall filter
add action=accept chain=input dst-port=546 in-interface=vlan832-internet protocol=udp src-address=fe80::/10
add action=accept chain=--- comment="---------- INPUT BASE ----------"
add action=accept chain=input connection-state=established,related
add action=drop chain=input connection-state=invalid
add action=accept chain=--- comment="---------- INPUT MINIMUM ----------"
add action=accept chain=input dst-address=::1/128 src-address=::1/128
add action=accept chain=input comment="Any: ICMPv6" protocol=icmpv6
add action=accept chain=input comment="Autoriser les adresses de la liste 'allowed'" disabled=yes src-address-list=allowed
add action=accept chain=input comment="Traceroute UDP" port=33434-33534 protocol=udp
add action=accept chain=input comment="DHCPv6 - délégation de préfixe" dst-port=546 protocol=udp src-address=fe80::/10
add action=accept chain=--- comment="---------- INPUT RULES ----------"
add action=accept chain=--- comment="---------- INPUT TEMPORARY ----------"
add action=accept chain=--- comment="---------- INPUT END ----------"
add action=drop chain=input comment="DROP: Connexions non établies" connection-state=!established
add action=drop chain=input comment=DROP

add action=accept chain=+++ comment="---------- FORWARD OVERRIDE ----------"
add action=accept chain=forward comment="Autoriser le forwarding IPv6" connection-state=new
add action=drop chain=forward comment="Any: Blackhole dst-addresses" dst-address-list=blackhole
add action=accept chain=--- comment="---------- FORWARD BASE ----------"
add action=accept chain=forward connection-state=established,related
add action=reject chain=forward connection-state=invalid reject-with=icmp-no-route
add action=accept chain=--- comment="---------- FORWARD MINIMUM ----------"
add action=accept chain=forward comment="Règle ICMPv6" protocol=icmpv6
add action=accept chain=forward comment="Autoriser la communication dans le /56 d'Orange" dst-address=REMPLACER src-address=REMPLACER
add action=accept chain=--- comment="---------- FORWARD TEMPORARY ----------"
add action=accept chain=--- comment="---------- FORWARD RULES ----------"
add action=accept chain=--- comment="---------- FORWARD END ----------"

Remplacez les valeurs “REMPLACER” par l’IPv4 publique et le préfixe IPv6 (/56) fournis par Orange.

Test

Après avoir fini cette configuration, on peut tester notre connexion à Internet.

NPerf

Credits

Configuration réalisée a l’aide de ces sources et l’appel à un ami: