Première rédaction de cet article le 31 août 2010
Comme vous avez pu le voir, Facebook a été en panne pour beaucoup d'utilisateurs (surtout en Europe, il semble). La cause est un problème BGP.
De à peu près 1200 UTC à environ 1345, Facebook a été injoignable depuis beaucoup de réseaux. Les curieux qui ont fait un traceroute auront vu quelque chose du genre :
% traceroute www.facebook.com traceroute to www.facebook.com (69.63.189.31), 64 hops max, 40 byte packets 1 217.70.191.251 (217.70.191.251) 0 ms 0 ms 0 ms 2 vl2.core4-d.gandi.net (217.70.176.132) 0 ms 0 ms 0 ms 3 po88-jd4.core1-j.gandi.net (217.70.176.225) 1 ms 1 ms 1 ms 4 po88-jd4.core1-j.gandi.net (217.70.176.225) 1 ms !H * *
montrant que le premier routeur
BGP sans route par défaut n'avait pas de
route vers le fameux réseau social... En effet, regarder quelques
looking glasses (trouvés sur l'excellent http://www.traceroute.org/
) confirme :
« show ip bgp 69.63.190.14
\ Network not in table » ou des messages
similaires. Si on a un routeur qui reçoit toute la table de routage de
l'Internet, on peut voir que le réseau de Facebook apparait et
disparait (ici un Juniper) :
admin@m7i-1-XXXX> show route 69.63.190.14 admin@m7i-1-XXXX> ... admin@m7i-1-XXXX> show route 69.63.190.14 inet.0: 325150 destinations, 325150 routes (325081 active, 0 holddown, 69 hidden) Restart Complete + = Active Route, - = Last Active, * = Both 69.63.184.0/21 *[BGP/170] 00:00:43, MED 0, localpref 100 AS path: 8220 8220 32934 I > to X.Y.14.225 via fe-0/1/3.0
Résultat de ce yo-yo, les routeurs finissent par refuser automatiquement les annonces Facebook (« suppressed due to dampening »). Même lorsque Facebook a réparé sa configuration BGP, le problème a subsisté un certain temps. Voici un exemple sur le looking glass de PCH :
Looking Glass Results - route-collector.fra.pch.net Date: Tue Aug 31 12:46:04 2010 UTC Query: Argument(s): 69.63.190.18 BGP routing table entry for 69.63.184.0/21 Paths: (2 available, no best path) Not advertised to any peer 32934, (suppressed due to dampening) 80.81.194.40 from 80.81.194.40 (204.15.20.1) Origin IGP, metric 0, localpref 100, valid, external Community: 3856:54800 Dampinfo: penalty 5023, flapped 64 times in 01:09:18, reuse in 00:41:09 Last update: Tue Aug 31 12:46:01 2010 32934, (suppressed due to dampening) 80.81.195.40 from 80.81.195.40 (204.15.23.109) Origin IGP, metric 0, localpref 100, valid, external Community: 3856:54800 Dampinfo: penalty 4030, flapped 63 times in 01:09:18, reuse in 00:36:23 Last update: Tue Aug 31 12:45:35 2010
Comme la configuration DNS de Facebook est très fragile (les serveurs de noms sont tous sur le même réseau), le DNS lui-même a des problèmes et, parfois, on ne peut pas résoudre le nom :
% traceroute www.facebook.com traceroute: unknown host www.facebook.com
En effet, aucun serveur ne répond :
% check_soa www.facebook.com There was no response from glb01.ash1.tfbnw.net There was no response from glb01.ams1.tfbnw.net There was no response from glb01.dfw1.tfbnw.net ...
Question DNS, notons aussi que les serveurs de
facebook.com
envoient des adresses IP différentes selon le
demandeur. Cela explique en partie que Facebook ne soit pas en panne
pour tout le monde (en Europe, www.facebook.com
semble dans 69.63.184.0/21 et aux États-Unis dans 66.220.152.0/21). On
peut avoir une bonne vision de la configuration BGP de Facebook en http://bgp.he.net/AS32934
.
Depuis, Facebook a fait une autre jolie panne, le 23 septembre. Elle n'a apparemment aucun lien avec BGP cette fois (ni avec le DNS, quoique aient dit certains ignorants), et a été (modérément) documentée par Facebook. Une autre grande panne, bien due au DNS, celle-ci, a eu lieu le 7 mars 2012 (voyez un amusant test DNS pendant la panne, notez bien qu'il y a deux adresses IP privées dans la liste).
Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)
Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)