Letztes Update am So., 20 Sep. 2026 02:20:01 +0200 von Andreas Potthoff
Einleitung
Wer die ersten beiden Teile (Synchronet BBS unter Ubuntu: Der ultimative Installations-Guide | Synchronet BBS als systemd-Dienst unter Linux einrichten) unserer Synchronet-Serie umgesetzt hat, besitzt nun eine stabil laufende Mailbox, die als flüsterleiser Hintergrunddienst auf dem heimischen Ubuntu-NUC ihre Runden dreht. Doch bisher hat die Sache einen Haken: Die BBS ist eine Insel. Sie ist nur im eigenen Heimnetzwerk erreichbar.
Der Versuch, die eigene Mailbox einfach für das weltweite Netz freizugeben, gleicht im modernen Internet allerdings einem Spießrutenlauf. Smartphones und moderne Browser erzwingen heute gnadenlos verschlüsselte Verbindungen (HTTPS/SSL). Wer versucht, eine unverschlüsselte BBS-Webseite oder ein System mit einem unbeglaubigten Werkszertifikat von unterwegs aufzurufen, wird von den Sicherheitsmechanismen von iOS und Android (Stichwort: HSTS) mit einer unüberwindbaren Blockade bestraft.
Zu meinem Setup: Nicht jeder startet mit den gleichen Voraussetzungen
Bevor wir in die Praxis einsteigen, ein kurzes Wort zu den technischen Rahmenbedingungen: Ich habe das große Glück, dass ich seit vielen Jahren für meine Domains (wie electrodrome.net) einen eigenen vServer unterhalte. Zudem habe ich bei meinem Vodafone-Kabelanschluss explizit für eine „nicht geteilte“, vollwertige IPv4-Adresse (echtes Dual-Stack statt DS-Lite) gesorgt und zahle monatlich dafür. Das war bei mir damals zwingend notwendig, weil sonst schlicht kein stabiles Homeoffice möglich gewesen wäre.
Man kann natürlich nicht davon ausgehen, dass jeder angehende SysOp direkt einen eigenen Webserver oder eine solche Tarifoption parat hat. Der hier gezeigte Workflow bezieht sich exakt auf dieses professionellere Setup. Aber keine Sorge: Für alle, die keinen eigenen Server besitzen, zeige ich im Laufe des Artikels mit DuckDNS eine hervorragende, kostenlose Alternative für das dynamische DNS auf, die ich selbst früher schon erfolgreich genutzt habe. Solltest du bei deinem Setup an einer anderen Stelle hängen, schreib deine Fragen einfach unten in die Kommentare – ich versuche gerne, dir weiterzuhelfen!
In diesem dritten und wichtigsten Teil öffnen wir nun gemeinsam das Tor zur Welt. Wir zeigen, wie du deine Synchronet BBS über den Kabelanschluss erreichbar machst, die typischen Hürden der Strato-DNS-Sperre umgehst und deiner Mailbox ein offizielles, grünes SSL-Zertifikat von Let’s Encrypt verpasst – damit der Login vom Smartphone im Mobilfunknetz oder vom PC aus reibungslos und ohne Warnmeldungen klappt!
Internen E-Mailserver deaktivieren
Den internen E-Mail-Server von Synchronet abzuschalten, spart dir extrem viele Kopfschmerzen. Heutzutage nutzt ohnehin niemand mehr eine BBS, um seine alltäglichen, privaten E-Mails an GMX oder Gmail zu verschicken. Das Tolle an einer Mailbox ist ja gerade das Insel-Gefühl – dass man sich in den lokalen Foren (Message Bases) austauscht oder später über das FidoNet (FTN) mit anderen BBS-Systemen weltweit Nachrichten austauscht. Das FidoNet verlangt allerdings echte Klarnamen. Somit können nur User der BBS mit korrekt angegeben Klarnamen am FidoNet teilnehmen. Der Sysop validiert den Klarnamen um nicht gegen die Regeln vom FidoNet zu verstoßen oder ausgeschlossen zu werden. Ansonsten können die User natürlich mit ihren Alias-Namen die BBS nutzen.
Warum das Abschalten eine super Idee ist
- Keine Spam-Schleuder: Wenn du Port 25 öffnest, hämmern innerhalb von Minuten automatisierte Bots aus dem Internet auf deine BBS ein, um Spam darüber zu verschicken.
- Kein Stress mit Sicherheits-Zertifikaten: Du musst dich nicht um die komplexe Einrichtung von verschlüsselten Mail-Relays kümmern.
- Fritz!Box-Schonung: Du musst keine epischen Port-Listen mehr freigeben.
- Der Vodafone-Haken: Fast alle Consumer-Router (auch die Fritz!Box von Vodafone) blockieren den ausgehenden Port 25 standardmäßig, um Spam-Bots zu verhindern.
So schaltest du den SMTP/Mail-Server in Synchronet komplett aus
Da wir das System updatesicher und sauber konfigurieren wollen, machen wir das direkt über dein Text-Konfigurationsmenü. Dank des genialen Symlinks tippst du im Terminal einfach: /sbbs/exec/scfg
- Gehe auf den Menüpunkt Servers.
- Navigiere zu Mail Server.
- Suche nach dem Eintrag Enabled und stelle ihn auf No.
- Verlasse das Menü mit
ESCund bestätige das Speichern der Änderungen.
Nach einem schnellen Neustart des Dienstes (sudo systemctl restart sbbs) schläft der Mail-Server tief und fest, blockiert keine Ressourcen mehr und lauscht auf keinem Port.

Ports in der Fritz!Box freigeben
Bevor wir die Fritz!Box mit Regeln füttern, müssen wir den Blick schärfen für die Protokolle, die im modernen BBS-Betrieb überhaupt noch eine Rolle spielen. Synchronet bringt zwar eine gewaltige Suite an Servern mit, aber für das „Tor zur Welt“ konzentrieren wir uns auf das Wesentliche. Hier ist die Übersicht der Ports, die deine Mailbox wirklich braucht: Telnet (Port 23) für den klassischen Login via SyncTERM, SSH (Port 22) für verschlüsselte Terminal-Sitzungen, FTP (Port 21) für den Up- und Download von Retro-Dateien, HTTP (Port 80) für die Zertifikats-Validierung, HTTPS (Port 443) für das moderne Web-Interface und zu guter Letzt der Websocket-Secure-Port (Port 11235), der das Terminal direkt im Browser zum Leben erweckt.
Gerät hinzufügen
- Als erstes musst du bei den Freigaben das Gerät auswählen für das die Port-Freigaben gelten sollen.
- Klicke dazu auf Gerät für Freigaben hinzufügen und wähle deinen Computer (bei mir NUC6CAYH) aus. Die restlichen Daten werden automatisch eingetragen.
- Übernehmen klicken. Dann legst du gleich die Freigaben für dieses Gerät an.

Einzelnen Port freigeben
- Wenn das Fenster für die Eingabe erscheint wählst du in diesem Portfreigabe aus.
- Bei Anwendung wählst du Andere Anwendung,
- bei der Bezeichnung den Typ (Telnet) des Ports eintragen,
- bei Protokoll (gilt für jeden Port) TCP eintragen,
- bei Port an Gerät wird der Port eingegeben, von 23 bis Port 23
- bei Port extern gewünscht nochmal 23 eintragen.
- Die Freigabe muss hier natürlich auch mit Freigabe aktivieren angehakt sein.
- OK klicken. Und den Vorgang für die anderen Ports entsprechend wiederholen.

Übersicht freigegebene Ports
Hier siehst eine Übersicht über die freigegebenen Ports auf der Fritz!-Box 660 Cable, so dass Synchronet auf der NUC im Netz laufen kann.

Der Strato-DynDNS-Klassiker
Dual-Stack vs. Statische IP: Warum ein Vodafone-Kabelanschluss mit echtem Dual-Stack perfekt für den BBS-Betrieb ist.
In der Theorie klingt die Freigabe einfach: Man tippt seine aktuelle IP-Adresse ein und fertig. In der Praxis der meisten Kabel- und Glasfaseranschlüsse (insbesondere bei Vodafone) scheitert das jedoch an „DS-Lite“ – hier teilen sich tausende Kunden eine einzige öffentliche IP-Adresse, was eingehende Verbindungen unmöglich macht. Ich habe hier den großen Vorteil eines echten Dual-Stack-Tarifs mit einer eigenen, vollwertigen IPv4-Adresse. Diese ist zwar nicht komplett statisch und ändert sich gelegentlich, aber sie ist aus dem Internet direkt ansprechbar. Das ist das perfekte Fundament für den BBS-Betrieb.
Die Strato-Falle gelöst: Warum Strato die DNS-Tabelle sperrt, sobald DynDNS aktiv ist.
Wer seine Domain bei Strato hostet, stolpert bei dynamischen IPs schnell in eine Frust-Falle: Aktiviert man im Strato-Portal das klassische DynDNS für eine Domain, sperrt der Anbieter augenblicklich die gesamte manuelle DNS-Verwaltung. Du kommst nicht mehr an die A-Records oder CNAME-Einträge heran. Die Lösung für dieses Dilemma ist so simpel wie genial: Wir konfigurieren Strato nicht als starres Schild über Drittanbieter, sondern tragen Strato direkt als nativen, benutzerdefinierten DynDNS-Anbieter in unsere Fritz!Box 6660 ein. Der Router übernimmt die Arbeit im Hintergrund, ganz ohne Zusatzsoftware auf dem NUC. Der Vorteil: Sie müssen keine DynDNS-Client-Software auf Ihrem Rechner installieren.

DynDNS Konfiguration in der Fritz!Box einrichten
- Logge dich im Strato-Kundenportal ein, aktiviere unter Domains -> Domainverwaltung das Feature DynDNS und vergib dort ein separates DynDNS-Passwort (Achtung: Nicht dein normales Strato-Login-Passwort!).
- Öffne deine Fritz!Box und navigiere zu Internet -> Freigaben -> Registerkarte DynDNS.
- Setze den Haken bei DynDNS benutzen und wähle im Dropdown-Menü den Anbieter Benutzerdefiniert.
- Trage exakt die folgenden Daten ein:
- Update-URL:
https://<username>:<passwd>@dyndns.strato.com/nic/update?hostname=<domain>&myip=<ipaddr>,<ip6addr> - Domainname:
bbs.electrodrome.net(Deine gewünschte BBS-Adresse) - Benutzername: Deine Hauptdomain (z. B.
electrodrome.net) - Kennwort: Das soeben neu vergebene
Strato-DynDNS-Passwort.
- Update-URL:
Klicke auf Übernehmen. Nach wenigen Sekunden springt der IPv4-Status in der Fritz!Box auf „Erfolgreich“.
Ab sofort meldet dein Router jeden IP-Wechsel vollautomatisch und sekundenschnell an Strato weiter.

Alternativ DynDNS mit DuckDNS
Sollte dein Domain-Anbieter kein DynDNS unterstützen oder du besitzt schlicht keinen eigenen vServer, gibt es eine exzellente, komplett kostenlose Alternative: DuckDNS. Bei diesem werbefreien Dienst registrierst du dir in wenigen Sekunden eine Adresse wie deinebbs.duckdns.org, die du als DynDNS-Anbieter in der Fritz!Box hinterlegst. Um deinen Usern den kryptischen Namen zu ersparen, nutzt du bei deinem Domain-Hoster einfach einen sogenannten CNAME-Eintrag (z. B. für bbs.deinedomain.de) und lässt diesen als Zeiger auf deine DuckDNS-Adresse verweisen. Das Ergebnis ist identisch: Der Datenstrom landet unsichtbar und direkt auf deinem heimischen Linux-Server.
Virtual Host Support in Synchronet aktivieren
Wenn Anfragen aus dem Internet an deiner BBS anklopfen, kommen sie über deine neue Domain rein. Synchronet muss nun lernen, auf diesen spezifischen Namen zu hören. Standardmäßig verwirft der Webserver Anfragen, die er nicht eindeutig zuordnen kann. Indem wir den Virtual Host Support aktivieren, weisen wir die Mailbox an, gezielt nach dem Hostnamen (z. B. bbs.electrodrome.net) zu filtern und die passenden Webinhalte oder Zertifikate auszuliefern. Das ist der zwingende Schlüssel für den reibungslosen HTTPS-Betrieb.
- Gehe in die BBS Konfiguration. Im Terminal einfach:
/sbbs/exec/scfgeingeben. - Die Variable Virtual Host Support muss von No auf Yes gesetzt werden. Siehe Screenshot.

Der unsichtbare Hostname in der sbbs.ini
Nach einer frischen Installation versteckt sich im Quellcode von Synchronet ein unsichtbarer Geist: Der Standard-Host-Eintrag „mybbs.com“. Selbst wenn du den Namen in der scfg-Oberfläche scheinbar überall geändert hast, nutzt das System diesen Wert im Hintergrund als Fallback. Das führt später zu schweren Fehlern beim Beantragen von SSL-Zertifikaten. Wir treiben diesen Geist aus, indem wir die zentrale Konfigurationsdatei sbbs.ini (/sbbs/ctrl/sbbs.ini ) im Editor öffnen und den Hostnamen unter der [Global]-Sektion manuell und unmissverständlich mit unserer echten Domain (Hostname = deine.domain.net) überschreiben.
nano /sbbs/ctrl/sbbs.ini
; Synchronet BBS Initialization File
; $SBBSCTRL/sbbs.$HOSTNAME.ini, if it exists, will be loaded instead of sbbs.ini.
; sbbs[.exe] command-line options, if specified, will override these settings.
; See http://wiki.synchro.net/config:sbbs.ini for more details on format and supported values
[Global]
; Override system address for this instance (optional):
Hostname = bbs.electrodrome.net
Das Let’s Encrypt Zertifikat generieren
Die Lizenz-Hürde: Warum das Skript ohne den Eintrag TOSAgreed = true in der letsyncrypt.ini mit einem Fehler 400 abbricht.
Der finale Schritt zum grünen Schloss ist das Ausstellen des SSL-Zertifikats über das integrierte Synchronet-Skript letsyncrypt.js. Doch wer das Skript einfach blind anwirft, erntet sofort einen unbarmherzigen Fehler 400. Die Zertifizierungsstelle von Let’s Encrypt verlangt nämlich zwingend, dass du den offiziellen Nutzungsbedingungen (Terms of Service) zustimmst. Wir lösen diese Lizenz-Hürde, indem wir die letsyncrypt.ini öffnen und den Parameter TOSAgreed manuell auf true setzen.
Der [Domains]-Eintrag: Wie du dem Skript den exakten Web-Pfad (/sbbs/webv4/root) zuweist.
Damit Let’s Encrypt deinen Server verifizieren kann, schickt die Gegenstelle eine Testdatei an deine Domain. Das Skript muss also wissen, in welchem Verzeichnis deines NUCs diese Validierungsdatei abgelegt werden soll, damit sie über den offenen Port 80 abrufbar ist. Dies regeln wir ganz unten in der Datei, indem wir unter der Sektion [Domains] unsere exakte Domain eintragen und ihr den Pfad zu unserem Web-Wurzelverzeichnis zuweisen.
nano /sbbs/ctrl/letsyncrypt.ini
; For use with exec/letsyncrypt.js ; See http://wiki.synchro.net/module:letsyncrypt for details Host = acme-v02.api.letsencrypt.org Directory = /directory TOSAgreed = true GroupReadableKeyFile = false [Domains] bbs.electrodrome.net = /sbbs/webv4/root
Der finale Befehl: Das manuelle Anstoßen des Zertifikats via jsexec im Ubuntu-Terminal.
Nun steht die gesamte Startrampe bereit. Die Pfade stimmen, die Lizenzen sind akzeptiert und die Ports im Router sind offen. Über den Synchronet-eigenen JavaScript-Executor (jsexec) stoßen wir den Prozess im Terminal jetzt manuell an. Das Skript kontaktiert Let’s Encrypt, verifiziert die Domain innerhalb weniger Sekunden und lädt deine Krypto-Schlüssel direkt auf den NUC. Danach verpassen wir dem systemd-Dienst einen schnellen Neustart, um die neuen Zertifikate live zu schalten.
/sbbs/exec/jsexec /sbbs/exec/letsyncrypt.js
sudo systemctl restart sbbs
Der Härtetest und Fazit
Der Mobilfunk-Check: Warum man für den ersten Test am Handy zwingend das WLAN ausschalten sollte.
Jetzt folgt der absolute Gänsehaut-Moment für jeden SysOp: Der erste Login von außen. Um ein verfälschtes Ergebnis durch das eigene WLAN zu verhindern, schalten wir am Smartphone die Wi-Fi-Verbindung komplett aus und wechseln ins mobile LTE- oder 5G-Netz. Wichtig: Nutze im Handy-Browser zwingend einen privaten Tab (Inkognito-Modus). Moderne Smartphones cachen Sicherheitswarnungen extrem aggressiv – der private Tab zwingt das Handy, das frisch installierte SSL-Zertifikat komplett neu vom NUC abzufragen.
Wenn dich die Landingpage (https://bbs.electrodrome.net) ohne Sicherheitswarnung begrüßt und das Web-Terminal beim Klick auf den Anmeldebutton das ANSI-Menü fehlerfrei lädt, ist das Werk vollbracht. Winner winner chicken dinner!
Alles grün: Helix Sector BBS ist offiziell im weltweiten Cyberspace angekommen!
Troubleshooting
Das „Schwarze Fenster“ beim Web-Terminal (WebSockets)
Wenn das Webinterface deiner BBS von außen per HTTPS fehlerfrei lädt, aber das integrierte Web-Terminal (der „Per Telnet anmelden“-Button) nach dem Klicken einfach komplett schwarz bleibt, liegt das nicht am Webserver.
Moderne Browser erlauben auf HTTPS-Seiten keine unverschlüsselten Verbindungen im Hintergrund. Das integrierte Terminal versucht daher, eine verschlüsselte WebSocket-Verbindung (WSS) aufzubauen. Synchronet nutzt dafür standardmäßig einen eigenen, separaten Port: Port 11235.
Die Lösung:
- Prüfe im Terminal über
sudo systemctl status sbbs, auf welchem Port dein WSS-Dienst lauscht (Achte auf die Zeile: WSS listening on socket :: port XXXXX). - Öffne exakt diesen Port (Standard: 11235) als TCP-Freigabe in deiner Fritz!Box für den NUC. Unverschlüsselte Ports wie 1123 können komplett geschlossen bleiben.
Die Port-443-Schleife (!ERROR 98 Address already in use)
Wenn du Synchronet über systemd sehr schnell hintereinander neustartest, kann es passieren, dass der Dienst in einer Fehlerschleife hängen bleibt und jammert, dass Port 443 bereits belegt sei (Address already in use).
Das liegt an einem Linux-Kernel-Sicherheitsfeature: Wenn ein Prozess beendet wird, hält Ubuntu den Netzwerk-Socket oft noch für einige Sekunden im sogenannten TIME_WAIT-Zustand blockiert. Versucht Synchronet in genau dieser Sekunde einen Neustart, kommt es zum Konflikt.
Die Lösung:
Stoppe den Dienst komplett, schieße eventuelle Geisterprozesse im RAM radikal ab und gib dem Kernel 5 Sekunden Zeit zum Durchatmen, bevor du die BBS wieder startest:
sudo systemctl stop sbbs sudo killall -9 sbbs sleep 5 sudo systemctl start sbbs
Woher weiß der Bot so schnell von deiner Domain?
Das fühlt sich im ersten Moment völlig surreal an: Ich habe die Domain gerade erst vor ein paar Minuten scharfgeschaltet, und schon klopft der erste Besucher (oder automatisierte Bot) aus der Schweiz an das Tor von Helix Sector BBS.
Dahinter steckt keine telepathische Magie und auch kein gezielter Angriff auf dich persönlich, sondern die vollautomatisierte Infrastruktur des modernen Internets. Es gibt primär drei Gründe, warum deine BBS innerhalb von Sekunden im Visier landet:
- Das Let’s Encrypt Transparenz-Log (Der Hauptgrund):
Aus Sicherheitsgründen müssen alle offiziell ausgestellten SSL-Zertifikate weltweit in ein öffentliches Register eingetragen werden (sogenanntes Certificate Transparency Log). Bots belauern diese Listen rund um die Uhr. In der Sekunde, in der dein Let’s Encrypt-Skript erfolgreich war, tauchtebbs.electrodrome.netin diesem weltweiten Live-Stream auf. Für Bots das Signal: „Hier ist ein brandneuer Server online gegangen, den prüfen wir sofort!“ - Globale IP-Scanner:
Es laufen permanent gigantische Server-Netzwerke (oft auch über VPNs oder Server in der Schweiz gehostet), die das gesamte IPv4-Adressbuch des Internets im Sekundentakt auf offenen Ports (wie 22, 23, 80, 443) abtasten. Da deine Fritz!Box-Ports jetzt sperrangelweit offen sind, hat ein Scanner deine Vodafone-IP sofort erfasst. - DNS-Crawl:
Sobald deine Fritz!Box die IP an Strato meldet, wird die DNS-Zone aktualisiert. Auch diese Wechsel werden von automatisierten Systemen registriert.


