Enregistrement aléatoire du port udp

Discussion in 'Elastix 2.x' started by vishwa, Jan 27, 2011.

  1. vishwa

    Joined:
    Sep 27, 2010
    Messages:
    25
    Likes Received:
    0
    Bonjour tout le monde,

    J'ai installé mon serveur elastix à distance (sous Vmware).
    Jusqu'à là tout se passe bien, avant de configurer le trunk, j'ai voulu tester mes lignes en interne.
    J'ai donc désactivé le firewall de Windwos (même en ouvrant le port 5060), fait une redirection du port udp 5060 vers mon elastix.
    Oui parce que la machine virtuelle (elastix) est en "nat" avec mon windows distant.

    Sans problème, le serveur arrive à s'enregistrer mes différents téléphones sip.
    Je réactive le firewall, là commence la galère !
    Impossible pour mes téléphones de se connecter.

    J'ai donc ouvert la console et vérifier par moi même la procédure de s'authentification (en désactivant le firewall de windows) :

    [​IMG]

    Comme vous l'avez constaté, le téléphone se connecte sur un port aléatoire mais jamais sur le 5060 (c'est pour cette raison que le firewall bloque)
    Pourquoi? Où ai-je fais l'erreur?

    Voici ma config de mon sip :
    [​IMG]

    et celle de freebx :
    [​IMG]
     
  2. vishwa

    Joined:
    Sep 27, 2010
    Messages:
    25
    Likes Received:
    0
    Bon d'après ce que j'ai compris, deux ports udp est à distinguer :
    Le port d'écoute et le port de requête.
    Pourquoi je fais une distinction?

    J'ai changé le port "bind" dans freepbx par 5600 au lieu de 5060.
    [​IMG]

    J'ai fait de même pour toutes les extensions.
    Maintenant vérifions le port d'écoute de mon serveur elastix :
    [​IMG]
    Donc le port d'écoute passe bien par le 5600.

    [​IMG]
    Ce qui est surprenant, c'est que l'authentification se fait sur le port 5060 et non 5600, alors je me suis dit que c'est surement le port de requête.
    On peut aussi voir que mon trunk (que j'ai configuré par la suite) se connecte aussi sur le 5060.
    Malheureusement pour une connexion externe, le port d'authentification est toujours aléatoire (voir trait rouge).

    Pour le moment, en vpn, j'ai ouvert les ports 5060 et 5600 de mon firewall windows (en nat avec elastix) pour que ça fonctionne.
    Je suis obligé de déclarer ces deux ports sinon la connexion ne s'effectue pas.

    Conclusion : C'est la raison pour laquelle, j'ai parlé de 2 ports à distinguer.
    Je peux modifier le port d'écoute (bind) mais comment faire pour modifier le port de requête? Ceci afin qu'il ne donne pas de n° de port aléatoire?

    Je suis novice dans la matière, je peux avoir mal compris le raisonnement, je compte sur vous pour me rectifier.

    Merci !
     
  3. danardf

    Joined:
    Dec 3, 2007
    Messages:
    8,069
    Likes Received:
    12
    Salut.

    Je ne sais pas comment on peut faire fonctionner Elastix sous VMWare en NAT, mais en mode Bridge, il n'y a aucun problème.
    A savoir que nativement le sip est à l'écoute du port 5060. Surtout pour les Opérateurs VoIP SIP.

    Si une requête SIP arrive sur du 5060 et tu écoutes le 5600, il n'y aura pas d'authentification. Et vis versa, si une requête sip arrive sur le 5600 et tu écoutes le 5060.
     
  4. vishwa

    Joined:
    Sep 27, 2010
    Messages:
    25
    Likes Received:
    0
    Impossible de lancer en bridge sur le serveur distant sinon je perds la connexion et seul un technicien est en mesure de dépanner (je le sais puisque j'ai fait l'erreur).

    Oui, c'est sans doute pour ça que je n'ai pas la main dessus.

    Mais alors pourquoi change t-on le port? N'est ce pas pour une raison de sécurité?
    Ton raisonnement est logique mais dans mon cas, j'arrive à m'authentifier (voir la copie d'écran) et je peux aussi passer des appels sans problème.
     
  5. danardf

    Joined:
    Dec 3, 2007
    Messages:
    8,069
    Likes Received:
    12
    En mode Bridge, ton serveur doit prendre une adresse IP comme un serveur normal depuis ta connexion sur ton PC ou VMWare est monté sans pour autant perdre la connexion sur le PC local.
    Autrement dit en gros, la carte Ethernet de ton PC a 2 adresses IP (Celle de ton PC et celle de ton serveur).

    J'ai fonctionné comme çà pendant plus d'un an avec TrixBox virutalisé sous VM et pas de problème.

    Ne pas confondre PAT et NAT. ;)

    Pour ma part je ne maitrise pas trop VMWare.
     
  6. vishwa

    Joined:
    Sep 27, 2010
    Messages:
    25
    Likes Received:
    0
    Je n'ai pas vraiment été claire dans mon explication.
    Enfaite mon serveur Windows distant n'a pas de routeur, il a juste une ip public.
    Aucun serveur dhcp, si même en mettant une ip manuelle, quelle autre adresse ip public pourrais je mettre?
    Mais pour ça, il faut qu'une deuxième carte soit reliée, malheureusement, je n'en ai qu'une.

    [​IMG]

    Impossible donc de faire du bridge (c'est bien quand t'es derrière un routeur).
     
  7. danardf

    Joined:
    Dec 3, 2007
    Messages:
    8,069
    Likes Received:
    12
    Hmmm Mouai...

    Dans ce type de figure, je ne vois pas non plus.
    Je ne connais point Windows Server 2008.
     
  8. vishwa

    Joined:
    Sep 27, 2010
    Messages:
    25
    Likes Received:
    0
    Finalement, j'ai trouvé le problème de l'enregistrement du port aléatoire des téléphones.
    Pour sécuriser le serveur, on peut changer le port d'écoute (bind) par exemple en 5070.
    C'est un port local du serveur, c'est à dire qu'il attend qu'un signal lui arrive.

    Le port de requête, c'est le signal qu'attend le port d'écoute et qui va aboutir à un déclenchement d'une action.
    Ici, ce sont les téléphones sip qui essayeront d'envoyer ce signal à ce port d'écoute (le port de requête peut être un n° de port différent à celui du port d'écoute)
    Généralement le port d'écoute et le port de requête ont le même n° de port afin de simplifier.

    La syntaxe est la suivante (sur un exemple de port):

    - port d'écoute :
    ip_serveur:5070

    - port de requête :
    ip_client:8756

    Dans mon cas, l'enregistrement de mes téléphones se faisaient sur un port aléatoire.


    C'est un peu comme une redirection de port que nous trouvons dans les routeurs.
    L'origine de cet enregistrement aléatoire du port de requête est dû au téléphone sip et non au serveur.
    Si nous pouvons accéder à la configuration avancée, on peut toucher à ce paramètre.
    Par exemple, sur Eyebeam :
    [​IMG]

    Donc, ce qu'on peut voir sur cette image, n'est pas le port d'écoute mais le port de requête (port distant) de mes téléphones.
    [​IMG]

    Voilà, c'est ce que j'ai compris, est ce que je ne me suis pas trompé? ou y a t'il quelque chose que j'ai compris de travers?

    Sinon mon serveur elastix distant fonctionne sans problème, après avoir activé le nat dans vmware et ouvert les ports.
    Et justement pour l'ouverture des ports ce n'était pas évident, puisqu'il demande de les ouvrir un à un.
    Vous imaginez ouvrir les ports udp à la main de 10.000 à 20.000?!!
    J'ai trouvé une astuce, avec l'aide d'excel, il m'a tapé automatiquement une suite logique.
    Puis, j'ai recopié dans le fichier "C:\ProgramData\VMware\vmnetnat.conf" ces redirections.

    Pour éviter que le logiciel de vmware ne réécrive le fichier, il faut arrêter et redémarrer manuellement le service sinon vous perdez la totalité des données rentrées.
    [​IMG]
     
  9. danardf

    Joined:
    Dec 3, 2007
    Messages:
    8,069
    Likes Received:
    12
    Salut.

    Un peut alambiqué mais si ça fonctionne! :laugh:

    Pour info les port 10000 à 20000 c'est bien de l'UDP, mais...mais ils servent à l'audio.
    ça s'appelle du protocole RTP. Tu peux passer 10001 comm en même temps.
    Tu peux réduire la tranche dans le fichier rtp.conf.
    Rein à voir avec les ports de requêtes!!!

    Et pourquoi pas utiliser un serveur STUN?
    Juste à paramétrer le non du serveur STUN (stun.ekiga.net par exemple)
    Il me semble que counterpath en a un à disposition gratuitement, mais je ne sais plus l'URL.
     
  10. vishwa

    Joined:
    Sep 27, 2010
    Messages:
    25
    Likes Received:
    0
    Ah... Et qu'est ce que c'est exactement un serveur stun? D'ailleurs, il est possible de le configurer dans mon téléphone mais je n'avais jamais pensé à le toucher.
     
  11. danardf

    Joined:
    Dec 3, 2007
    Messages:
    8,069
    Likes Received:
    12
    Comme je l'ai dis, c'est un serveur qui crééeune sorte de tunnel lors de la connexion vers ton serveur.
    Oui tu peux le configurer sur ton Xlite.

    Fais une recherche sur google, il y a un site que détaille le fonctionnement et le schéma.

    Excuses, mais pas trop le temps pour l'instant de détailler. Pas mal de taf en ce moment.
     

Share This Page