Hallo,
ich habe hier einen Proxy, der versucht sich mit zu verbinden. Der Squid macht zuerste ein AAAA Query. Die läuft nach ca. 60 Sekunden in ein Timeout (SERVFAIL sagt mir dig und auch tcpdump). Die A-Query ist deutlich schneller beantwortet.
Leider haben die beim A-Record eine TTL von 0, so dass der Squid auch tatsächlich immer wieder fragt.
Wenn ich mir einen lokalen Bind aufsetze, den authoritativ für shellcardonline.shell.com mache und nur die IPv4 eintrage, dann läuft alles gut. Ist aber natürlich nicht die Lösung.
Jetzt suche ich eine Möglichkeit
- shell.com davon zu überzeugen, dass deren DNS broken ist (Auf eine Mail an den hostmaster hat bisher (ca 24h) keiner reagiert. Warum sollten die auch. Bestimmt haben die einen Dienstleister, der richtig guten Plan hat.)
- Squid so zu konfigurieren, dass er für diese eine bestimmte Domain keine AAAA Queries generiert
(Oder ist es ein Bug im Squid, dass er soo lange wartet, statt nebenher schon mal die A-Query abzusetzen und deren Antwort dann zu verwerten?)
- einen DNS-Forwarder, dem ich sagen kann, dass AAAA-Queries für eine bestimmte Domain mit NODATA beantwortet werden (NXDOMAIN wäre ja falsch, denn es gibt ja Einträge zu dem angefragten Namen)
Oder liege ich total falsch und es gibt eine deutlich einfachere Lösung?
Danke.
Moin Heiko,
in ein Timeout (SERVFAIL sagt mir dig und auch tcpdump). Die A-Query
Hier nicht:
its-gw:~# dig aaaa shellcardonline.shell.com
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> aaaa shellcardonline.shell.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 55603 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION: ;shellcardonline.shell.com. IN AAAA
;; AUTHORITY SECTION: shell.com. 10800 IN SOA dns1.shell.com. dns.shell.com. 2013082104 28800 7200 604800 28800
;; Query time: 210 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Thu Aug 22 09:48:45 2013 ;; MSG SIZE rcvd: 88
Wobei, die Subdomain scheint es gar nicht mehr zu geben ... Dann sind die Admins mit Deinem Hinweis wohl übers Ziel hinausgeschossen ;-)
Wenn ich mir einen lokalen Bind aufsetze, den authoritativ für
Kanonen, Spatzen? Squid nimmt auch eine beliebige Datei als hosts file - ok, jetzt ist es statisch und damit unschön.
Mit freundlichen Grüßen / Kind regards Ronny Seffner -- Ronny Seffner | Alter Viehweg 1 | 01665 Klipphausen
www.seffner.de | ronny@seffner.de | +49 35245 72950
Hallo Ronny,
danke für's Mitdenken, es muss heissen
www.shellcardonline.shell.com
Ronny Seffner ronny@seffner.de (Do 22 Aug 2013 09:53:17 CEST):
Wenn ich mir einen lokalen Bind aufsetze, den authoritativ für
Kanonen, Spatzen? Squid nimmt auch eine beliebige Datei als hosts file - ok, jetzt ist es statisch und damit unschön.
Ja, aber ich denke, er findet dort den A-Record, aber hindert ihn wohl nicht, auch nach einem AAAA Record zu gucken.
Wobei - ich kann ja einen eintragen, der gegen die Wand läuft. Dann glaubt der Squid, IPv6 ginge nicht und wird auf IPv4 zurückfallen.
Letztlich ist das m.E. ein Problem, dass nur shell.com nachhaltig lösen kann. Den Squid zu patchen ('avoid_dns_AAAA <acl>' oder was ähnliches) würde die Einführung von IPv6 verzögern und würde ich ungern tun.
… und wenn ich noch weiter nachdenke, ich muss ja nur einen „falschen“ AAAA-Record eintragen, den A-Record findet er ja über das DNS. Das probiere ich gleich mal.
… und wenn ich noch weiter nachdenke, ich muss ja nur einen „falschen“
AAAA-Record eintragen, den A-Record findet er ja über das DNS. Das probiere ich gleich mal.
dem squid ein
dns_v4_first = on zu geben könnte die Sache mit dem falschen Eintrag umgehen "Verlangsammt etwas den ipv6-siegeszug"
Wenn du das dns_timeout im squid runtersetz sollte die IPv4 Adresse schneller gefunden werden und nicht erst nach mehr als 60s
andreas
-- Heiko
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Grimnin Fridyson fridy_lugdd@yahoo.de (Fr 23 Aug 2013 05:10:35 CEST):
… und wenn ich noch weiter nachdenke, ich muss ja nur einen „falschen“
AAAA-Record eintragen, den A-Record findet er ja über das DNS. Das probiere ich gleich mal.
dem squid ein
dns_v4_first = on zu geben könnte die Sache mit dem falschen Eintrag umgehen "Verlangsammt etwas den ipv6-siegeszug"
Hatten wir auch schon, die Option sah verlockend aus, aber macht nicht das, was man möchte.
# TAG: dns_v4_first # With the IPv6 Internet being as fast or faster than IPv4 Internet # for most networks Squid prefers to contact websites over IPv6. # # This option reverses the order of preference to make Squid contact ! # dual-stack websites over IPv4 first. Squid will still perform both ! # IPv6 and IPv4 DNS lookups before connecting. # # WARNING: # This option will restrict the situations under which IPv6 # connectivity is used (and tested), potentially hiding network # problem swhich would otherwise be detected and warned about. #Default: # dns_v4_first off
Die Fragen werden beide gestellt und deren Antwort wird abgewartet. Auch eine in dem Kontext auftauchende andere Option sieht verlockend aus, macht aber auch nicht das, was wir brauchen. (Was brauchen wir? Eigentlich braucht Shell administrative Hilfe, aber mit so kleinen Arschlöchern wie uns werden die sich nicht beschäftigen. Könnte ja jeder etwas am DNS rummäkeln. Ich habe versucht, über deren Webseite den Webmaster zu kontaktieren, ich denke, das wird erfolglos sein.)
(Erinnert mich an eine Mailgeschichte, die wir gerade mit Strato erleben, „mit dem Rechenzentrum soll ich Sie verbinden - da kann ja jeder kommen, die haben dort wichtigere Dinge zu tun“ … wichtiger, als sich darum zu kümmern, dass ich meine Mails per TLS dort abliefern kann, geht nämlich seit einigen Tagen nicht mehr, DH Prime too short.)
# TAG: dns_v4_fallback # Standard practice with DNS is to lookup either A or AAAA records # and use the results if it succeeds. Only looking up the other if # the first attempt fails or otherwise produces no results. … # If this is ON squid will always lookup both AAAA and A, using both. # If this is OFF squid will lookup AAAA and only try A if none found. …
Wenn du das dns_timeout im squid runtersetz sollte die IPv4 Adresse schneller gefunden werden und nicht erst nach mehr als 60s
Ja, aber das ist nicht zuverlässig, die 60s scheinen schon sehr sensibel gewählt zu sein. Wenn es so gesetzt wird, dass es erträglich ist, gehen einige Dinge auch nicht mehr.
Hallo,
wir haben uns jetzt einen DNS-Proxy geschrieben, der NODATA-Antworten faked, wenn es Timeouts bei AAAA-Requests gibt.
Heiko Schlittermann hs@schlittermann.de (Mo 26 Aug 2013 16:28:11 CEST):
Hallo,
wir haben uns jetzt einen DNS-Proxy geschrieben, der NODATA-Antworten faked, wenn es Timeouts bei AAAA-Requests gibt.
Ehre wem Ehre gebührt. Einer meiner Kollegen hat den Proxy geschrieben.
lug-dd@mailman.schlittermann.de