[Gelöst] DNS für VoIP bei O2

Started by thogru, May 20, 2021, 06:37:45 PM

Previous topic - Next topic
May 20, 2021, 06:37:45 PM Last Edit: May 21, 2021, 10:43:18 PM by thogru
Moin, moin,

Ich betreibe OPNsense in folgenden Versionen:
OPNsense 21.1.5-amd64
FreeBSD 12.1-RELEASE-p16-HBSD
OpenSSL 1.1.1k 25 Mar 2021
Als DNS-Server auf dem Router habe ich unbound aktiviert.

Ich bin Kunde bei O2  und will über meine Fritz!Box meine Telefonnummern nutzen.

Dafür muss der DNS-Server für den Namen sip.alice-voip.de die gültige IP-Adresse liefern. Unter diesem Namen müssen alle VoIP-Geräte von O2 registriert werden. Damit der Namen aufgelöst werden kann, müssen folgende zwei (interne) DNS-Server von O2 befragt werden: 213.191.74.18 und 213.191.74.19

Beide DNS-Server habe ich unter System -> Settings -> General eintragen. Wenn ich im WebUI eine DNS-Anfrage durchführe, erhalte ich die IP-Adresse 62.53.238.131 (siehe beigelegter Screenshot)

Auf den ssh-Console des Routers erhalte ich folgende Ergebnisse:

$ host sip.alice-voip.de
$ host sip.alice-voip.de 213.191.74.19
Using domain server:
Name: 213.191.74.19
Address: 213.191.74.19#53
Aliases:

sip.alice-voip.de has address 195.71.31.12
$


In meinen Augen heißt das,

  • host ohne DNS-Server liefert keine IP-Adresse
  • host mit O2-DNS-Server liefert 195.71.31.12

Wieso liefert die Diagnose ein falsche IP-Adresse, obwohl beide DNS-Server von O2 konfiguriert sind?
Wieso liefert der host Befehl keine Ergebnisse, falls der DNS-Server nicht direkt angegeben ist?

Gruß
Thomas
Don't forget to [applaud] those offering time and brainpower to help you!

Hi Thomas,

was steht in der /etc/resolv.conf?

Und ganz blöde Frage, warum konfigurierst du die beiden DNS-Server nicht einfach nur in der Fritz!Box? Dann kann die sip.alice-voip.de korrekt auflösen und alle anderen Geräte kümmern sich nicht drum.

Warum in der Oberfläche und auf der Konsole andere Werte rauskommen: Round-Robin, d.h. du bekommst immer wieder einen neuen Server zugewiesen.
Woher weist du, dass 62.53.238.131 falsch ist?
Wenn ich dig -x 62.53.238.131 oder dig -x 195.71.31.12 antwortet in beiden Fällen ns.mediaways.net.
Die scheinen beide zu O2 / Telefonica zu gehören.

Gruß
KH

Hi KH,

In der resolv.conf  stehen die beiden DNS-Server von O2 drin:

$ cat /etc/resolv.conf
domain localdomain
nameserver 127.0.0.1
nameserver 62.109.121.2
nameserver 62.109.121.1
nameserver 213.191.74.18
nameserver 213.191.74.19


Wieso ich nicht einfach einen Workaround such? Weil ich etwas lernen will. Ich verstehe nicht, wieso unbound nichts zurück liefert, obwohl beide DNS-Server von O2 doch die Antwort kennen. Wieso wird im WebUI ein Antwort gezeigt und host auf der Console gibt keine Antwort?

In meinem Hinterkopf schwirrt noch die Idee herum, dass nur der Router DNS Anfragen abwickelt und DNS Anfragen direkt ins Internet geblockt werden.

Gruß
Thomas
Don't forget to [applaud] those offering time and brainpower to help you!

Hi Thomas,

es kennen nur zwei der DNS-Server die Antwort. Und wenn du DNS Query Forwarding aktiviert hast, dann hast du eine 50% Chance das unbound was findet, wenn er die anderen DNS Server fragt. Wenn ich das richtig im Kopf habe führt unbound ein Loadbalancing durch und fragt immer verschiedene. Und wenn er einmal eine Antwort hat, dann hat diese eine TTL (Time-to-live) und bis diese abgelaufen ist fragt er nicht nochmals nach.
Und wenn du mit mit dig sip.alice-viop.de in der Konsole nachschaust, siehst du auch die TTL angegeben. Die Programme host und dig schauen in der resolv.conf nach und nehmen entweder den ersten oder einen beliebigen Nameserver aus der Liste (sollte in der Man-Page stehen), sofern du nicht einen angibst. Die WebUI nimmt wahrscheinlich auch nur einen zufälligen aus der Liste (ich weiß es nicht, sieht aber danach aus). Da wurde zufällig der richtige genommen.
Ich kann dir nicht sagen, ob die beiden O2 Server auch den Rest des Internet ausliefern, du kannst ja mal mit dig google.com @213.191.74.18 schauen ob es klappt und dann die anderen beiden DNS-Server aus der Liste nehmen. Dann sollte es klappen.

Alternativ dann doch nur die beiden O2 Server in der Fritz!Box und die Fritz!Box bekommt eine Ausnahme von der Sperrung.

Gruß KH

Guten Morgen KH,

Danke für Deine Ausführungen.

Heute Nach hatte ich ähnliche Überlegungen.

Ich habe der Fritz!Box die beiden DNS-Server bei O2 im DHCP eingetragen und der Fritz!Box (in meiner OPNsense heißt sie VoIP_Phones) explizit den Zugriff erlaubt.

Das funktioniert jetzt.

Ich bin noch am Überlegen, ob ich der Fritz!Box in ihrer Konfiguration ein feste IP-Adresse einstellen soll und dort auch gleich die DNS-Server von O2 eintrage. Das soll sicherstellen, dass die Fritz!Box auch dann die DNS-Server hat, wenn OPNsense beim Start der Fritz!Box mal nicht erreichbar ist (z.B. nach einem Stromausfall).

Gruß
Thomas
Don't forget to [applaud] those offering time and brainpower to help you!

Hi,
auch wenn der thread alt ist, mir hats teilweise geholfen, wobei ich noch etwas hinzufügen will, da der hier dargestellte workaround unbound umgeht, was wir nicht wollen:

1.
fritzbox port aufrechterhaltung auf 1 Minute

2.
unter
Services: Unbound DNS: Overrides

folgende Werte eintragen:

domain            IP            Description
sip.alice-voip.de   62.109.121.2   o2 Voip   
sip.alice-voip.de   62.109.121.1   o2 voip

3.
zudem muss unter
Firewall: NAT: Outbound

folgendes eingetragen sein:

    Interface: WAN
    TCP/IP Version: IPv4
    Protocol: UDP
    Client address: interne IP der Fritzbox (%fritzboxIP%/32)
    Source port: any
    Destination address: any
    Destination port: any
    Translation target: interface address
    Static port: yes (*)

als "oneliner" entsteht dann:

WAN    IP_DER_FRITZBOX/32     udp/ *    *    udp/ *    Interface address    *    YES

Gutes Gelingen und Gruß
2x Zotac ZBOX CI327
2x FritzBox 7412 configured as VDSL Modem
ISPs: Telekom & O2