Interene Telefone: Verbindungsverlust zum internem Asterisk bei Verlust der Inetverb.

n8isch

Mitglied
Mitglied seit
22 Mrz 2005
Beiträge
275
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe folgendes Problem, das ich mir nicht erklären kann: Ich habe 3 optipoints wl2, die sich am internen Asterisk anmelden. In allen Telefonen ist die interne IP des Server angegeben.

Der Asterisk-server ist gleichzeitig router und besitzt zwei Netzwerkkarten. Eine hat eine feste interne IP und die andere bekommt die IP per dhcp vom Kabelmodem. Auf beiden lauscht Asterisk.

Wenn ich nun die Verbindung zum Kabelmodem trenne, verlieren die Telefone die Verbindung zum Asterisk. Im Netzwerk sind sie allerdings nach wie vor (lassen sich pingen).

Wenn ich nun die default-route lösche, verbinden sie sich sofort wieder ohne Probleme.

Code:
192.168.xxx.0     *               255.255.255.0   U     0      0        0 eth0
95.89.xxx.0     *               255.255.254.0   U     0      0        0 eth3
default         mxx.lxx     0.0.0.0         UG    0      0        0 eth3

Wenn die Internetverbindung hergestellt wird, funktioniert so aber das routing ins netz nicht mehr. Gibts irgendeine Einstellung in Asterisk, die ggf für den Betrieb der Telefone eine Netzverbindung notwendig macht?

Danke und vg
n8|
 
Wenn ich nun die Verbindung zum Kabelmodem trenne, verlieren die Telefone die Verbindung zum Asterisk.

Aus eigener Erfahrung:

Wenn Asterisk auf irgendwas externes, deinen Sip-Provider zum Beispiel, zugreift und er die Verbindung zum Internet verliert, ist er nach kurzer Zeit so mit der Wiederherstellung der Verbindung beschäftigt, dass ihn dein Peers nicht mehr interessieren.

Meist hilft alle externen Ziele in der hosts zu hinterlegen.
 
Ahhh, super!

Das werde ich direkt mal ausprobieren.

Vielen Dank!
n8|

Achso, was bringt der Eintrag eigentlich? Die Ziele sind ja nicht trotz des Eintrags nicht erreichbar. Oder besser: Was soll ich eintragen?

Code:
83.169.128.113         prox01.kabelphone.de


das reicht?
 
Zuletzt bearbeitet:

Für die internen Verbindungen sollte es reichen, da Asterisk eine dns-Abfrage mehr braucht.
Ist eigentlich kein Asterisk, sondern ein Linux-Problem der DNS-Abfrage.

Dazu gab es schon mal was hier im Forum.
 
Das funktioniert prima. Wäre ich nie drauf gekommen. Auch die zahlreichen dns-lookup Meldungen in den logs scheinen der Vergangenheit anzugehören. Hoffe ich mal, daß die nicht so schnell die ip zur dns ändern :).

Danke!
n8|
 
Danke!

Auch keine schlechte Idee.
 
Hallo Kombjuder, Hallo n8isch,

Das liegt am DNS.
Dazu gab es schon mal was hier im Forum.
Ja, dazu gab es vor fast 2 Jahren mal etwas von mir hier im Forum, damals war das NonPlusUltra einen eigenen DNS Server aufzusetzen, der auch noch einen dementsprechend langen Cache beinhaltet, damals habe ich MaraDNS propagandiert, heute ist es wieder der speicherhungrige Bind9 (Named).

Hier - das habe ich gerade noch ausgegraben :

Code:
Die Lösung ist, wie kombjuder schon sagt, ein lokaler DNS Server wie beispielsweise BIND auf dem Asterisk Server. Dieser nimmt alle DNS Fragen an und leitet sie an einen externen Server weiter.
Eben diese Lösung zieht bei mir nicht an, er sendet eben nicht ein "unreachable" und damit hat es sich - er hakt dabei. Anbei - mein ns ist natürlich 127.0.0.1 ! Alle Telefone etc. bezihene sich ebenfalls erst auf den Asterisken, dann auf externe.

Ich hatte gestern meinen ersten DSL-Ausfall seit dem damaligen Beitrag - das interne Modem war nicht mehr in der Lage DSL zu synchronisieren, durch die Telekom wurde dann vor Ort deutlich das es wirklich mit einem Modemtausch zu beheben war - für mich praktisch nicht zu diagnostizieren bzw. von einer DSL Störung zu unterscheiden.

naja - however. Meine Lösung mit dem DNS Server war schlichtweg nicht ausreichend - und so ging der Asterisk bereits nach 3 Stunden in die Knie und erhielt auch keine Cache Info mehr, was zur Folge hatte das auch "single ip" geroutete Peers nicht merh registrieren konnten und somit unbrauchbar waren....leienhaft gesprochen "Telefonanlage tot".

Nur damit ich es richtig verstehe, Kombjuder. Aus Mangel an alternativen (guten) Lösungen würde ich dann in die /etc/hosts meine "gewöhnlichen" DNS Queries aufgeben, so dass die gewöhnlichen Verdächtigen wenigstens durchkommen?!

Das ganze Thema "redundante DSL Verbindung" macht mir noch ein wenig Bauchweh...

[offtopic-on]Mal ganz off topic - ich habe gestern meinen alten Intertex wiederbelebt um mal etwas Abwechslung in die Modemlandschaft zu bringen - dort bekommt man auch eine "dns abfragenansicht" - mir fiel auf das unsere Neuen "Vista" Systeme (original-versteht sich bitte schön) sehr gerne queries an (Sinnzitat) "www.blockbadsoftware.com" sendet, ich habe gerade nachgesehen, die genaue Adresse ist leider nicht merh im Log. Scheint ein Neues Gefühl von Heimweh von MS Produkten zu sein :) [offtopic-off]
 
Zuletzt bearbeitet:
Aus Mangel an alternativen (guten) Lösungen würde ich dann in die /etc/hosts meine "gewöhnlichen" DNS Queries aufgeben

Ja, so hatte ich das gedacht. Ein grosses aber.

das funktioniert nur bis dein Server doch auf DNS zugreifen muss, auch unabhängig von Asterisk.
 
Sicher, so denke ich mir das ganze auch. Ich hatte es noch irgendwo im Kopf das es auch eine Option gab/gibt den Bind besonders langen Cache zu geben [gesucht, gefunden]

named.conf.options
Code:
        max-cache-size 400M ;           # mehr Cache, weniger Fragen
        cleaning-interval 1200 ;          # Erst nach 20 Stunden säubern
Anbei - hier gab es ähnliche Probleme.

Ich muss die Tage mal testen ob das so geht.

Einfachste Methode : statische IPs benutzen... :) Hier bei mir ist das kein Thema - aber manch anderer ist da etwas schwieriger :) (über ein Skript geht sowas natürlich..)

Gefunden im englischen INet

Code:
1. Just reject the 53 udp&tcp port in case of internet outage with iptables rule.
 e.g:
Code:
iptables -I OUTPUT -p udp -m udp --dport 53  -j REJECT[FONT=monospace]
[FONT=verdana,geneva,lucida,'lucida grande',arial,helvetica,sans-serif]ip[/FONT][/font]tables -I OUTPUT -p tcp -m tcp --dport 53  -j REJECTiptables -I OUTPUT lo -p udp -m udp --dport 53  -j ACCEPTiptables -I OUTPUT lo -p tcp -m tcp --dport 53  -j ACCEPT
[/code]

Code:
Use dnsmasq (DNS proxy) with some tricks:

Code:
/etc/resolv.conf only contain:
         search aaaaaaaaaaaaaa.aa
         nameserver 127.0.0.1

Code:
/etc/resolv.dnsmasq:
         nameserver 208.67.222.222   (or any other real recursive DNS server)
         nameserver 208.67.220.220

Code:
/etc/dnsmasq.conf fit your needs and:
         resolv-file=/etc/resolv.dnsmasq
         address=/aaaaaaaaaaaaaa.aa/127.0.0.1

Results: asterisk will not slow down
1. answer will be unknown host inmediately.
2. e.g: try to ping example.com. In case of internet outage, example.com will fail, so after 2-5sec by the "search" option example.com.aaaaaaaaaaaaaa.aa will be queried. After that the answer will be 127.0.0.1.
 
Zuletzt bearbeitet:

Neueste Beiträge

Statistik des Forums

Themen
244,872
Beiträge
2,219,915
Mitglieder
371,594
Neuestes Mitglied
AA-Idealbau
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.