Hallo Experten,
ich stehe vor einem Problem, das meine Netzwerkkenntnisse übersteigt. Ich habe einen Ubuntu Server bei mir im Heimnetzwerk, den ich über Portfreigabe der Fritzbox von außen über HTTPS (Port 443) zugänglich mache und ein A Record meiner (Telekom) Domain dirkelkosdomain.de zeigt auf die z.Z. aktuelle externe IP (z.B. 87.86.85.84) des Routers. Das funktioniert auch alles wunderbar, ich kann ohne Probleme den frisch aufgesetzten Server von außen und auch von innen, also aus dem Heimnetzwerk heraus sowohl über den Domainnamen als auch die externe IP Adresse erreichen. NAT Reflection der Fritzbox funktioniert also.
ABER: Auf dem Server soll ein Videokonferenz-Server BigBlueButton (BBB) laufen und der besteht aus mehreren Komponenten, die per TCP und UDP über zig Ports miteinander reden. Damit der Dienst, der die Audioübertragung regelt (freeSwitch), mit sich selber reden kann legt die BBB Installation einen sog. dummy NIC an, indem per „ip addr add 87.86.85.84/32 dev lo“ die externe IP Adresse des Routers dem Loopback Interface des Servers hinzugefügt wird. Das wird auch ausdrücklich in der Anleitung so erwähnt (s.u.) Damit funktioniert die recht komplexe BBB Software mit allem drum und dran problemlos (Ton, Bild, Screensharing,..) mit Clients von außen über den Router, aber der gesamte Server ist plötzlich nicht mehr aus dem Heimnetz heraus über die ext. IP oder den FQDN zu erreichen, was vor der BBB Installation ja noch problemlos ging. Ping auf den FQDN geht dabei noch aus dem Heimnetz heraus, es hat also nichts mit DNS zu tun, aber der Server ist nicht mehr aus dem Heimnetz mit der ext IP Adresse erreichbar: https://87.86.85.84 gibt einen Timeout, nur die interne IP geht noch. Selbst wenn BBB und der Webserver (nginx) gestoppt sind, ist der Server aus dem lokalen Netz nicht über die ext IP erreichbar, selbst pures netcat bekommt keine Verbindung von innen (aber von außen!). Sobald ich die ext IP Adresse wieder aus dem Loopback Interface per „ip addr del 87.86.85.84/32 dev lo „ entferne, ist der Server sofort wieder per Browser über HTTPS aus dem Heimnetz über https://87.86.85.84 und https://dirkelkosdomain.de erreichbar, aber dann haben die Konferenzen keinen Ton, also ist der Loopback-Interface-Eintrag für den Audio-Service wohl wirklich notwendig.
Ist das das normale und erwartete Verhalten, dass ein Hinzufügen der externen Router Adresse zum Loopback Interface des Servers plötzlich den Server aus dem Heimnetz heraus über den Router unerreichbar macht? Laufen die Requests damit irgendwie in Endlosschleifen? Verstehe ich ehrlich gesagt nicht. Und ist es ein übliches Verfahren, eine externe IP Adresse zum Loopback IF zu stecken, um einen Service mit sich selber reden zu lassen? Gäbe es eventuell bessere Alternativen, die den freeSwitch wie unten gefordert mit sich selbst reden lassen, den Zugang aus dem Heimnetz aber nicht behindern? In den BBB Community Forum gab’s bisher keine Hilfe, da es dort wohl üblich ist, einen hinter einer Firewall installierten BBB Server auch nur von außerhalb aufrufen zu wollen. Auf allen internen Clients einen Eintrag in der /etc/hosts zur intern IP Adresse des Servers anzulegen funktioniert zwar (oder extra einen lokalen DNS Server dafür zu installieren), wäre aber nur eine Notlösung.
Gruß, Dirk
Aus der Doku (https://docs.bigbluebutton.org/2.2/configure-firewall#configure-a-dummy-nic-if-required) : „…setup a dummy NIC for <EXT_IP_ADDRESS>, which will allow FreeSWITCH to connect back to itself. This way, when FreeSWITCH receives an internal connection from other parts of BigBlueButton, it will think that it’s on the external interface. This will cause it to use the correct IP address on the response“