Telefonanlage und bestimmte Ports hinter HAProxy erreichen

Started by DerNorden, May 02, 2021, 05:18:28 PM

Previous topic - Next topic
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
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

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
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

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
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

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
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

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?
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

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?
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

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.