20. Februar 2026
Das Beispiel: Volker betreibt einen Asterisk-Server auf einem Raspberry Pi. Sein Freund Junghard möchte sich mit einem SIP-Softphone auf seinem Linux-Notebook oder Linux_PC (Ubuntu oder Debian) über das Internet bei Volkers Asterisk anmelden und darüber telefonieren. Damit der SIP-Traffic nicht abgehört werden kann und der Provider die Verbindung nicht nach einiger Zeit trennt, wird die Verbindung durch einen WireGuard-VPN-Tunnel geschickt. Kein Portforwarding auf Junghards Seite ist nötig, obwohl bei ihm zwei Router hintereinander geschaltet sind.
Bei der Einrichtung hat mir der Chatbot Claude.ai sehr geholfen. Am besten richtet man an ihn Rückfragen und sendet Claude die Fehlermeldungen zu, falls etwas nicht klappt. Claude hilft dann mit den richtigen Linuxbefehlen weiter.
Die Vorteile eines WireGuard-VPN-Tunnels für SIP:
Verschlüsselung SIP ist von Haus aus unverschlüsselt – Gespräche und Zugangsdaten können abgehört werden. WireGuard verschlüsselt den gesamten Traffic mit modernster Kryptographie.
Provider-Trennung wird verhindert Viele Provider erkennen SIP-Traffic und trennen die Verbindung nach 30–60 Minuten. Im WireGuard-Tunnel sieht der Provider nur verschlüsselte UDP-Pakete auf Port 51820 – SIP ist nicht mehr erkennbar.
Kein Portforwarding beim Client nötig Der Client baut die Verbindung aktiv zum Server auf. Egal wie viele Router oder NAT-Ebenen dazwischen liegen – es funktioniert ohne jeden Eingriff in die Netzwerkkonfiguration beim Client.
Stabile Verbindung durch PersistentKeepalive Alle 25 Sekunden wird ein kleines Keepalive-Paket gesendet, das NAT-Timeouts verhindert und den Tunnel dauerhaft offen hält.
Keine doppelte Verschlüsselung nötig TLS und SRTP im Softphone können deaktiviert werden – WireGuard übernimmt die Verschlüsselung auf Netzwerkebene. Das vereinfacht die Konfiguration erheblich.
Einfache Erweiterbarkeit Weitere Clients – Smartphones, Notebooks, Raspberry Pis – lassen sich jederzeit als neuer Peer in die wg0.conf eintragen, ohne die bestehenden Verbindungen zu unterbrechen.
Geringer Ressourcenverbrauch WireGuard ist extrem schlank und läuft problemlos auf einem Raspberry Pi neben Asterisk, Pi-hole und anderen Diensten.

Getestet habe ich die Verbindung zwischen einem Raspberry Pi mit Asterisk 16 und einem Ubuntu-Notebook.
Warum WireGuard für SIP? SIP-Traffic über das Internet hat zwei bekannte Probleme: Erstens ist er unverschlüsselt und kann abgehört werden. Zweitens trennen viele Provider SIP-Verbindungen nach einer gewissen Zeit – oft nach 30 bis 60 Minuten. Beides lässt sich elegant mit WireGuard lösen. Der Provider sieht nur verschlüsselte UDP-Pakete auf Port 51820 und erkennt SIP nicht mehr. Und PersistentKeepalive hält den Tunnel dauerhaft offen.
Voraussetzung: Volkers Asterisk-Server läuft bereits und Junghard hat dort bereits einen SIP-Account eingerichtet. WireGuard muss auf Volkers Raspi bereits installiert sein oder wird jetzt installiert. Volkers Router muss den UDP-Port 51820 per Portweiterleitung an den Raspi weiterleiten. Auf Junghards Seite ist kein Portforwarding nötig.
Der SIP-Account in Volkers sip.conf: Junghards bestehender SIP-Account wird um zwei Zeilen ergänzt:
; Junghard mit Wireguard-VPN [10044] type=friend context=phones secret=sicherespasswort host=dynamic username=10044 canreinvite=no dtmfmode=rfc2833 keepalive=60 disallow=all allow=g722 allow=alaw allow=ulaw callerid = "Junghard (Wirguard)" <10044> nat=no ; neu qualify=yes ; neu
Die beiden neuen Zeilen sind nat=no und qualify=yes. Da SIP jetzt durch den WireGuard-Tunnel läuft, ist kein NAT mehr im Spiel. qualify=yes lässt Asterisk regelmäßig prüfen ob Junghard erreichbar ist. Nach der Änderung in der Asterisk-Konsole die sip.conf neu laden:
sip reload
Für die pjsip.conf sähe der Eintrag wie folgt aus:
; Junghard mit WireGuard-VPN [10044] type=endpoint context=phones disallow=all allow=g722 allow=alaw allow=ulaw dtmf_mode=rfc2833 auth=10044 aors=10044 callerid="Junghard (WireGuard)" <10044> direct_media=no ; nat=no entspricht in pjsip: force_rport=no rewrite_contact=no [10044] type=auth auth_type=userpass username=10044 password=sicherespasswort [10044] type=aor max_contacts=1 qualify_frequency=60
WireGuard installieren, falls noch nicht geschehen: Auf beiden Rechnern – Volkers Raspi und Junghards Notebook – WireGuard installieren:
sudo apt update sudo apt install wireguard
Dann auf beiden Rechnern die Schlüssel generieren:
wg genkey | tee /etc/wireguard/privatekey | wg pubkey > /etc/wireguard/publickey
Private Key anzeigen lassen:
cat /etc/wireguard/privatekey
Public Key anzeigen lassen:
cat /etc/wireguard/publickey
Den public key, der auf Volkers Raspi erzeugt wurde, nennen wir zur besseren Unterscheidung hier im Beispiel volkerpublickey und volkerprivatekey für den privat key. Entsprechend wurden auf Junghards Notebook junghardpublickey und junghardprivatekey erzeugt.
Den eigenen privat key dürfen wir nicht veröffentlichen oder aus der Hand geben! Wir müssen jedoch unsere public key austauschen, z.B. per E-Mail, mündlich oder sonst wie.
Die wg0.conf auf Volkers Raspi: Falls noch keine wg0.conf in /etc/wireguard vorhanden ist, wird sie jetzt mit einem Texteditor angelegt. Falls bereits eine wg0.conf existiert (z.B. für eine IAX2-Verbindung), wird Junghards Notebook einfach als neuer Peer ergänzt:
# /etc/wireguard/wg0.conf auf Volkers Rasperry Pi mit Asterisk [Interface] PrivateKey = volkerprivatekey Address = 10.99.99.2/24 ListenPort = 51820 # Junghard [Peer] PublicKey = junghardpublickey AllowedIPs = 10.99.99.4/32 PersistentKeepalive = 25
Beachte: Junghard hat keinen Endpoint-Eintrag. Da er hinter NAT sitzt, baut er die Verbindung aktiv zu Volker auf. WireGuard lernt seinen Endpoint automatisch beim ersten Verbindungsaufbau.
Die wg0.conf auf Junghards Notebook oder PC:
# wg0.conf auf Junghards Seite [Interface] PrivateKey = junghardprivatekey Address = 10.99.99.4/24 [Peer] PublicKey = volkerpublickey AllowedIPs = 10.99.99.2/32 Endpoint = volker.dyndns.org:51820 PersistentKeepalive = 25
Die URL volker.dyndns.org ist natürlich durch Volkers tatsächliche DynDNS-Adresse oder statische öffentliche IP zu ersetzen. Die Tunnel-IP von Volkers Raspi ist 10.99.99.2, die von Junghards Notebook oder PC 10.99.99.4.
Die Dateiberechtigung sollte eine Leseberechtigung nur für root sein, um die Schlüssel zu schützen:
sudo chmod 600 /etc/wireguard/privatekey sudo chmod 600 /etc/wireguard/wg0.conf
WireGuard starten: Auf beiden Rechnern:
sudo wg-quick up wg0
Änderung der wg0.conf aktivieren:
sudo wg syncconf wg0 <(wg-quick strip wg0)
Oder komplett neu starten:
sudo wg-quick down wg0 sudo wg-quick up wg0
Damit WireGuard bei jedem Systemstart automatisch startet:
sudo systemctl enable wg-quick@wg0
Testen der VPN-Verbindung: WireGuard-Status prüfen:
sudo wg show
Vom Notebook aus Volkers Raspi anpingen:
ping 10.99.99.2
Wenn der Ping durchkommt, ist der Tunnel aktiv. Das SIP-Softphone einrichten: In einem beliebigen SIP-Softphone auf Junghards Notebook (z.B. PhonerLite, Linphone, Zoiper) trägt Junghard als Registrar die WireGuard-Tunnel-IP von Volkers Raspi ein:
Registrar / SIP-Server: 10.99.99.2:5066 Benutzername: 10044 Passwort: sicherespasswort
Beachte: Es steht im Beispiel 10.99.99.2:5066 weil mit 5066 hier im Beispiel vom Asterisk-Server der unübliche SIP-Port 5066 verwendet wird und nich der übliche 5060.
TLS und SRTP-Verschlüsselung im Softphone deaktivieren – das übernimmt WireGuard. Junghard ist nun als vollständiger Teilnehmer in Volkers Asterisk eingebucht und kann alle internen Nummern anrufen und von ihnen angerufen werden. Was passiert wenn Junghards Notebook aus ist? Dann ist seine SIP-Nummer offline. Eingehende Anrufe gehen ins Leere, es sei denn, man richtet in der extensions.conf einen Fallback ein, zum Beispiel auf eine andere Nummer.
Firewall: Auf Volkers Raspi den WireGuard-Port freigeben falls eine Firewall aktiv ist:
sudo ufw allow 51820/udp
Der Provider von Junghard sieht nur verschlüsselten UDP-Traffic auf Port 51820 und kann SIP nicht erkennen oder trennen. Kein Portforwarding auf Junghards Seite ist nötig – er baut die Verbindung aktiv zu Volker auf. Falls dir die Meldungen verdächtig vorkommen, dann teile sie Claude.ai einfach mit und erkläre den Sachverhalt.

Passend zum Thema:
|
|
Wireguard-VPN-Tunnel für IAX2-Vernetzungen zwischen Asterisk-Servern – 16. Februar 2026: Das Beispiel: Zwei Asterisk-Server sind bereits erfolgreich über eine IAX2-Verbindung miteinander verbunden. Diese IAX2-Verbindung soll nun in beiden Richtungen durch einen VPN-Tunnel geschickt werden. Dazu kommt die VPN-Software Wireguard zum Einsatz. Beide Asterisk-Server laufen auf Linux Debian (z.B. Ubuntu oder Raspian). Das Vorgehen und Einrichten wird an einem Beispiel zwischen den beiden fiktiven Asterisk-Servern Michael und Volker erklärt, da man sonst alles vermischt. Zum Schluss erklärt der Artikel, wie man mehrere Asterik-Server mit IAX2 und Wireguard abhörsicher vernetzen kann. – weiter – |
