Cette page décrit en l'architecture de collecte ADSL via Grenode et Liazo.
L'architecture de collecte xDSL mutualisée au sein de Grenode est décrite de manière détaillé dans la documentation Grenode. https://www.grenode.net/Documentation_technique/R%C3%A9seau/Collecte_xDSL/
Chez Ilico, c'est la machine coussin (Nommage des machines) qui est chargée de la collecte.
C'est une machine virtuelle hébergée sur roof chez Grenode https://www.grenode.net/Documentation_technique/Machines/rouf/ .
Lorsqu'un abonné xDSL d'ilico se connecte, le processus est le suivant :
Voici un schéma récapitulant la cinématique de montage du lien PPP entre l'abonné et notre machine de collecte coussin.
Chaque entité est en réalité un proxy radius chargé de rediriger la requête vers le serveur suivant en fonction du domaine. Exemple : lafouine@ilc.gnd.dslnet.fr :
Grenode annonce via radius l'adresse des LNS des membres devant terminer les tunnels L2TP (https://www.grenode.net/Documentation_technique/Machines/ajut/ chez Grenode). Grenode ne dispose donc pas de LAC. En contrepartie, les LAC des fournisseurs de collecte doivent connaître la route pour atteindre chaque LNS des membres de Grenode et inversement. Cela est fait via du routage dynamique entre ajut/attrape, les LAC et les LNS des membres de Grenode.
Il est donc impératif d'annoncer l'adresse IP du LNS Ilico coussin à Grenode sur Ajut. Cela est géré par le daemon de routage Bird.
Coussin dispose de deux interfaces réseaux :
Elle dispose de 3 services :
Extrait de /etc/bird/bird.conf
:
# configuration ILICO protocol kernel { learn; persist; scan time 20; import all; export all; device routes yes; } protocol bgp grenode_ajut { description "Session ajut"; local as 65304; multihop; neighbor 91.216.110.99 as 65300; source address 91.216.110.43; export all; import all; }
Extrait de Extrait de /etc/l2tpns/startup-config
:
# Log file: comment out to use stderr, use "syslog:facility" for syslog set log_file "/var/log/l2tpns" # Write pid to this file set pid_file "/var/run/l2tpns.pid" # This host name, if different from the OS one set hostname "col1-ilico.grenode.net" # Shared secret with LAC set l2tp_secret "***" [...] # Only 2 DNS server entries are allowed set primary_dns 80.67.169.12 set secondary_dns 80.67.169.40 # Can have multiple radius server entries, but ony one radius secret set primary_radius 91.216.110.43 set primary_radius_port 1812 [...] # Listen address for CLI set cli_bind_address 127.0.0.1 [...] # Gateway address given to clients set peer_address 91.216.110.43
On voit facilement :
LAC, LNS, L2TP, je comprends rien : http://www.frameip.com/l2tp-pppoe-ppp-ethernet/ Bon article qui résume le fonctionnement ADSL jusqu'à l'opérateur : http://piaf.grenouille.com/spip.php?article157
Tuto l2tpns + freeradius/mysql : http://l2tpns.sourceforge.net/docs/vpn/practical-vpns.html
[LNS]: L2TP Network Server : équipement terminant des tunnels PPP. ⇒ notre petit daemon l2tpns [LAC]: L2TP Access Concentrator : équipement relayant des tunnels PPP. ⇒ ce qu'on retrouve au niveau du BAS
Accounting : https://networkradius.com/how-does-radius-accounting-work/index.html http://www.ceenet.org/wp-content/uploads/2014/05/FreeRADIUS-configuration-Jovana-Palibrk.pdf http://www.stat.ufl.edu/system/man/portmaster/RADIUS/guide/7account.html
FreeRADIUS
* inclure clients/ dans le clients.conf : une directive pour ça ? DONE * forme du User-Name : changé. DONE
* secret pour les clients * radius côté grenode: 91.216.110.96 ? la doc (./pub/Documentation_technique/Réseau/Collecte_xDSL.mdwn) nous dit:
Il faut autoriser les radius de Grenode à questionner le radius du membre et configurer les bons mots de passe. Adresses possibles pour les radius :
- 91.216.110.99 - 91.216.110.108 - 91.216.110.107
* radtest en local avec le client de test $ radtest 'login@ilc.gnd.dslnet.fr' motdepasse localhost 0 testing123 Sending Access-Request of id 121 to 127.0.0.1 port 1812
User-Name = "login!ilc%gnd@fdn.nerim" User-Password = "motdepasse" NAS-IP-Address = 91.216.110.54 NAS-Port = 0 Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=121, length=57
Framed-IP-Netmask = 255.255.255.255 Framed-IP-Address = 80.67.180.42 Framed-IPv6-Route = "2001:912:2000:0001::/64"
⇒ faire un coup de radtest à partir de ajut à la fin (en fait la fin c'est pas maintenant mais presque pour le freeradius) radtest 'login@ilc.gnd.dslnet.fr' motdepasse coussin.ilico.org 1 lesecret
=⇒ ne fonctionne PAS =⇒ on voudrait que ça répond et qu'on ai une réponse complète (ie. avec Tunnel-Password & cie)
Bird
* conf v4 : done
* doc: expliqué sur le “export all” est filtré par ajut (iirc)
LNS —
* paquet maison venant de fendo
DOC
===
* expliquer l'infra de manière globale (possible de se référer à une doc existante chez des copains, grenode & cie)
- sur le pourquoi/comment l2tp/freeradius/bird (essayé d'être clair sur la subtilité du pourquoi bird)
* expliquer comment faire l'admin sys dessus (comment relancer les démons, ce qui doit être lancé en premier, etc)
* faire une méthodologie à suivre pour débugger si jamais quelque chose ne fonctionne pas sur la collecte