Hi,
ich betreibe einen Server im Rechenzentrum. Auf diesem läuft HAProxy. Darüber werden verschiedene Server wie Nextcloud erreicht.
Nun möchte ich gerne mehrere Telefonanlagen also 3CX am liebsten auch darüber erreichen. Ist dies möglich? Gerade weil da noch einige andere Ports funktionieren müssen. Wie könnte ich mein Vorhaben umsetzen?
Noch eine andere ähnliche Frage... Wie oben erwähnt kann ich Nextcloud hinter dem HAProxy erreichen. Nun läuft auf dem Nextcloud-Server beispielsweise Webmin welcher über Port 10000 erreichbar wäre aber nicht ist.
Kann ich HAProxy so konfigurieren um auch diesen Port an den entsprechenden Server weiterzuleiten wie meinserver1.de:10000, meinserver2.de:10000 und meinserver3.de:10000?
Ich bin über eure Antworten gespannt.
Viele Grüße an die Community
Das stellen sich erstmal ein paar fragen.
1. Haproxy auf OPNsense?
2. Eine oder mehrere feste IPs?
Zu 1. Ja, der HAProxy läuft auf der OPNsense.
Zu 2. Es gibt aktuell eine feste IP.
Der HAProxy hat eine Option im Backend, dass der Traffic auf dem Ort ausgehen wird auf dem er eingeht.
Du musst nur das Frontend dann auf allen Ports hören lassen und es durch FA Regeln begrenzen
HAproxy unterstützt kein UDP. Damit ist Dein Vorhaben meiner Einschätzung nach nicht realisierbar, da alle mir bekannten Voice-Protokolle auf UDP basieren.
Gruß
Patrick
Ich denke beide anforderungen lassen sich umsetzen.
Bei der ersten mit verschiedenen Diensten auf den Nextcloud instanzen muss man über die url arbeiten um umzuleiten. Meinserver1.xxxx.de/nextclound und Meinserver1.xxxx.de/webadmin. sowas in der Art.
Dann kann via Haproxy der richtige server im Backendgefunden werden. Außerdem muss dann noch eine urlrewrite für das jeweilige Backend gemacht werden.
Zu 3CX.
Da werden folgende Ports benötigt.
5060 oder 5061 out. Stellt kein Problem da. Die jeweilige 3cx baut eine Verbindung zum SIP Provider auf. Da gehen dann auch die Antworten hin.
für das Webinterface wird 5001 benötigt. Das kann via haproxy und subdomain/Domain auf auf den jeweiligen Server umgeleitet werden.
Nun kommt die Frage wie werden Telefone angebunden? Wenn das via 3cx tunnel gemacht wird ist man save.
Man kann bei der 3cx bei der erstinstalltion den tunnel port festlegen. Der muss unterschiedlich für jede 3cx instanz sein. Dann kann man via portforwarding die jeweiligen tunnel auf die richtige 3cx instanz umleiten.
Jetzt ist allerdings noch wichtig in der 3cx einzustellen das telefonate immer über die 3cx geführt werden. Dann laufen alle RTP session über diese und es sind keine weiteren ports nötig.
Mit der 3cx app auf dem mobile sofort machbar. Andere Telefone müssen via 3cx sbc tunnel in die 3cx verbunden werden.
Wenn die 3cx via vpn erreichbar sind und keine mobile genutzt werden sollen ist nicht mal der tunnel port oder das webinterface auf der firewall zu öffnen. Aber ohne SBC wird es nicht gehen
@lewald
Danke für deine Ausführungen. Ich habe aktuell die 3CX hinter die OPNsense genommen. Die 3CX ist über die subdomain.my3cx.de erreichbar und verbindet sich mit dem Provider und die Anrufe scheinen dort auch anzukommen.
Im ersten Schritt versuche ich die 3CX App für Smartphone zum laufen zu bringen. Eine Kommunikation findet statt da der Status verfügbar ist. Unter dem Status steht dann aber Verbindung wird hergestellt.... Also fehlt mir noch etwas.
Zitat: Jetzt ist allerdings noch wichtig in der 3cx einzustellen das telefonate immer über die 3cx geführt werden. Dann laufen alle RTP session über diese und es sind keine weiteren ports nötig.
Dies habe ich nicht tun können da ich es nicht gefunden habe. Wo mache ich das? Könnte dann mein Problem gelöst sein?
Wenn ich mich dann auf dem webclient anmelde wird ein ankommender Anruf signalisiert. Leider lässt sich dieser nicht annehmen. Ich klicke und es passiert nichts. Auch kann ich selbst keine Anrufe initiieren. Hängt das auch mit der oben genannten Einstellung (welche ich nicht gemacht habe) zusammen?
Wie oben schon beschrieben.
SIP und VOIP Sachen basieren auf UDP der HAProxy nimmt aber nur TCP.
Die Signalisierung der Anrufer wirst du zwar auf TCP umstellen können aber
1. Langsamer
2. Auch dann werden die Audio Pakete per UDP übertragen
Ok, ich habe nun die Ports 5060 UDP/5061 TCP, 5090 TCP und UDP, 5001 TCP und UDP per NAT an die 3CX Instanz geleitet.
1. Brauche ich tatsächlich 5001 wenn ich da 443 nutze und dieser durch den HAProxy auf die 3CX landet?
2. Brauche ich trotzdem Lokal einen SBC für die Hardwaretelefone?
3. Könnte ich mir NAT für 5060/5061 sparen da es ausgehend ist?
4. Brauche ich für den 3CX Tunnel einen SBC?
5. Kann ich mein Setup nicht so einrichten als hätte die 3CX eine öffentliche IP um dann auch kein SBC benutzen zu müssen?
Quote from: DerNorden on July 05, 2021, 02:20:31 PM
Ok, ich habe nun die Ports 5060 UDP/5061 TCP, 5090 TCP und UDP, 5001 TCP und UDP per NAT an die 3CX Instanz geleitet.
1. Brauche ich tatsächlich 5001 wenn ich da 443 nutze und dieser durch den HAProxy auf die 3CX landet?
2. Brauche ich trotzdem Lokal einen SBC für die Hardwaretelefone?
3. Könnte ich mir NAT für 5060/5061 sparen da es ausgehend ist?
4. Brauche ich für den 3CX Tunnel einen SBC?
5. Kann ich mein Setup nicht so einrichten als hätte die 3CX eine öffentliche IP um dann auch kein SBC benutzen zu müssen?
Also welche Ports die 3CX braucht solltest du vielleicht bei 3CX erfragen.
Wusste auch nicht wofür da ein SBC benötigt wird
Hallo, ich bin mit meiner 3CX soweit dass ich mit allen Telefonen telefonieren kann. Nur mit dem Webclient nicht. Der baut zwar einen Ruf auf, aber will dann die Pakete an die interne IP schicken, obwohl ich über den FQDN komme. Hast du dein Problem ganz gelöst bekommen?
Quote from: drh8ball on July 06, 2021, 10:13:31 AM
Hallo, ich bin mit meiner 3CX soweit dass ich mit allen Telefonen telefonieren kann. Nur mit dem Webclient nicht. Der baut zwar einen Ruf auf, aber will dann die Pakete an die interne IP schicken, obwohl ich über den FQDN komme. Hast du dein Problem ganz gelöst bekommen?
Am welche interne IP und von wo kommst du?
Setup ist wie folgt:
-Proxmox
-OpnSense ---> 3CX
extern sub.domai.ne
int 192.168.17.1 ---> 192.168.17.164
HAProxy 5000/5001 ---> 3CX 5000/5001
Nat 5060/5090/9000-10999 ---> 3CX
Quote from: drh8ball on July 06, 2021, 11:34:02 AM
Setup ist wie folgt:
-Proxmox
-OpnSense ---> 3CX
extern sub.domai.ne
int 192.168.17.1 ---> 192.168.17.164
HAProxy 5000/5001 ---> 3CX 5000/5001
Nat 5060/5090/9000-10999 ---> 3CX
Und von wo aus greifst du auf die WebUI zu?
Vom internen Netzwerk oder extern?
Extern über den FQDN. Wenn ich dann einen Anruf starten will, klingelt es auch, man kann abheben, hört dann aber nichts. Ein Pakettrace am Client ergibt folgendes Bild.
Gleiches Problem habe ich auch. Mein IP Telefon zeigt an als wäre es registriert. Aber wenn ich den Hörer abnehme kommt ein Piep Piep Piep und erst danach pieeeeeeeeeeeeeeeeeep.
Kann darüber auch keine Anrufe absetzen. Wenn ein Anruf rein kommt klingelt das Endgerät.
Und die IPs dort sind welche Geräte aus welchen Netzen?
OPNsense - öffentliche IP (Rechenzentrum) / Intern 10.0.0.1
3CX - interne 10.0.0.147
Geräte kommen von außen an die OPNsense über HAProxy und/oder NAT rein.
Quote from: DerNorden on July 06, 2021, 07:46:25 PM
OPNsense - öffentliche IP (Rechenzentrum) / Intern 10.0.0.1
3CX - interne 10.0.0.147
Geräte kommen von außen an die OPNsense über HAProxy und/oder NAT rein.
Verwendest du einen STUN Server?
Denke die 192.17..... ist ja das lokale Netzwerk des Clients, dort findest also kein Umschreiben der SourceIP statt.
Entweder dort fehlerhaftes NAT oder kein STUN
Aber so oder so denke ich ehr ein Thema für 3CX...
Die Leute im 3CX Forum meinen es ist ein Thema für hier.
Mein lokales Netz ist ein anderes. 192.168.17.0/24 ist das LAN der OpnSense
Quote from: drh8ball on July 06, 2021, 10:55:05 PM
Die Leute im 3CX Forum meinen es ist ein Thema für hier.
Mein lokales Netz ist ein anderes. 192.168.17.0/24 ist das LAN der OpnSense
Aber was sind das beides für Geräte und wo stehen die (beide IPs) sie dem Wireshark trace?
Quote from: lfirewall1243 on July 06, 2021, 11:38:29 AM
Quote from: drh8ball on July 06, 2021, 11:34:02 AM
Setup ist wie folgt:
-Proxmox
-OpnSense ---> 3CX
extern sub.domai.ne
int 192.168.17.1 ---> 192.168.17.164
HAProxy 5000/5001 ---> 3CX 5000/5001
Nat 5060/5090/9000-10999 ---> 3CX
Und von wo aus greifst du auf die WebUI zu?
Vom internen Netzwerk oder extern?
Quote from: drh8ball on July 07, 2021, 08:23:53 AM
Quote from: lfirewall1243 on July 06, 2021, 11:38:29 AM
Quote from: drh8ball on July 06, 2021, 11:34:02 AM
Setup ist wie folgt:
-Proxmox
-OpnSense ---> 3CX
extern sub.domai.ne
int 192.168.17.1 ---> 192.168.17.164
HAProxy 5000/5001 ---> 3CX 5000/5001
Nat 5060/5090/9000-10999 ---> 3CX
Und von wo aus greifst du auf die WebUI zu?
Vom internen Netzwerk oder extern?
Quote from: drh8ball on July 07, 2021, 08:23:53 AM
Quote from: lfirewall1243 on July 06, 2021, 11:38:29 AM
Quote from: drh8ball on July 06, 2021, 11:34:02 AM
Setup ist wie folgt:
-Proxmox
-OpnSense ---> 3CX
extern sub.domai.ne
int 192.168.17.1 ---> 192.168.17.164
HAProxy 5000/5001 ---> 3CX 5000/5001
Nat 5060/5090/9000-10999 ---> 3CX
Und von wo aus greifst du auf die WebUI zu?
Vom internen Netzwerk oder extern?
Und wo wird da die 10.6..... erklärt?
Sonst ersten dich bitte einfach einen Netzwerkplan mit allen wichtigen Dingen
Die 10.6.... ist die IP meines Laptops im Hotel
Quote from: drh8ball on July 07, 2021, 09:15:08 AM
Die 10.6.... ist die IP meines Laptops im Hotel
Wie gesagt Netzwerkplan.
Und ein Hotelnetzwerk ist zum testen vielleicht das falsche, sind ja oftmals recht beschränkt
Es macht keinen Unterschied ob im Hotel, oder bei mir zuhause. Und wie gesagt, vom gleichen Laptop im gleichen Hotel WLAN funktioniert die 3CX Windows App
Quote from: drh8ball on July 07, 2021, 09:51:46 AM
Es macht keinen Unterschied ob im Hotel, oder bei mir zuhause. Und wie gesagt, vom gleichen Laptop im gleichen Hotel WLAN funktioniert die 3CX Windows App
Dann kann ich dir hier leider nicht weiterhelfen.
Habe jetzt mehrfach nach einem Netzwerkplan und Infos gefragt und von dir kommt da kein Feedback.
Bin leider kein Zauberer und erkenne die Fehler ohne Infos
Und Web Phone und Windows App arbeiten wahrscheinlich sehr unterschiedlich
Einmal SIP Client nehme ich an und WebRTC, sind ganz unterschiedliche Dinge.
WAN / Internet
:
: DialUp-/PPPoE-/Cable-/whatever-Provider
:
.-----+-----.
| Proxmox |
'-----+-----'
|
WAN | 95.173.XXX.XXX
|
.-----+------.
| OPNsense|
'-----+------'
|
LAN | 192.168.17.0/24
|
.-----+------.
| vmbr4 |
'-----+------'
|
.-----+------.
| 3CX |
'-----+------'
Okay so oder so noch die Frage ob du einen STUN Server verwendest.
Ich vermute nein. Dann kennt dein Client seine öffentliche IP natürlich nicht und schickt daher die lokale IP als Antwort IP mit.
Nein ich verwende keinen Stun-Server. Ich kann testweise einen Stun-Server von 3CX verwenden. Kann ich heute Abend mal testen.
Was mich aber dennoch verwirrt.
Ich gehe mit meinem Browser auf https://fq.dn:5001/webclient. Auf Port 5001 der OpnSense lauscht der HAProxy und leitet die Anfragen an 192.168.17.164:5001 weiter.
Da funktioniert auch alles. Ich sehe den Status von anderen Teilnehmern und so weiter.
Wenn ich dann einen Anruf tätige, zum Beispiel zu meinem Handy, klingelt mein Handy auch, dann gehe ich ran. und dann ist einfach kein Sound in alle Richtungen.
Da habe ich das Trace her, und was mich da wundert. Das er versucht unter 192.168.17.164 einen Stun-Server zu erreichen.
Ich weiß das ist doof zu erklären per Text.
Quote from: drh8ball on July 07, 2021, 10:08:20 AM
Nein ich verwende keinen Stun-Server. Ich kann testweise einen Stun-Server von 3CX verwenden. Kann ich heute Abend mal testen.
Was mich aber dennoch verwirrt.
Ich gehe mit meinem Browser auf https://fq.dn:5001/webclient. Auf Port 5001 der OpnSense lauscht der HAProxy und leitet die Anfragen an 192.168.17.164:5001 weiter.
Da funktioniert auch alles. Ich sehe den Status von anderen Teilnehmern und so weiter.
Wenn ich dann einen Anruf tätige, zum Beispiel zu meinem Handy, klingelt mein Handy auch, dann gehe ich ran. und dann ist einfach kein Sound in alle Richtungen.
Da habe ich das Trace her, und was mich da wundert. Das er versucht unter 192.168.17.164 einen Stun-Server zu erreichen.
Ich weiß das ist doof zu erklären per Text.
achso bei dir hängt auch ein HAProxy davor, habe ich irgendwie überlesen.
Das wird dann auch nicht klappen.
Soweit ich weiß verwendet WebRTC zur Audioübertragung UDP, da kann der HAProxy nichts mit anfangen.
Dennoch wird STUN bei dir auch ein Thema sein...
Die benötigten UDP Ports sind genattet. auch die für WEBRTC.
Wenn ich ein VPN aufmache, kann ich dann auch was hören.
Wie kommt es dass der Webclient überhaupt diese IP mitgeteilt bekommt?
Quote from: drh8ball on July 07, 2021, 10:16:31 AM
Die benötigten UDP Ports sind genattet. auch die für WEBRTC.
Wenn ich ein VPN aufmache, kann ich dann auch was hören.
Wie kommt es dass der Webclient überhaupt diese IP mitgeteilt bekommt?
Wenn die Ports genatted sind schonmal gut.
Also WebRTC selbst ist da meist nicht das Problem sonder RTP, gleiche bei SIP. Da läuft die Datenübertragung von Audio/Video drüber.
RTP ist so gedacht, dass die kommunzierenden Geräte sich untereinander direkt erreichen können (hat viele Vor- und Nachteile, daher wird bei der Portaushandlung die lokale IP des Clients mitgegeben.
Bei SIP scheint sie etwas besser zu funktionieren da wird meiner Erfahrung nach meist die öffentliche IP schon mit ausgehandelt, somit ist dort kein STUN nötig.
Bei WebRTC aber nicht. Da RTP also nur für direkten Traffic gedacht ist und die über das Internet mit NAT etc nicht klappt, kommt STUN ins Spiel.
Beim Stun Server fragt der Client sozusagen nach "Hey welche öffentliche IP habe ich hier" und gibt diese dann im RTP als Source Adresse an, bzw bei der Aushandlung.
Die Telefonanlage sieht nur die Adresse wo die Antwort hin soll, der ist egal ob die lokal, öffentlich, falsch oder richtig ist.
Danke für diese ausführliche Erklärung. Da kann ich was mit anfangen.
Also sollte ich einen eigenen STUN Server aufsetzen?!
Kann ich gerne machen. :)
Quote from: drh8ball on July 07, 2021, 10:37:45 AM
Danke für diese ausführliche Erklärung. Da kann ich was mit anfangen.
Also sollte ich einen eigenen STUN Server aufsetzen?!
Kann ich gerne machen. :)
Du musst nicht unbedingt einen eigenen aufsetzen.
Entweder bietet 3xc selbst einen an oder im Internet gibt's zahlreiche kostenlose (glaube Google auch).
Musst halt testen welche damit laufen und am Ende natürlich die Datenschutzfrage.
Aber um erstmal zu schauen ob es mit STUN läuft kann man diese ja testweise nehmen.
3CX hat welche, die schreiben aber auch gleich dazu dass diese nicht in Produktiven System zu nutzen sind. Ich werde das heute Nacht noch mal testen. Ich hätte den Stun aber auch gerne für meine eigene Jitsi Instanz.
Dann danke ich jetzt erst mal recht herzlich, ich melde mich wenn ich mit STUN getestet habe :)
Ich musste heute Nacht leider was anderes machen. Ich denke aber am Wochenende wird es dann Neuigkeiten geben.
Entschuldigt die späte Antwort.
Weil der Druck so hoch war, die Telefonanlage nutzen zu können, hab ich mich dazu entschlossen die entsprechenden Ports weiterzuleiten, und habe dann das Zertifikat genommen was von 3CX bereitgestellt wird.
Quote from: drh8ball on November 10, 2021, 03:11:49 PM
Entschuldigt die späte Antwort.
Weil der Druck so hoch war, die Telefonanlage nutzen zu können, hab ich mich dazu entschlossen die entsprechenden Ports weiterzuleiten, und habe dann das Zertifikat genommen was von 3CX bereitgestellt wird.
Telefonanlage direkt aus dem Internet erreichbar machen, ist nie eine gute Idee.
Gesendet von meinem M2012K11AG mit Tapatalk