• 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)

gehrke

Administrator
Teammitglied
Moin *

Seit ein paar Tagen gibt es familienintern Beschwerden zu Netflix im Firefox. Die Seite ist nicht mehr erreichbar (alles andere geht aber).

Ich kann das reproduzieren. Es gibt ein paar Abhängigkeiten.
*Tritt auf im Firefox, aber nicht im Chromium
*Tritt nur in 2 WLANs auf, die von einer FritzBox getrieben werden
*Tritt nicht auf im LAN oder via Freifunk

Nach aktuellem Stand der Recherche scheint das Problem im Bereich DNS und IPv6 oder IPv4/IPv6-Dualstack zu liegen.

Fehlerbild:
Code:
bash-5.0$ curl http://www.netflix.com/
curl: (6) Could not resolve host: www.netflix.com
Keine augenfälligen Fehlermeldungen in der FritzBox.
Auch ein Reboot der FritzBox und des Clients brachte keine Besserung.

Code:
$ dig www.netflix.com

; <<>> DiG 9.11.23-RedHat-9.11.23-1.fc32 <<>> www.netflix.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1299
;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 4, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 01f44d718d4b402939b78c8e5f797d047b078ca2c1b1cef5 (good)
;; QUESTION SECTION:
;www.netflix.com.		IN	A

;; ANSWER SECTION:
www.netflix.com.	43	IN	CNAME	www.dradis.netflix.com.
www.dradis.netflix.com.	43	IN	CNAME	www.eu-west-1.internal.dradis.netflix.com.
www.eu-west-1.internal.dradis.netflix.com. 43 IN CNAME dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	43 IN A	54.194.87.208
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	43 IN A	34.241.244.104
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	43 IN A	54.76.159.18
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	43 IN A	34.243.154.212
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	43 IN A	52.17.27.129
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	43 IN A	34.250.3.119
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	43 IN A	34.250.61.125
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	43 IN A	54.154.83.0

;; AUTHORITY SECTION:
eu-west-1.elb.amazonaws.com. 191 IN	NS	ns-341.awsdns-42.com.
eu-west-1.elb.amazonaws.com. 191 IN	NS	ns-2023.awsdns-60.co.uk.
eu-west-1.elb.amazonaws.com. 191 IN	NS	ns-1053.awsdns-03.org.
eu-west-1.elb.amazonaws.com. 191 IN	NS	ns-739.awsdns-28.net.

;; ADDITIONAL SECTION:
ns-739.awsdns-28.net.	2301	IN	A	205.251.194.227
ns-341.awsdns-42.com.	127670	IN	A	205.251.193.85

;; Query time: 22 msec
;; SERVER: 172.16.14.1#53(172.16.14.1)
;; WHEN: So Okt 04 09:43:00 CEST 2020
;; MSG SIZE  rcvd: 520

tcpdump zeigt lediglich das hier:
Code:
10:47:38.705104 IP j12-wlan.xxx.local.32887 > _gateway.domain: 33998+ A? www.netflix.com. (33)
10:47:38.705148 IP j12-wlan.xxx.local.32887 > _gateway.domain: 9206+ AAAA? www.netflix.com. (33)
10:47:38.707847 IP _gateway.domain > j12-wlan.xxx.local.32887: 33998 11/4/1 CNAME www.dradis.netflix.com., CNAME www.eu-west-1.internal.dradis.netflix.com., CNAME dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com., A 52.31.182.100, A 52.214.145.233, A 52.211.172.255, A 54.194.155.146, A 52.18.96.227, A 54.76.159.18, A 34.250.3.119, A 34.243.154.212 (465)
10:47:38.708136 IP _gateway.domain > j12-wlan.xxx.local.32887: 9206| 11/3/0 CNAME www.dradis.netflix.com., CNAME www.eu-west-1.internal.dradis.netflix.com., CNAME dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com., AAAA 2a01:578:3::36c2:9b92, AAAA 2a01:578:3::34d3:acff, AAAA 2a01:578:
Da Freifunk IPv6-only ist und es dort funktioniert, vermute ich Probleme im Dualstack.

Ich konnte zwei funktionierende Workarounds finden, wobei das teilweise üble Hacks sind:
1. DNS lokal umbiegen
Code:
# echo "52.31.182.100 www.netflix.com" >> /etc/hosts
2. Firefox: DNS-Abfragen IPv6 abschalten (about:config):
Code:
network.dns.disableIPv6 true

Hier bin ich natürlich an einer sauberen Lösung und/oder einer Erklärung interessiert, aber bin mit meinem bescheidenen Netzwerkwissen leider schon am Ende.

Jemand einen Tipp?
TNX

Crossposted: https://libranet.de/display/0b6b25a8-175f-78d4-a176-161839015390
 
OP
gehrke

gehrke

Administrator
Teammitglied
Code:
$ dig -t AAAA www.netflix.com

; <<>> DiG 9.11.23-RedHat-9.11.23-1.fc32 <<>> -t AAAA www.netflix.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39340
;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 4, ADDITIONAL: 4

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: c831265d78bdd90ff2ffb9215f79dd7ce7cc8261e76e0c92 (good)
;; QUESTION SECTION:
;www.netflix.com.		IN	AAAA

;; ANSWER SECTION:
www.netflix.com.	41	IN	CNAME	www.dradis.netflix.com.
www.dradis.netflix.com.	60	IN	CNAME	www.eu-west-1.internal.dradis.netflix.com.
www.eu-west-1.internal.dradis.netflix.com. 3 IN	CNAME dualstack.wwwservice--frontend-san-vpc0-445693027.eu-west-1.elb.amazonaws.com.
dualstack.wwwservice--frontend-san-vpc0-445693027.eu-west-1.elb.amazonaws.com. 60 IN AAAA 2a01:578:3::3411:bad1
dualstack.wwwservice--frontend-san-vpc0-445693027.eu-west-1.elb.amazonaws.com. 60 IN AAAA 2a01:578:3::34d5:80a
dualstack.wwwservice--frontend-san-vpc0-445693027.eu-west-1.elb.amazonaws.com. 60 IN AAAA 2a01:578:3::22fc:70d6
dualstack.wwwservice--frontend-san-vpc0-445693027.eu-west-1.elb.amazonaws.com. 60 IN AAAA 2a01:578:3::3413:a40f
dualstack.wwwservice--frontend-san-vpc0-445693027.eu-west-1.elb.amazonaws.com. 60 IN AAAA 2a01:578:3::364d:60ea
dualstack.wwwservice--frontend-san-vpc0-445693027.eu-west-1.elb.amazonaws.com. 60 IN AAAA 2a01:578:3::22fd:2813
dualstack.wwwservice--frontend-san-vpc0-445693027.eu-west-1.elb.amazonaws.com. 60 IN AAAA 2a01:578:3::341f:b9e9
dualstack.wwwservice--frontend-san-vpc0-445693027.eu-west-1.elb.amazonaws.com. 60 IN AAAA 2a01:578:3::3412:bd12

;; AUTHORITY SECTION:
eu-west-1.elb.amazonaws.com. 196 IN	NS	ns-341.awsdns-42.com.
eu-west-1.elb.amazonaws.com. 196 IN	NS	ns-739.awsdns-28.net.
eu-west-1.elb.amazonaws.com. 196 IN	NS	ns-1053.awsdns-03.org.
eu-west-1.elb.amazonaws.com. 196 IN	NS	ns-2023.awsdns-60.co.uk.

;; ADDITIONAL SECTION:
ns-739.awsdns-28.net.	156674	IN	A	205.251.194.227
ns-341.awsdns-42.com.	150542	IN	A	205.251.193.85
ns-2023.awsdns-60.co.uk. 162547	IN	A	205.251.199.231

;; Query time: 25 msec
;; SERVER: 172.16.14.1#53(172.16.14.1)
;; WHEN: So Okt 04 16:34:36 CEST 2020
;; MSG SIZE  rcvd: 631
 
OP
gehrke

gehrke

Administrator
Teammitglied
172.16.14.1 ist das Gateway meiner Firewall in diesem Subnetz. Von dort aus geht es raus.
 
ok
Setze in /etc/resolv.conf
nameserver 195.160.173.53

Das ist ein sehr zuverlässiger DNS vom CCClub
Die Firewall muß natürlich UDP 195.160.173.53 Port 53 erlauben.
Mein Verdacht: Firefox kann eine spezielle Antwort auf ein CNAME query nicht auswerten.
Zur Info: Die CNAMEs (Amazon) lauten zur Zeit, gültig ca. 10 min.
Code:
www.netflix.com >
     www.dradis.netflix.com >
     www.eu-west-1.internal.dradis.netflix.com >
     dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com

Zuerst
Code:
# dig -t AAAA dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com
Dann mit firefox ausprobieren
 

susejunky

Moderator
Teammitglied
Hallo gehrke,

wenn Du in Deinem Netzwerk keinen DNS-Blocker einsetzt, kannst Du Firefox auf "DNS über HTTPS (DoH)" umstellen (mittlerweile ist der DoH-Provider auch frei wählbar).

Die Umstellung kann

  • jeder Benutzer über das Einstellungsmenü vornehmen
  • mittels policies.json-Datei systemweit gesteuert (und sogar dauerhaft erzwungen) werden
  • mittels user.js-Datei je Firefox-Benutzer vorgenommen werden.

Ich verwende zur Zeit einen DoH-Server in der Schweiz und mit dem funktioniert der Netflix-Zugriff problemlos.

Viele Grüße

susejunky
 
OP
gehrke

gehrke

Administrator
Teammitglied
Gräfin Klara schrieb:
Setze in /etc/resolv.conf
Code:
nameserver 195.160.173.53
Code:
grep 'nameserver' /etc/resolv.conf 
#nameserver 172.16.14.1
nameserver 195.160.173.53

Code:
# dig -t AAAA dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com

; <<>> DiG 9.11.23-RedHat-9.11.23-1.fc32 <<>> -t AAAA dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15534
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	IN AAAA

;; ANSWER SECTION:
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	60 IN AAAA 2a01:578:3::22f8:a530
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	60 IN AAAA 2a01:578:3::36ab:4fde
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	60 IN AAAA 2a01:578:3::22f3:9ad4
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	60 IN AAAA 2a01:578:3::3411:1b81
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	60 IN AAAA 2a01:578:3::34d2:ca95
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	60 IN AAAA 2a01:578:3::34d5:9b75
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	60 IN AAAA 2a01:578:3::3410:ff9b
dualstack.wwwservice2--frontend-san-vpc0-138074574.eu-west-1.elb.amazonaws.com.	60 IN AAAA 2a01:578:3::36c2:9b92

;; Query time: 47 msec
;; SERVER: 195.160.173.53#53(195.160.173.53)
;; WHEN: So Okt 04 19:27:51 CEST 2020
;; MSG SIZE  rcvd: 331
Dann mit firefox ausprobieren
Das Problem trat ja schon auf der Konsole auf, daher lieber so ohne den Broken Firefox am Hals:
Code:
bash-5.0$ curl https://www.netflix.com/
bash-5.0$
Das war also erfolgreich.

Aber was heißt das jetzt? Allein am Nameserver kann es ja nicht gelegen haben, denn auf dem anderen System in einem anderen Subnetz mit dem selben DNS-Server hat das ja schließlich funktioniert. Nur ist dort nicht noch die Fritzbox dazwischen.

TNX
 
OP
gehrke

gehrke

Administrator
Teammitglied
Gräfin Klara schrieb:
/etc/hosts
52.31.182.100 www.netflix.com
entfernen
Code:
network.dns.disableIPv6 false
Probier auch mit firefox
In der hosts-Datei stand das schon nicht mehr - wollte keine zwei parallele Workarounds. Sonst hätte der Test mit curl auch wenig Sinn gemacht.

Firefox lädt damit die Site.
 
OP
gehrke

gehrke

Administrator
Teammitglied
Ich warte noch auf die Erleuchtung:
gehrke schrieb:
Aber was heißt das jetzt? Allein am Nameserver kann es ja nicht gelegen haben, denn auf dem anderen System in einem anderen Subnetz mit dem selben DNS-Server hat das ja schließlich funktioniert. Nur ist dort nicht noch die Fritzbox dazwischen.
Wenn ich das Problem verstanden habe, kann ich entscheiden.
 
gehrke schrieb:
Wenn ich das Problem verstanden habe, kann ich entscheiden.
Du bekommst mit hoher Wahrscheinlichkeit aus einem DNS-Cache (z.B. Fritzbox), eine abgelaufene IP
Die IP vom Host z.b. www.netflix.com, hat eine Gültigkeit von max. 5 Minuten.
Siehe oben der CNAME Mechanismus.
 
OP
gehrke

gehrke

Administrator
Teammitglied
Tja, könnte theoretisch sein. Aber es ist unwahrscheinlich, weil das Setup so unverändert seit Jahren läuft. So etwas ist bislang noch nie passiert.
 
OP
gehrke

gehrke

Administrator
Teammitglied
Gräfin Klara schrieb:
Du bekommst mit hoher Wahrscheinlichkeit aus einem DNS-Cache (z.B. Fritzbox), eine abgelaufene IP
Ich wüsste auch nicht, wie die Fritzbox hier Cachen könnte. Die lokale DNS-Config zeigt ja nicht auf die Fritzbox, sondern geht direkt auf das Gateway (pfSense), welche das DNS vom Netzbetreiber holt.
Code:
grep 'nameserver' /etc/resolv.conf 
nameserver 172.16.14.1
Die Situation ist in diesem Subnetz also grundsätzlich nicht anders als in den anderen Subnetzen. Nur dass das physische Kabel ersetzt ist durch Äther aka WLAN-Kabel.
 

susejunky

Moderator
Teammitglied
Hallo gehrke,
gehrke schrieb:
... Die lokale DNS-Config zeigt ja nicht auf die Fritzbox, sondern geht direkt auf das Gateway (pfSense), welche das DNS vom Netzbetreiber holt.
Code:
grep 'nameserver' /etc/resolv.conf 
nameserver 172.16.14.1
Die Situation ist in diesem Subnetz also grundsätzlich nicht anders als in den anderen Subnetzen. Nur dass das physische Kabel ersetzt ist durch Äther aka WLAN-Kabel.
Verwendest Du NetworkManager ?

Falls ja, werden in den WLAN-Verbindungsprofilen ggf. abweichenden DNS-Server definiert oder/und nutzt NetworkManager seine eigene dnsmasq-Instanz?

Viele Grüße

susejunky
 
OP
gehrke

gehrke

Administrator
Teammitglied
susejunky schrieb:
NetworkManager ?

Falls ja, werden in den WLAN-Verbindungsprofilen ggf. abweichenden DNS-Server definiert oder/und nutzt NetworkManager seine eigene dnsmasq-Instanz?
Ja, dort wird NetworkManager verwendet. Ich bin aber davon ausgegangen, dass dort keine expliziten Server definiert werden, denn die resolv.conf wird von diesem ja so generiert:
Code:
$ cat /etc/resolv.conf
# Generated by NetworkManager
search <xxx>.local
nameserver 172.16.14.1
TNX
 

susejunky

Moderator
Teammitglied
gehrke schrieb:
... dort wird NetworkManager verwendet. Ich bin aber davon ausgegangen, dass dort keine expliziten Server definiert werden, denn die resolv.conf wird von diesem ja so generiert:
Code:
$ cat /etc/resolv.conf
# Generated by NetworkManager
search <xxx>.local
nameserver 172.16.14.1
Da auf allen meinen Systemen das DNS-Management von NetworkManager abgeschaltet ist, kann ich Dir nicht mit Sicherheit sagen, ob ein "ignore-auto-dns=true" aus einem Verbindungsprofil seinen Niederschlag in der /etc/resolv.conf findet oder von NetworkManager separat abgehandelt wird.

Zu Firefox fällt mir noch ein:

  • wenn nicht explizit abgeschaltet, betreibt Firefox DNS-Prefetching (=> network.dns.disablePrefetch)
  • Firefox puffert DNS-Ergebnisse (network.dnsCacheExpiration, network.dnsCacheExpirationGracePeriod)

... und dann ist auf vielen Linux-Systemen (Deiner Firewall?) nscd aktive und puffert DNS-Ergebnisse.

Viele Grüße

susejunky
 
OP
gehrke

gehrke

Administrator
Teammitglied
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.
 
gehrke schrieb:
Tja, könnte theoretisch sein. Aber es ist unwahrscheinlich, weil das Setup so unverändert seit Jahren läuft. So etwas ist bislang noch nie passiert.
Um Klarheit in die Sache zu bringen,
/etc/resolv.conf
nameserver ip_dns_server_deines_providers_wie_im_gateway

Testen
 
Oben