.titleBar { margin-bottom: 5px!important; }

[gelöst] Wie manager-API-Zugriff von anderen Rechnern aus

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von anhalter42, 20 Feb. 2009.

  1. anhalter42

    anhalter42 Guest

    #1 anhalter42, 20 Feb. 2009
    Zuletzt von einem Moderator bearbeitet: 12 März 2009
    Wie im Titel angedeutet: ich kann prima vom Asterisk-Server über 127.0.0.1 auf das Asterisk-Manager-Interface zugreifen. Beim Versuch, von einem anderen Rechner aus demselben LAN, mich mit dem AMI zu verbinden, scheint es, dass der Asterisk-Server da gar nicht "lauscht". Firewall-Probleme schließe ich mal aus, da keine aktiv. Anbei meine manager.conf:

    Code:
    [general]
    enabled = yes
    port = 5038
    bindaddr = 127.0.0.1
    bindaddr = 192.168.1.X
    
    [nutzer]
    secret = secret
    deny=0.0.0.0/0.0.0.0
    permit=192.168.1.0/255.255.255.0
    read = system,call,log,verbose,command,agent,user
    write = system,call,log,verbose,command,agent,user
    
    Ich will mit der zweiten bindaddr-Zeile im general-Kontext erreichen, dass das Ding eben auch auf Aufrufe von anderen Rechnern im LAN reagiert. Dabei ist X natürlich eine Zahl.

    Anbei das Ergebnis von tcpdump auf dem anderen Rechner:
    Code:
    nutzer@PC-backup:/home/nutzer$ sudo tcpdump -vv -i eth0 port 5038
    [sudo] password for nutzer:
    tcpdump: WARNING: eth0: no IPv4 address assigned
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
    11:50:04.930050 IP (tos 0x10, ttl 64, id 14094, offset 0, flags [DF], proto TCP (6), length 60) PC-backup.XXXXX.de.49024 > 192.168.1.X.5038: S, cksum 0x9b77 (correct), 4178454517:4178454517(0) win 5840 <mss 1460,sackOK,timestamp 215814395 0,nop,wscale 6>
    11:50:04.930493 IP (tos 0x10, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 40) 192.168.1.X.5038 > PC-backup.XXXXX.de.49024: R, cksum 0x37ee (correct), 0:0(0) ack 4178454518 win 0
    
    2 packets captured
    4 packets received by filter
    0 packets dropped by kernel
    nutzer@PC-backup:/home/nutzer$
    
    
    Habt Ihr Ideen? Ich will ja eigentlich nur den Client der phonesuite mal testen...
     
  2. cherzberg

    cherzberg Mitglied

    Registriert seit:
    21 Mai 2006
    Beiträge:
    239
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi Anhalter,

    ich hoffe das "x" in der zweiten Adresse ist nur ein Platzhalter!
    Normaler Weise kommt da eine komplette IP eingetragen.


    Christian
     
  3. anhalter42

    anhalter42 Guest

    Logisch, dass dort eine vollständige IP-Adresse steht. Schrieb ich das nicht?
     
  4. cherzberg

    cherzberg Mitglied

    Registriert seit:
    21 Mai 2006
    Beiträge:
    239
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Habe ich überlesen. :(

    Ansonsten sieht das doch aber alles gut aus.
    Wenn Du mit Telnet auf den Server gehst, solltest Du dich einfach anmelden können.

    Christian
     
  5. anhalter42

    anhalter42 Guest

    #5 anhalter42, 20 Feb. 2009
    Zuletzt von einem Moderator bearbeitet: 20 Feb. 2009
    Genau dass das eben *nicht* geht treibt mich in den Wahnsinn. Ich seh's einfach nicht. Die Fehlermeldung bei Eingabe von

    Code:
    telnet  192.168.1.X 5038
    lautet "connection refused by host". Dasselbe Resultat erhalte ich, wenn ich eine definitiv freie Portnummer benutze. Bei Anfragen auf Port 80 gibts eine Antwort - klar, der Apache antwortet - und Port 22 springt auch an - ssh.

    Achso: von anderen Clients gibt es dasselbe negative Resultat - extra deswegen habe ich mir das gesamte Subnetz freigegeben.
     
  6. cherzberg

    cherzberg Mitglied

    Registriert seit:
    21 Mai 2006
    Beiträge:
    239
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Was sagt denn ein netstat -l -n -ptcp ?

    Ich würde auch einfach die beiden bindaddr gegen eine ersetzen.

    bindaddr = 0.0.0.0

    lg
    christian
     
  7. anhalter42

    anhalter42 Guest

    Bingo. Hier der Auszug von netstat *vor* der Änderung der bindaddr:

    Code:
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN     3522/smbd
    tcp        0      0 0.0.0.0:749             0.0.0.0:*               LISTEN     3535/rpc.statd
    tcp        0      0 0.0.0.0:5038            0.0.0.0:*               LISTEN     3333/asterisk
    tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     22033/portmap
    tcp        0      0 0.0.0.0:2000            0.0.0.0:*               LISTEN     3333/asterisk
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     21140/apache2
    tcp        0      0 0.0.0.0:22322           0.0.0.0:*               LISTEN     32491/perl
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     3529/sshd
    tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN     3508/master
    tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN     3522/smbd
    
    Das Ändern von bindaddr auf 0.0.0.0 und der anschließende Neustart von Asterisk ließ mich dann sofort an das AMI ran - blubbert jetzt lustig Meldungen vor sich hin.

    Schön, dass das funktioniert. Danke! Mir ist nun aber nicht ganz klar, was bindaddr denn nun für Magie betreibt, aber sei's drum. Danke nochmal!
     
  8. cherzberg

    cherzberg Mitglied

    Registriert seit:
    21 Mai 2006
    Beiträge:
    239
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Schön dass ich Dir helfen konnte.
     
  9. letacla

    letacla Neuer User

    Registriert seit:
    23 Sep. 2004
    Beiträge:
    60
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,
    mit "bindaddr=" ist nicht die IP Adresse des Client Computers gemeint, sondern die IP des
    Servers. 0.0.0.0 meint das auf alle Adressen gelauscht wird, wenn Du an der Netzwerkkarte
    mehrere IP Adressen hast.

    Schönes Wochenende Jürgen.