Es gibt keine Möglichkeit (die ich kenne), die Standard-Resolver-Bibliothek (siehe man 3 res_query
) zur Verwendung von TCP für alle Verbindungen zu zwingen, obwohl einzelne Anwendungen dies RES_USEVC
beim Starten des Flags tun können .
Es gibt auch keine Möglichkeit, BIND so zu konfigurieren, dass nur Abfragen über TCP gesendet werden.
Ich glaube, dass Sie dies theoretisch tun könnten, indem Sie Unbound lokal ausführen und das Flag "do-udp" auf "false" setzen. Anschließend setzen Sie 127.0.0.1 in Ihre DNS-Konfiguration in der Netzwerksteuerung.
In der Dokumentation ist jedoch nicht klar, ob Unbound daraufhin Abfragen über UDP beantwortet . Ich teste das ... Nein, es hat nicht funktioniert. Ich habe dem Autor eine E-Mail geschickt ...
Das heißt, Sie sollten das wirklich nicht tun - Sie sollten den wirklichen Fehler finden. Ich bin fest davon überzeugt, dass TCP-Unterstützung in DNS erforderlich ist (ich habe draft-ietf-dnsext-dns-tcp-Requirements-03 geschrieben ), aber es sollte immer noch nur als Fallback verwendet werden, wenn UDP-Nachrichten zu groß sind, um entweder zu passen in 512 Byte oder einem erweiterten EDNS0-kompatiblen Format.