PDA

Voir la version complète : Asterisk, NAT iptables et soucis de hangUp()



Minimoi
11/11/2010, 23h10
Bonsoir à tous, étant mon premier post sur le nouveau site je suis thackyner (de l'ancien site), j'ai un soucis de redirection de port, si quelqu'un pouvait m'aider à chercher le soucis voir même éclairer ca serait chouette, j'explique tout :

Asterisk (écoute sur le 5060) | iptables (redirige le 38000 vers le 5060) | Routeur (38000 redirigé vers le serveur)

Lorsque je passe un appel, ca coupe au bout de 20sec, c'est un pb de NAT mais j'ai creusé sans rien trouver.

Merci d'avance à qui pourra m'aider ;)

PS : J'ai redirigé avec Iptables parce que je ne peut pas changer le port d'écoute d'asterisk il est déja utilisé par de nombreux téléphones locaux que je ne pourrai pas reconfigurer.

PS Bis : Ca fonctionne très bien lorsque je redirige directement le 5060 du routeur vers l'asterisk ;)

fastm3
12/11/2010, 02h09
Je cherchais a faire cela aussi. Ca permettrait effectivement de modifier facilement le port vu du cote public sans changement de config local.

Ca devrait theoriquement suffire et c'est ce que tu as du faire.

iptables -A PREROUTING -i eth0 -p udp -m udp --dport 38000 -j REDIRECT --to-ports 5060Essaie de jeter un coup d'oeuil aux traces sip pour voir ce qui se passe lors de la coupure. Mais sinon, comme ca ressemble vraiment a un pb de nat. Verifie deja externip, localnet, nat=yes et reinvite=no pour l'extension concernée ou global, on ne sait jamais.
Fastm3

Edit: Il faut aussi bien sur que le paquet sip contienne aussi le port externe utilisé, pense y pour le parametre externip...( ip:38000 ) Sinon, ca ne marchera que si le 5060 est ouvert aussi...

Minimoi
12/11/2010, 11h35
J'ai entré cette commande :

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 38000 -j REDIRECT --to-port 5060

Elle est différente mais fonctionelle juste pour lier un port apparement, j'autilise la table nat et pas la tienne.

J'ai finalement ouvert le 5060 au public, et mis des règles sur le nombre de connexion, il faudrait que je cherche ca plus longtemps histoire de valider une technique à mettre dans les tutos :p

fastm3
12/11/2010, 12h35
-p tcp ???
Par defaut, sur 99%, c'est udp. En tcp , c'est possible mais rare.
Donc la regle deja a priori est a corriger pour le udp.
Je pense que tu executes ta regle sur le serveur asterisk derriere le NAT et non sur un serveur ou sur un firewall en frontal, pas besoin donc du nat. Bon note que je ne suis pas non plus un expert d'iptables mais je me debrouille. ;)
Fastm3.

Minimoi
12/11/2010, 12h39
Je corrige mon erreur, j'ai bien mis udp (juste que je ne retrouvais plus trop la règle) ;)

J'ai bien compris maintenant la différence entre le nat et le pas nat, il faudrait que j'essaie, si seulement j'avais une machine à portée de main :p

fastm3
12/11/2010, 15h07
J'ai finalement ouvert le 5060 au public, et mis des règles sur le nombre de connexion, il faudrait que je cherche ca plus longtemps histoire de valider une technique à mettre dans les tutos :p
Je rebondis la dessus. Pas mal le blog...On a aussi une section dediées aux tutos...Un petit tuto sur nagios avec asterisk par exemple serait pas mal...;)
Si quelqu'un desire partager cela ou autre sujet, il ecrit un petit post dédié et aprés validation des modérateurs, on peut facilement le transformer en article dans le site...
Bon voila, c'est juste pour info , hein...;) La section des articles est ouverte à tous les auteurs...
Fastm3.

Minimoi
14/11/2010, 15h14
Merci ;)
Pourquoi pas partager un article sur nagios et asterisk ;)
J'essayerai de proposer ca !