• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Gelöst] Netflix kaputt (DNS / IPvX)

susejunky

Moderator
Teammitglied
gehrke schrieb:
Wenn eine zentrale Komponente cachen würde, würde ich dieses Verhalten für alle Clients erwarten. Ich sehe das fragliche Verhalten aber nur für eine bestimmte Gruppe.
Firefox ist auf dem Client aktiv (und jedes verwendete Firefox-Profil kann ein anderes Verhalten hervorrufen und jeder Benutzer eines Clients kann mehrere Profile verwenden).

nscd kann auch auf einem Client aktiv sein, z.B. auf meinem aktuellen Arbeitsplatz:
Code:
# systemctl status nscd
● nscd.service - Name Service Cache Daemon
     Loaded: loaded (/usr/lib/systemd/system/nscd.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-10-05 13:39:06 CEST; 2h 15min ago
    Process: 757 ExecStart=/usr/sbin/nscd (code=exited, status=0/SUCCESS)
   Main PID: 765 (nscd)
      Tasks: 11 (limit: 4915)
     Memory: 4.3M
     CGroup: /system.slice/nscd.service
             └─765 /usr/sbin/nscd

Okt 05 13:39:06 S1 nscd[765]: 765 überwache Datei »/etc/hosts« (4)
Okt 05 13:39:06 S1 nscd[765]: 765 überwache das Verzeichnis »/etc« (2)
Okt 05 13:39:06 S1 nscd[765]: 765 überwache Datei »/etc/resolv.conf« (5)
Okt 05 13:39:06 S1 nscd[765]: 765 überwache das Verzeichnis »/etc« (2)
Okt 05 13:39:06 S1 nscd[765]: 765 überwache Datei »/etc/netgroup« (6)
Okt 05 13:39:06 S1 nscd[765]: 765 überwache das Verzeichnis »/etc« (2)
Okt 05 13:39:06 S1 systemd[1]: Started Name Service Cache Daemon.
#
Hast Du schon einmal meinen Vorschlag (https://linux-club.de/forum/viewtopic.php?p=792733#p792733) ausprobiert ?

Das würde die Anzahl der beteiligten Komponenten deutlich reduzieren.

Viele Grüße

susejunky
 
OP
gehrke

gehrke

Administrator
Teammitglied
Nein - sorry. Ich halte auch die Fokussierung auf Firefox für suboptimal.

Das Problem tritt ja schon auf der Konsole mit curl auf, insofern möchte ich lieber mit diesem deutlich einfacheren Setup weiterarbeiten und danach schauen, ob Firefox mit der dann hoffentlich gefundenen Lösung auch klar kommt.
 

susejunky

Moderator
Teammitglied
gehrke schrieb:
... Nein - sorry. Ich halte auch die Fokussierung auf Firefox für suboptimal.
Es ist Dein Problem und daher auch allein Deine Entscheidung, wie Du es näher eingrenzen und letztendlich lösen willst.

Auf einem Linux-Client gibt es i.d.R. - neben Firefox - noch eine Reihe weiterer Komponenten, die im DNS-Spiel mitmischen (können).

Viele Grüße

susejunky
 
OP
gehrke

gehrke

Administrator
Teammitglied
Ich danke Dir - möglicherweise komme ich ja noch später darauf zurück.
 

susejunky

Moderator
Teammitglied
gehrke schrieb:
...
Code:
grep 'nameserver' /etc/resolv.conf 
#nameserver 172.16.14.1
nameserver 195.160.173.53

Code:
bash-5.0$ curl https://www.netflix.com/
bash-5.0$
Das war also erfolgreich.
d.h. wenn Du NICHT Deine Firewall als DNS-Server verwendest, dann funktioniert der Zugriff auf Netflix.


gehrke schrieb:
... Die lokale DNS-Config zeigt ja nicht auf die Fritzbox, sondern geht direkt auf das Gateway (pfSense), ...
Ist das auf allen Clients so?

Wie wird der DNS-Server auf den Clients gesetzt (manuell, über DHCP, ...) und wer setzt ihn (die Firewall, die FRITZ!Box, ein anderer DHCP-Server aus Deinem Heimnetz, ...)?


gehrke schrieb:
... welche das DNS vom Netzbetreiber holt
"... The DNS Resolver in pfSense® utilizes unbound, which is a validating, recursive, caching DNS resolver that supports DNSSEC and a wide variety of options. The DNS Resolver is enabled by default in current versions of pfSense.

By default, the DNS Resolver queries the root DNS servers directly and does not use DNS servers configured under System > General Setup or those obtained automatically from a dynamic WAN. This behavior may be changed, however, using the DNS Query Forwarding option.
"
(https://docs.netgate.com/pfsense/en/latest/services/dns/resolver.html)

d.h. Du hast also das DNS-Verhalten Deiner Firewall umkonfiguriert. Welche Änderungen hast Du da vorgenommen?

Befindet sich die FRITZ!Box vor , hinter oder parallel zu Deiner Firewall, welchen DNS-Server nutzt sie und woher wird er ihr zugewiesen?

Viele Grüße

susejunky
 

susejunky

Moderator
Teammitglied
Gräfin Klara schrieb:
... @gehrkes Problem ist ein systemisches Problem und eine Reduktion der Komponenten auf diese Art zeigt keinen Lösungsweg.
Verwendet man Firefox mit DoH, dann sind alle (Firefox nachgeordneten) Systemkomponenten, die eventuell eine Rolle im Bezug auf DNS spielen könnten (systemd, NetworkManager, Firewall(s), ...), aussen vor.

Um lediglich Netflix-Videos mit Firefox anzusehen, könnte diese Lösung ausreichen. Ob man sie nutzen will, ist eine andere Sache ...

Viele Grüße

susejunky
 
OP
gehrke

gehrke

Administrator
Teammitglied
susejunky schrieb:
Um lediglich Netflix-Videos mit Firefox anzusehen, könnte diese Lösung ausreichen.
Dafür habe ich ja schon mehrere funktionierende Workarounds.

Ich möchte das Problem grundsätzlich beheben - oder zumindest verstehen.
 
OP
gehrke

gehrke

Administrator
Teammitglied
susejunky schrieb:
d.h. wenn Du NICHT Deine Firewall als DNS-Server verwendest, dann funktioniert der Zugriff auf Netflix.
Ja.
susejunky schrieb:
gehrke schrieb:
... Die lokale DNS-Config zeigt ja nicht auf die Fritzbox, sondern geht direkt auf das Gateway (pfSense), ...
Ist das auf allen Clients so?
Ja.
susejunky schrieb:
Wie wird der DNS-Server auf den Clients gesetzt (manuell, über DHCP, ...) und wer setzt ihn (die Firewall, die FRITZ!Box, ein anderer DHCP-Server aus Deinem Heimnetz, ...)?
pfSense macht das AFAIK via DHCP.

susejunky schrieb:
gehrke schrieb:
... welche das DNS vom Netzbetreiber holt
"... The DNS Resolver in pfSense® utilizes unbound, which is a validating, recursive, caching DNS resolver that supports DNSSEC and a wide variety of options. The DNS Resolver is enabled by default in current versions of pfSense.

By default, the DNS Resolver queries the root DNS servers directly and does not use DNS servers configured under System > General Setup or those obtained automatically from a dynamic WAN. This behavior may be changed, however, using the DNS Query Forwarding option.
"
(https://docs.netgate.com/pfsense/en/latest/services/dns/resolver.html)

d.h. Du hast also das DNS-Verhalten Deiner Firewall umkonfiguriert. Welche Änderungen hast Du da vorgenommen?
Ob ich das geändert habe, weiß ich nicht mehr (das ist Äonen her). Aktiv ist:
Allow DNS server list to be overridden by DHCP/PPP on WAN
If this option is set, pfSense will use DNS servers assigned by a DHCP/PPP server on WAN for its own purposes (including the DNS forwarder). However, they will not be assigned to DHCP and PPTP VPN clients.
susejunky schrieb:
Befindet sich die FRITZ!Box vor , hinter oder parallel zu Deiner Firewall, welchen DNS-Server nutzt sie und woher wird er ihr zugewiesen?
Die Fritzbox steht hinter der Firewall und bekommt AFAIK den DNS wie alle anderen auch per DHCP zugewiesen.
 
gehrke schrieb:
Ich möchte das Problem grundsätzlich beheben - oder zumindest verstehen.
Ablauf query nach www.netflix.com.
Wir nehmen die derzeitige Situation an, also nameserver 195.160.173.53 vom CCC in /etc/resolv.conf
In [ ] stehende URLs sind nicht unbedingt DNS server.

Code:
*gehrke* -- query  "www.netflix.com" --> [195.160.173.53] (Auswertung CNAME von www.netflix.com ergibt www.dradis.netflix.com)
      [195.160.173.53] -- query "www.netflix.com" --> [www.dradis.netflix.com] (Aus welchem Land kommt query?, ok,irgendwo EU,
                     wähle zuständigen DNS in der EU für netflix = www.eu-west-1.internal.dradis.netflix.com)

      [www.dradis.netflix.com] -- query "www.netflix.com" ---> [www.eu-west-1.internal.dradis.netflix.com] (Auswertung CNAME von
                     www.netflix.com, ergibt "dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com"
                     resolve "dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com" ergibt z.B. eine Liste von IP's

      [www.eu-west-1.internal.dradis.netflix.com] -- answer -->  [www.dradis.netflix.com]  -- answer -->  [195.160.173.53] -- answer --> *gehrke*
Die Auswertung des CNAME auf www.eu-west-1.internal.dradis.netflix.com ergibt ca. alle 5 Minuten einen anderen Namen.
D.h. alle 5 Minuten eine andere IP oder Liste mit anderen IP's für den host "www.netflix.com"
Befindet sich irgendwo ein cache, funktioniert dieser Mechanismus nicht mehr.
Wertet DNS 195.160.173.53 CNAME nicht oder falsch aus, ist das Resultat falsch. (kommt vor)

https://linux-club.de/forum/viewtopic.php?p=792756&sid=2be5732105d051eddec30d07d343f626#p792756
 
OP
gehrke

gehrke

Administrator
Teammitglied
Gräfin Klara schrieb:
Um Klarheit in die Sache zu bringen,
/etc/resolv.conf
nameserver ip_dns_server_deines_providers_wie_im_gateway

Testen
Ich weiß mometan noch nicht, woher ich diese IP bekomme...
 

susejunky

Moderator
Teammitglied
gehrke schrieb:
... Ich möchte das Problem grundsätzlich beheben - oder zumindest verstehen.
Das kann ich gut nachvollziehen (das würde mir genau so gehen). Ich wollte nur meine Motivation für meinen Firefox-DoH-Vorschlag erläutern.

Um Dein Problem weiter analysieren zu können, ist es wichtig zu wissen, ob folgende Zusammenfassung korrekt ist (und ob die mit Fragezeichen versehenen Punkte zutreffen):

Deine Firewall
  • ist der WAN-Eingangspunkt zu Deinem Heimnetzwerk und erhält ihren DNS-Server von Deinem ISP zugewiesen
  • dient in Deinem Heimnetzwerk als (einziger?) DHCP-Server
  • dient in Deinem Heimnetzwerk als (einziger?) DNS-Server

Clients
  • und die FRITZ!Box sind per LAN-Kabel mit der Firewall (ggf. über einen Switch?) verbunden
  • sind per WLAN mit der FRITZ!Box verbunden
  • wird per DHCP ihre interne IP-Adresse und die IP der Firewall als DNS-Serveradresse zugewiesen (gilt für alle Clients?!)
  • nutzen NetworkManager für die Namensauflösung (d.h. NetworkManager schreibt die über DHCP erhaltene DNS-Server-Adresse in /etc/resolv.conf).
  • verwenden keine NetworkManager-Verbindungsprofile, die eigene DNS-Serveradressen festlegen ?

Auf den WLAN-Clients
  • funktioniert die Namensauflösung (nur?) für Netflix NICHT
  • funktioniert der Zugriff auf Netflix per Chromium
  • funktioniert die Namensauflösung auch für Netflix, wenn ein externer DNS-Server in /etc/resolv.conf eingetragen wird
  • funktioniert die Namensauflösung auch für Netflix, wenn sie per LAN-Kabel angeschlossen werden?

Viele Grüße

susejunky
 
OP
gehrke

gehrke

Administrator
Teammitglied
gehrke schrieb:
Gräfin Klara schrieb:
Um Klarheit in die Sache zu bringen,
/etc/resolv.conf
nameserver ip_dns_server_deines_providers_wie_im_gateway

Testen
Ich weiß mometan noch nicht, woher ich diese IP bekomme...
Ah, ein Sniff auf der pfSense gibt mir die IP:
Code:
tcpdump -i pppoe0 -n port 53
 
OP
gehrke

gehrke

Administrator
Teammitglied
OK, das ist superinteressant.

Mit der unveränderten Config (J12 ist einer der betroffenen Clients im WLAN):
Code:
[root@j12 ~]# grep 'nameserver' /etc/resolv.conf 
nameserver 172.16.14.1
Code:
[root@j12 ~]# time curl http://www.netflix.com/
curl: (6) Could not resolve host: www.netflix.com

real	2m10,614s
user	0m0,030s
sys	0m0,036s
Alles andere (c) geht aber:
Code:
[root@j12 ~]# time curl http://heise.de/
[...]
real	0m0,032s
user	0m0,004s
sys	0m0,004s


Mit der expliziten IP des Netzbetreibers:
Code:
[root@j12 ~]# grep 'nameserver' /etc/resolv.conf 
nameserver <anonymisierte IP>
Code:
[root@j12 ~]# time curl http://www.netflix.com/

real	0m0,966s
user	0m0,011s
sys	0m0,010s
Wenn ich das richtig verstanden habe, spricht das dafür, dass irgendwo im Context der Fritzbox Infromationen verloren gehen oder veraltet gecached werden.
 

susejunky

Moderator
Teammitglied
gehrke schrieb:
... Wenn ich das richtig verstanden habe, spricht das dafür, dass irgendwo im Context der Fritzbox Infromationen verloren gehen oder veraltet gecached werden.
Alle Programme auf Deinem Client-System, die nicht direkt einen DNS-Server ansprechen (wie z.B. Firefox mit DoH aktiviert), nutzen die Namensauflösung des OS; d.h. ihre DNS-Abfragen werden an die in /etc/resolv.conf genannte IP-Adresse gesendet und von dort erhalten sie die IP, die dem FQDN zugeordnet ist.

Ich sehe nicht, wo Deine FRITZ!Box da eingreifen sollte (vorausgesetzt Deine Umgebung ist so konfiguriert, wie ich das in meinem letzten Beitrag vermutet habe).

Spannend sind die Fragen

  • Was macht Deine Firewall anders, als der DNS-Server Deines ISPs (oder ein anderer externer DNS-Server)?
  • Warum besteht das Problem nur bei Netflix?
  • Warum funktioniert der Netflix-Zugriff mit Chromium trotz WLAN und Firewall als DNS-Server?

Meine Systeme verwenden auch ein mehrstufiges DNS-Setup (lokal dnsmasq-Instanzen und eine zentrale dnscryp-proxy-Instanz) und gelegentlich macht DNSSEC Probleme.

Jedoch ohne genau zu wissen, wie Deine Umgebung im Detail aussieht, könnte ich jetzt nur noch Vermutungen anstellen.

Viele Grüße

susejunky
 
OP
gehrke

gehrke

Administrator
Teammitglied
susejunky schrieb:
Spannend sind die Fragen

  • Was macht Deine Firewall anders, als der DNS-Server Deines ISPs (oder ein anderer externer DNS-Server)?
  • Warum besteht das Problem nur bei Netflix?
  • Warum funktioniert der Netflix-Zugriff mit Chromium trotz WLAN und Firewall als DNS-Server?
TNX

Auf keine dieser Fragen habe ich derzeit eine Antwort.

Ich darf noch weitere hinzufügen (auf die ich ebenfalls noch keine Antwort habe):
*Warum funktionierte das bei Neflix in den letzten 2 Jahren problemlos und seit <7 Tagen nicht mehr?
*Warum funktioniert das problemlos beim Weg über Kabel oder Freifunk?
 

susejunky

Moderator
Teammitglied
gehrke schrieb:
... Auf keine dieser Fragen habe ich derzeit eine Antwort.

Ich darf noch weitere hinzufügen (auf die ich ebenfalls noch keine Antwort habe):
*Warum funktionierte das bei Neflix in den letzten 2 Jahren problemlos und seit <7 Tagen nicht mehr?
*Warum funktioniert das problemlos beim Weg über Kabel oder Freifunk?
Diese Fragen geben aber meines Erachtens die Richtung vor, in der man suchen sollte.

Da curl das Werkzeug Deiner Wahl ist, hier noch ein Hinweis:

curl kann auch selbst die Namensauflösung übernehmen (siehe man curl und suche nach --dns-servers <addresses> und --doh-url <URL>). Damit könnte man z.B. die lokale Namensauflösung auf den Clients als Fehler Quelle ausschließen und ggf. die Firewall als Problemzone näher eingrenzen.

Aber wie schon gesagt, ohne genau Informationen zu Deiner Systemumgebung ist das alles nur ein stochern im Nebel.

Viele Grüße

susejunky
 
OP
gehrke

gehrke

Administrator
Teammitglied
Und wo wir gerade bei den relevanten Fragen sind:
*Was hat das mit IPv6 zu tun? (ein funktionierender Workaround ist ja, DNS via IPv6 abzuschalten)
 
gehrke schrieb:
OK, das ist superinteressant.
... irgendwo im Context der Fritzbox Infromationen verloren gehen oder veraltet gecached werden...
Schauen wir genauer hin

gehrke schrieb:
Mit der unveränderten Config (J12 ist einer der betroffenen Clients im WLAN):
Code:
# time curl http://www.netflix.com/
curl: (6) Could not resolve host: www.netflix.com
Cache bedeutet, dass irgend eine Instanz meint: query von "www.netflix.com" hatten wir schon, die IP steht ja in meinem cache.
Deshalb verzichte ich auf ein neues query zum DNS und liefere die IP aus dem cache. Geht ja schneller


Da sich aber die IP von host www.netflix.com immer wieder ändert, also diese alte IP aus dem cache mittlerweile ungültig ist,
müsste die Fehlermeldung von curl hier lauten: Failed to connect to www.netflix.com port 80...
weil curl ja eine IP - zwar ungültig - aber immerhin erhalten hat. In deinem Fall aber erhielt curl KEINE IP, deshalb Could not resolve host...
Es ist also KEIN Problem einer Instanz mit cache, das können wir hiermit ausschließen.

gehrke schrieb:
Alles andere (c) geht aber:
Code:
# time curl http://heise.de/
[...]
Alles andere, wie du es nennst, unterliegt nicht diesem CNAME Verfahren und funktioniert deshalb.
D.h. irgendwo wird dieser ziemlich komplexe Mechnismus (wie oben dargestellt) ausgehebelt, verhindert und liefert deshalb kein Resultat.

gehrke schrieb:
Mit der expliziten IP des Netzbetreibers:
Code:
# time curl http://www.netflix.com/
real	0m0,966s
user	0m0,011s
sys	0m0,010s
Heißt, der DNS des Netzbetreibers liefert die Antwort korrekt.
Ich denke, damit kannst du die in Frage kommenden Instanzen ausfindig machen und den Umstand eingrenzen.
Selbstverständlich gehe ich nicht davon aus, dass dein System ein Problem mit IPv6 hat!!
Da ich dein System nicht kenne, kann ich auch kein Mehr an Informationen liefern,

Gruß
Gräfin Klara
 

susejunky

Moderator
Teammitglied
gehrke schrieb:
... Was hat das mit IPv6 zu tun? (ein funktionierender Workaround ist ja, DNS via IPv6 abzuschalten)
Da Du Dich hartnäckig weigerst meine Kenntnisse bezüglich Deines Systemumfelds zu komplettieren, kann ich Dir nicht weiter helfen.

Aber die erste beiden Fragen, die ich mir an Deiner Stelle gestellt (und dann zu lösen versucht) hätte, sind:

  1. Warum funktioniert der Netflix-Zugriff bei identischem Systemumfeld (OS, WLAN, Namensauflösung, ...) mit Chromium aber nicht mit Firefox?
  2. Warum erhält curl bei identischem Systemumfeld (OS, WLAN, Namensauflösung, ...) eine Namensauflösung für beliebige (?) FQDNs aber nicht für Netflix?

(Natürlich immer vorausgesetzt die Sachverhalte waren so, wie ich sie glaube verstanden zu haben.)

Viele Grüße und weiterhin viel Erfolg bei der Fehlersuche

susejunky
 
Oben