Journal Fédérer son serveur Jabber avec Google Talk

Posté par (page perso) .
Tags : aucun
2
17
nov.
2008
Hello,

Depuis plusieurs semaines (en fait depuis ma migration vers un serveur chez OVH), j'ai de gros problèmes de connexion de mon serveur Jabber vers Google Talk (et pas vers les autres serveurs Jabber).

Après beaucoup d'investigation et de contacts très sympa avec Google, voici la conclusion :

- La connexion est bloquée quelque part sur le port 5269 (et uniquement celui-là, port réservé servant aux communications Server-to-Server du protocole XMPP) entre mon serveur et certains des serveurs Google (pas tous).


Pour infos, il y a plusieurs serveurs Google talk. Les IPs sont définies par une résolution DNS sur talky.l.google.com ( voir http://code.google.com/support/bin/answer.py?answer=62464&to(...) )
Prenons l'exemple de l'IP 72.14.253.125 à laquelle je ne peux accéder et qui appartient à talky.l.google.com

Il apparait que :

1) Depuis mon serveur : telnet 72.14.253.125 80 : renvoie une page Google Talk standard
2) Depuis mon serveur : telnet 72.14.253.125 5269 : time out
3) Depuis le serveur 72.14.253.125 : telnet mon_serveur_ovh 80 : Affiche la page Fritalk
4) Depuis le serveur 72.14.253.125 : telnet mon_serveur_ovh 5269 : timeout

Il ne peut s'agir d'un simple blocage de port vu que tous les autres serveurs Jabber fonctionnent. Il ne peut s'agir d'un blocage d'IP, le port 80 fonctionne.

J'ai accès à un second serveur, aussi chez OVH qui a le même problème depuis peu. Le problème est assez nouveau et surtout pas toujours reproductible (toutes les IP du pool ne sont pas affectées)

Alors, plusieurs questions :

1) Est-ce que les possesseurs de serveurs dédiés pourraient tester les deux premiers telnet pour avoir les résultats chez OVH et chez les autres hébergeurs ?

2) Comment savoir où ça bloque ? Une espéce de traceroute pour un port donné ?

3) Comment résoudre ce problème ? Comment on fait les autres admins Jabber ?


Merci d'avance
  • # Use the man...

    Posté par . Évalué à 3.

    Ben déjà, man traceroute me donne :
    ...
    -p port
    For UDP tracing, specifies the destination port base traceroute
    will use (the destination port number will be incremented by
    each probe).
    For ICMP tracing, specifies the initial icmp sequence value
    (incremented by each probe too).
    For TCP specifies just the (constant) destination port to con‐
    nect.
    ...

    Donc un traceroute sur un port donné, c'est possible et très simple.

    Pour le reste, je n'ai pas de serveur dédié, donc je ne peux t'aider plus.

    Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

  • # IPv6

    Posté par . Évalué à 1.

    Y a un support IPv6?
  • # traceroute sur un port donné

    Posté par (page perso) . Évalué à 1.

    2) Comment savoir où ça bloque ? Une espéce de traceroute pour un port donné ?

    tcptraceroute.

    $ tcptraceroute 91.121.79.109 5269
    [...]
    6 160g.rbx-2-6k.routers.ovh.net (213.186.32.201) 51.690 ms 45.764 ms *
    7 rbx-21-m1.routers.ovh.net (213.251.191.186) 45.770 ms 46.796 ms 44.801 ms
    8 mail.ploum.net (91.121.79.109) [open] 45.423 ms 46.738 ms 46.330 ms

    Ici ca marche ... Comment tu as fait un telnet depuis chez Google ?
    • [^] # Re: traceroute sur un port donné

      Posté par (page perso) . Évalué à 2.

      > Après beaucoup d'investigation et de contacts très sympa avec Google [...]

      À mon avis ce sont les admins Google qui ont fait le test sur leurs machines et ont ensuite communiqués les résultats à Ploum, me trompe-je ?
  • # et moi et moi ;-)

    Posté par (page perso) . Évalué à 1.

    depuis un serveur nfrance :
    telnet 72.14.253.125 80 rien
    telnet 72.14.253.125 5269 rien

    depuis un serveur Nexen :
    telnet 72.14.253.125 80 rien
    telnet 72.14.253.125 5269 rien

    de chez moi wanamoo
    telnet 72.14.253.125 80 rien
    telnet 72.14.253.125 5269 rien

    je suis pas certain que cela aide mais on n'est jamais trop aidé...
  • # D'une ligne adsl Free

    Posté par (page perso) . Évalué à 1.

    Interesting ports on mail.ploum.net (91.121.79.109):
    PORT STATE SERVICE VERSION
    80/tcp open http Apache httpd 2.2.9 ((Ubuntu) DAV/2 SVN/1.5.1 mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.9 OpenSSL/0.9.8g)
    5269/tcp open jabber ejabberd

    Interesting ports on el-in-f125.google.com (209.85.163.125):
    PORT STATE SERVICE VERSION
    80/tcp open http?
    5269/tcp open unknown

    Interesting ports on po-in-f125.google.com (72.14.253.125):
    PORT STATE SERVICE VERSION
    80/tcp filtered http
    5269/tcp filtered unknown

    Interesting ports on wf-in-f125.google.com (209.85.201.125):
    PORT STATE SERVICE VERSION
    80/tcp open http?
    5269/tcp open unknown


    72.14.253.125 est HS pour moi.
    • [^] # Re: D'une ligne adsl Free

      Posté par (page perso) . Évalué à 2.

      ça veut dire quoi : "5269/tcp filtered unknown" Le filtered me semble particulièrement intéressant.
      • [^] # Re: D'une ligne adsl Free

        Posté par . Évalué à 2.

        Ça veut dire qu'il n'est pas fermé sur la machine de destination mais qu'un truc entre les deux bloque le port. Filtré quoi... et unknown c'est le protocole utilisant ce port comme standard (cf. /etc/services entre autres), ici il ne sait pas à quoi ça correspond.
  • # Problème d'interconnectivité ?

    Posté par (page perso) . Évalué à 1.

    Je ne sais pas si c'est lié, mais au boulot j'ai pris un nouveau serveur chez OVH, qui est installé dans leur nouveau datacenter.

    Nous avons de gros problèmes de résolutions DNS avec Eurodns, car il y avait un problème de connexion entre cette machine et Eurodns.

    Je ne sais pas si c'est lié à ton problème, mais pose ta question au service technique OVH, ils sont réactifs, du moins pour nous.
    • [^] # Re: Problème d'interconnectivité ?

      Posté par (page perso) . Évalué à 2.

      Le telnet semble prouver que ce n'est pas lié au DNS.

      Et chez OVH ils ne savent que me dire : on ne bloque pas ce port à priori (ce qui est logique, les autres serveurs passent)
  • # En cherchant autrement

    Posté par . Évalué à 5.

    Si tu veux la vraie liste de leurs serveurs, fait plutôt une requête SRV :)

    [geekounet@Kothis ~] % dig SRV _xmpp-server._tcp.gmail.com

    ; <<>> DiG 9.4.2-P2 <<>> SRV _xmpp-server._tcp.gmail.com
    ;; global options: printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57803
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 4, ADDITIONAL: 5

    ;; QUESTION SECTION:
    ;_xmpp-server._tcp.gmail.com. IN SRV

    ;; ANSWER SECTION:
    _xmpp-server._tcp.gmail.com. 15924 IN SRV 5 0 5269 xmpp-server.l.google.com.
    _xmpp-server._tcp.gmail.com. 15924 IN SRV 20 0 5269 xmpp-server1.l.google.com.
    _xmpp-server._tcp.gmail.com. 15924 IN SRV 20 0 5269 xmpp-server2.l.google.com.
    _xmpp-server._tcp.gmail.com. 15924 IN SRV 20 0 5269 xmpp-server3.l.google.com.
    _xmpp-server._tcp.gmail.com. 15924 IN SRV 20 0 5269 xmpp-server4.l.google.com.

    ;; AUTHORITY SECTION:
    gmail.com. 250036 IN NS ns3.google.com.
    gmail.com. 250036 IN NS ns4.google.com.
    gmail.com. 250036 IN NS ns1.google.com.
    gmail.com. 250036 IN NS ns2.google.com.

    ;; ADDITIONAL SECTION:
    xmpp-server.l.google.com. 156 IN A 209.85.163.125
    ns2.google.com. 281072 IN A 216.239.34.10
    ns1.google.com. 281072 IN A 216.239.32.10
    ns3.google.com. 281072 IN A 216.239.36.10
    ns4.google.com. 281072 IN A 216.239.38.10

    ;; Query time: 2 msec
    ;; SERVER: 10.0.0.1#53(10.0.0.1)
    ;; WHEN: Mon Nov 17 21:43:13 2008
    ;; MSG SIZE rcvd: 421


    C'est ceux là que ton serveur Jabber va aller chercher, s'il est bien implémenté, et ya pas ton talky.l.google.com dans la liste. :)
  • # Depuis mes chez moi

    Posté par (page perso) . Évalué à 1.

    Depuis un serveur dédié chez OVH :

    telnet 72.14.253.125 5269 -> rien
    telnet 72.14.253.125 5269 -> rien

    Depuis une dediboite :

    telnet 72.14.253.125 80 -> rien
    telnet 72.14.253.125 5269 -> rien
  • # Autre piste ?

    Posté par (page perso) . Évalué à 2.

    Je sais pas si ça t'aideras à résoudre ton pb mais on dirait que tu n'es pas le seul à avoir des problèmes avec Google talk : http://metajack.im/2008/11/17/tls-issues-with-google-talk/

    http://gregr.fr

  • # Gandi

    Posté par (page perso) . Évalué à 1.

    Depuis un serveur virtuel Gandi :
    telnet 72.14.253.125 5269 : timeout
    telnet 72.14.253.125 80 : timeout
    Résultats d'un nmap :
    Interesting ports on po-in-f125.google.com (72.14.253.125):
    Not shown: 1677 filtered ports
    PORT STATE SERVICE
    113/tcp closed auth
    179/tcp closed bgp
    1935/tcp closed rtmp


    Depuis chez moi (free) :
    telnet 72.14.253.125 5269 : timeout
    telnet 72.14.253.125 80 : timeout
    Résultats d'un nmap :
    Interesting ports on po-in-f125.google.com (72.14.253.125):
    Not shown: 1677 filtered ports
    PORT STATE SERVICE
    113/tcp closed auth
    179/tcp closed bgp
    1935/tcp closed rtmp


    Depuis mon labo :
    telnet 72.14.253.125 5269 : timeout
    telnet 72.14.253.125 80 : se connecte
    Résultats d'un nmap :
    Interesting ports on po-in-f125.google.com (72.14.253.125):
    Not shown: 1713 filtered ports
    PORT STATE SERVICE
    80/tcp open http
    81/tcp open hosts2-ns


    (Au fait, ce n'est pas le genre de question qui devrait passer en forum et pas en journal ?)
  • # Explication du problème XMPP avec google

    Posté par (page perso) . Évalué à 1.

    Samuel Tardieu vient de publier un billet à propos de google et le xmpp : http://www.rfc1149.net/blog/2008/11/20/the-google-xmpp-mess/

    C'est une explication. Par contre, pas de solution.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.