Astmanproxy config

Aus metasec wiki
Version vom 26. Februar 2010, 12:01 Uhr von Admin (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Allgemein

Das Manager Interface vom Asterisk ist nicht unbedingt für hohe Last ausgelegt. Über diese Schnittstelle werden jedoch Informationen für z.B. TAPI Treiber zur Verfügung gestellt. Um die Last zu minimieren kann der Astmanproxy als Proxy Server genommen werden und zwischen Client und Asterisk geschaltet werden.

Der Vorteil vom Astmanproxy ist auch der , dass dieser u.A. Verbindungen über SSL unterstützt, wo hingegen der Manager ein plaintext Protokoll ist wie z.B. Telnet oder POP!!!


Installation

Die benötigen Dateien von http://dl.metasec.de/zphone/astmanproxy.tar.bz2 herunterladen. Danch enptacken

tar xvjf astmanproxy.tar.bz2 -C /

Danach die Konfigurationsdatei einrichten. Das Beispiel kann ohne Probleme so übernommen werden.

/etc/asterisk/astmanproxy.conf minimalconfig


; auf welchen host soll verbunden werden
; i.d.r. ist es der localhost, es können jedoch 
; weitere hosts hiinzugefüg werden
host = 127.0.0.1, 5038, z_proxy, z_proxy, on, off

; wie oft soll versucht werden den host zu kontaktieren
; nach n versuchen verwirft der astmanproxy diese verbindung!!!
maxretries = 10

;
; in welchem Intervall soll versucht werden eine Verbindung aufzubauen
retryinterval = 2

; auf welchen Interface / IP soll gelauscht werden
listenaddress = *

; auf welchen Port soll gelauscht werden
listenport = 5039

; Authentifizierung erforderlich
; diese werden aus der Datei astmanproxy.users gelesen
; die ZPhoen unser werden automatisch angelegt!
authrequired = yes

; unter welchen user und gruppe soll der prozess laufen
; wichtig: wenn user oder gruppe nicht vorhanden sind, kommt der dienst nicht hoch!!!
proc_user = asterisk
proc_group = asterisk

; logging
logfile = /var/log/astmanproxy.log

;
; sonstige angabent... :->
;
sslclienthellotimeout = 200
acceptencryptedconnection = no
acceptunencryptedconnection = yes
asteriskwritetimeout=100
clientwritetimeout=200
inputformat = standard
outputformat = standard
autofilter = on


Dienst starten

Der Dienst wir einfach auf der Konsole gestartet. Nach dem Start wechselt dieser automatisch in den Hintergrund.

/etc/init.d/astmanproxy start

Wenn man jedoch zu Testzwecken den Dienst im Vordergrund laufen lassen will, dann muss der Debuglevel angegeben werden

 /usr/local/metasec/bin/astmanproxy -d
 /usr/local/metasec/bin/astmanproxy -dd
 /usr/local/metasec/bin/astmanproxy -ddd

Je mehr -d Schalter, desto mehr Debuginfo! Auf der Asterisk CLI kann man den eingeloggten Proxy mit

manager show connected

sich anzeigen lassen. Es sollte ein User z_proxy von localhost eingeloggt sein!

Multi Server Setup

Als erstes muss in der Datei /etc/asterisk/manager-custom.conf ein zusätzlicher User angelegt werden.
Dieser ist für die jeweilige Gegenseite.
In unserem Beispiel gehen wir davon aus dass wir zwei Server haben:

zphone1 192.168.1.1
zphone2 192.168.2.1

/etc/asterisk/manager-custom.conf auf zphone1

[zphone2]
secret = ultra_secret_password
deny=0.0.0.0/0.0.0.0
permit=192.168.2.1/255.255.255.255
read  = call,log,verbose,command,agent,user,system,all
write = call,log,verbose,command,agent,user,system,all

/etc/asterisk/manager-custom.conf auf zphone2

[zphone1]
secret = ultra_secret_password
deny=0.0.0.0/0.0.0.0
permit=192.168.1.1/255.255.255.255
read  = call,log,verbose,command,agent,user,system,all
write = call,log,verbose,command,agent,user,system,all

In der Datei /etc/asterisk/astmanproxy.conf muss noch der jeweils andere Server hinzugefügt werden.
( zuzüglich zum "host = 127.0.0.1, 5038, z_proxy, z_proxy, on, off" Eintrag!!! )

Zphone1

host = 192.168.2.1, 5038, zphone1, ultra_secret_password, on, off

Zphone2

host = 192.168.1.1, 5038, zphone2, ultra_secret_password, on, off

Danach müssen noch beide Astmanproxys mit der neuen Konfiguration neu gestartet werden.

/etc/init.d/astmanproxy stop
/etc/init.d/astmanproxy start

das wars....