Outils pour utilisateurs

Outils du site


technique

Technique

Cette page recense toutes les ressources pour comprendre l'infrastructure d'ARN.

Généralités

  • Commandes utiles, trucs et astuces, etc. Bref, tout ce que nous avons découvert en installant et en maintenant l'infrastructure d'ARN mais qui peut servir dans plein d'autres contextes. On parle des ipmitools, de sauvegarde compacte de partitions, d'astuces pour gérer un Drupal, d'astuces pour Zabbix, etc.

Schéma

Voici un schéma de l'infrastructure d'ARN au niveau logique :

Les machines virtuelles sont flottantes (pas reliées à une machine physique) car elles peuvent être déplacées d'un hyperviseur (Dell server et HP server) à l'autre en cas de panne ou de maintenance. Bref, elles ne sont pas fixées à une machine physique donnée.

Un schéma actualisé est disponible ici.

git

Nos principales configurations, nos scripts, nos hooks Ganeti ainsi que les checks de monitoring que nous avons codés/améliorés sont publiquement disponibles dans notre dépôt git : arn-confs sur gitlab.netlib.re.

Choix

Matériel

L'infrastructure d'ARN, c'est d'abord du matériel qui est décrit dans les pages suivantes :

  • Matériel : présentation de nos machines et équipements ainsi que du local où tout cela est rangé.
  • PDU : focus sur nos multiprises programmables.

Virtualisation

En dehors des deux machines physiques présentées ci-dessus qui servent de routeurs vers/depuis le reste d'Internet, d'hyperviseurs et de serveurs NTP pour tout le réseau ARN, tout le reste de l'infrastructure d'ARN est répartie dans des machines virtuelles (VM en anglais) et des conteneurs LXC. Voir notre dépôt git pour un exemple de config' LXC.

À l'heure actuelle, nous avons 5 VM.

Les VMs sont nues et ne servent qu'à héberger des LXC. Les LXC sont les seules entités qui hébergent des services.

  • VM 0 - « ext » : héberge les services qui sont en relation / qui communiquent avec l'éxtérieur du réseau ARN
    • LXC « mail » : notre serveur de mails principal (postfix + postgrey). Voir Emails. Liste de discussion avec le logiciel mailman (+ nginx), voir mailman
    • LXC « ns0 » : notre serveur de noms DNS (BIND) primaire qui fait autorité sur nos zones (arn-fai.net, 141.234.89.in-addr.arpa, 1.8.1.8.8.5.0.0.a.2.ip6.arpa et netlib.re/codelib.re, sans-nuage.fr)
    • LXC « recursif » : notre serveur DNS récursif ouvert (Unbound).
    • LXC « web » : notre serveur web (apache HTTPd + php-fpm + MySQL) qui sert nos sites web (arn-fai.net, lg.arn-fai.net, netlib.re/codelib.re)
  • VM 1 - « int » : héberge les services internes à l'association
    • LXC « adh » : héberge l'appli maison de facturation des services fournis par l'association (+ nginx en serveur web frontal + postgresql).
    • LXC « puppet » : notre gestionnaire des configurations, Puppet.
    • LXC « radius » : notre serveur RADIUS. Ne sert à rien à l'heure actuelle. Il a été installé quand nous avons cru que nous aurions une collecte xDSL.
    • LXC « voip » : un serveur VOIP Asterisk minimaliste (+ fail2ban pour bloquer temporairement les robots spammeurs). Voir Monter un petit serveur VOIP Asterisk sans prétention
    • LXC « Zabbix » : un de nos outils de monitoring, Zabbix (+ nginx en serveur web frontal + php-fpm).
  • VM 3 - « servicesadh » : un Yunohost pour les membres de l'association

Justifications :

  • Limiter au maximum les dépendances entre conteneurs LXC et surtout, entre VM.
  • Faire le mieux possible avec les ressources que l'on avait au moment de ce découpage (infra mutualisée avec LDN, peu de RAM, etc.) qui n'a pas changé depuis le début de l'asso.

Notons que nous avons également une machine virtuelle chez Tetaneutral.net, FAI associatif toulousain. Cette VM est fournie dans le cadre d'un échange de VMs : ainsi TTNN a une machine virtuelle sur notre infra.

  • VM 4 - « alsace.ttnn » : VM auxiliaire déportée. Aucun LXC, les services sont installés directement sur la VM
    • Serveur de noms DNS (nsd) secondaire qui fait aussi autorité sur nos zones.
    • Serveur de mail secondaire (postfix + postgrey). Voir Emails
    • Serveur web (nginx + php-fpm) pour servir le présent wiki. Voir Choix techniques
    • Notre deuxième outil de monitoring, Picomon.
    • Serveur de blackhole RTBH (BIRD) pour notre premier transitaire, Cogent. En cas de DDoS arrivant par Cogent, c'est depuis ici qu'il faudra annoncer les IPs qui subissent une attaque pour que cette dernière soit contenue par Cogent (ce qui à pour effet de bloquer l'IP d'ARN en entrée de Cogent donc cette IP devient inaccessible, même pour des usages légitimes). Voir Cogent User Guide page 17.

Réseau

  • L2 : niveau 2 (commutation), câblage, configuration de notre switch, nomenclature des VLANs, etc.
  • L2L : ARN loue un L2L entre le datacenter Cogent de Schiltigheim et le Netcenter SFR de Strasbourg afin de pouvoir causer à son deuxième transitaire, Interoute.
  • Adressage : adresses IP, attribution, gestion, plan d'adressage, etc.
  • Routage : comment sommes-nous opérateur réseau ? Comment les machines d'ARN peuvent-elles communiquer avec tout le reste d'Internet ? Comment choisir un transitaire ? Config' BGP, etc.

Logiciels

  • Synchronisation des horloges avec NTP
  • Gestion des configurations avec Puppet
  • Surveillance de l'état de santé de nos SSD avec SMARTd

Sécurité

Services

Service de l'association ouverts au public :

  • VPN : ce service repose sur OpenVPN
  • VPS : ce service repose sur Ganeti
  • Housing : ce service repose sur CARP

Procédures

Travaux sur l'infra

Divers

Archives

technique.txt · Dernière modification: 2018/08/17 13:14 par lg