Migration collecte 4G/Starlink en PPP

💡
Toutes les configurations sont commit sur mon github : https://github.com/Nathan0510/Blog

La migration des LNS vers Mikrotik est en cours. Pour l'instant, on a réussi à migrer les collectes L2, FTTH et autres services type INTERNET ou MPLS.
Nous reste alors une collecte : celle des liaisons mobiles/satellites.

En effet, le DMVPN (gre multipoint chiffré par ipsec) est un protocole propriétaire Cisco donc on ne peut pas garder cette méthode collecte.

Mes collectes L2 / L2TP sont en PPP donc autant rester dans le même thème nan ?

Configuration LNS

Je continue à la suite de mon précèdent épisode sur le L2TP FTTH. Le LAC (routeur chez l'OI) faisait office de client L2Tp. Il initiait le tunnel et permettait de faire transiter du L2 à travers du L3.

Ca sera pas mal de faire sur les 4G/Starlink, n'est ce pas ? Mais au lieu d'avoir un LAC, chaque CPE ferait office de client L2TP.

Côté LNS, la configuration est très simple !

[admin@LNS] /interface/l2tp-server> export
/interface l2tp-server server
set authentication=chap enabled=yes max-mru=9000 max-mtu=9000 use-ipsec=yes

On utilise le même server L2TP que la collecte FTTH et on rajoute de l'IPsec (le max-mtu/mru était pour des tester). Vu que les trames vont parcourir Internet, il vaut mieux qu'elles soient chiffrées !

Configuration CPE

Mon CPE porte l'IP 2.2.2.2 et mon LNS est attaquable sur l'IP 3.3.3.3 (bien sûr, il faudra protéger cette IP, mettre un DNAT avec des firewall filter par exemple 😄) Je rajoute une route par défaut avec une distance de 255 (vous comprendrez pourquoi).

[admin@4G] /ip/route> export
/ip route
add distance=255 gateway=2.2.2.1


[admin@4G] > /ping 3.3.3.3
  SEQ HOST                                     SIZE TTL TIME       STATUS
    0 3.3.3.3                                    56  63 1ms713us
    sent=1 received=1 packet-loss=0% min-rtt=1ms713us avg-rtt=1ms713us

Ensuite, je configure le client L2TP :

[admin@4G] /interface/l2tp-client> export show-sensitive
/interface l2tp-client
add add-default-route=yes allow=chap connect-to=3.3.3.3 disabled=no \
    ipsec-secret=naruto name=Dialer1 password=naruto use-ipsec=yes user=\
    4G@naruto.ninja

Et ? C'est tout chef !

[admin@LNS] /ppp/active> pr
Flags: R - RADIUS
Columns: NAME, SERVICE, CALLER-ID, ADDRESS, UPTIME
#   NAME                     SERVICE  CALLER-ID  ADDRESS     UPTIME
0 R nathan@naruto.bytel.dop  l2tp     9.9.9.1    100.64.0.1  28m32s
1 R 4G@naruto.ninja          l2tp     2.2.2.2    100.64.0.2  28m29s


[admin@4G] /ip/address> print
Flags: D - DYNAMIC
Columns: ADDRESS, NETWORK, INTERFACE
#   ADDRESS         NETWORK      INTERFACE
0   2.2.2.2/24      2.2.2.0      ether1
2 D 100.64.0.2/32   100.101.1.1  Dialer1

Le login PPP monte bien dans la VRF Internet sur le LNS (PE) avec une MTU max de 1450 :

[admin@4G] /ip/address> /ping 100.101.1.1 size=1450 do-not-fragment
  SEQ HOST                                     SIZE TTL TIME       STATUS
    0 100.101.1.1                              1450  64 1ms310us
    sent=1 received=1 packet-loss=0% min-rtt=1ms310us avg-rtt=1ms310us
   max-rtt=1ms310us

[admin@4G] /ip/address> /ping 100.101.1.1 size=1451 do-not-fragment
  SEQ HOST                                     SIZE TTL TIME       STATUS
    0                                                              packet to...
    sent=1 received=0 packet-loss=100%

Par contre, je souhaite que tout le trafic passe par ce tunnel L2TP et non via la sortie Internet du CPE. C'est pour ca qu'on a mis une distance de 255 sur la default route au début :

[admin@4G] /ip/route> pr
Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT, s - STATIC, v - VPN
Columns: DST-ADDRESS, GATEWAY, ROUTING-TABLE, DISTANCE
#     DST-ADDRESS     GATEWAY  ROUTING-TABLE  DISTANCE
0   s 0.0.0.0/0       2.2.2.1  main                255
  DAv 0.0.0.0/0       Dialer1  main                  1
  DAc 2.2.2.0/24      ether1   main                  0
  DAv 3.3.3.3/32      2.2.2.1  main                  0
  DAc 100.101.1.1/32  Dialer1  main                  0
  DAc 192.168.1.0/24  ether2   main                  0

Le CPE va avoir deux route par défaut : soit par la sortie Internet basique soit via le tunnel. On va privilégier le tunnel L2TP bien sûr. Avec une distance de 1, la route va être prioritaire 😄

Wireshark

On voit bien les trames chiffrées par l'IPsec :

Déjà que le login/password est chiffré par CHAP (bon OK pourri), il est de nouveau chiffré par l'IPsec avec les algo par défaut de Mikrotik. Il faudrait probablement changer cela par des algos plus robustes comme de l'aes256, sh512, dh 20 par exemple !

La suite ?

Je pense qu'on a fait le tour sur le backbone réseau. Un autre gros épisode va sortir (et ca sera le dernier qui parlera de ce thème). Il évoquera la migration officielle des LNS vers les Mikrotik et aussi l'implémentation des P Mikrotik dans un backbone IP/MPLS. On abandonne le SR un moment (jusqu'à ce qu'Arista propose le PPP ou que Mikrotik propose le SR !)

On va enfin pouvoir commencer notre infra de virtualisation ! Cluster de proxmox avec du CEPH pour le stockage hyper convergé 😄

Je termine sur un mot de fin : Nous, salariés, avons le pouvoir, le choix. Faisons bouger les choses. Il ne faut pas attendre que les patrons ou l'état le fasse à notre place, ils ne le feront pas. On cotise pour les retraites des boomers et on se fait chier à la gueule à longueur de journée. Nos héritages sont taxés, notre essence est taxée, nos courses sont taxées, on paye la sécu et on est obligé de payer une mutuelle santé en complément. Disparition de la taxe d'habitation pour au final augmenter la taxe foncière. Cet état est obèse, il ne veut plus de nous mais non nous plus voulons d'eux.
Sortons dans les rues le 10 septembre.