Picture of Jürgen Kreileder

Speedport Routers Eat Your DNS SOA Requests in Modem-Mode

Some years ago I switched to using a Speedport W701V from Deutsche Telekom on my ADSL line at home. I set it up in modem-mode and let a small Linux box handle everything else. This setup had worked fine with other modems but shortly after switching to the Speedport I noticed that my local caching DNS server didn’t work correctly anymore. I didn’t really connect the dots at this point, though.

That happened a few days later when I tried to use Apple’s Back to My Mac — it just didn’t work. After some network tracing I found out that the Apple machine sent DNS SOA requests but never got a reply back. It turned out that all SOA request got blocked somewhere. Sending requests to my own name server (host -t soa blackdown.de ns.blackdown.de) and tracing DNS there showed that no packet ever arrived.

I put the Speedport back into router-mode at this point and, who would have guessed it, SOA requests worked fine again.

After fruitless discussions with Deutsche Telekom support (it was impossible to find anyone who even remotely understood what I was talking about) and sending a bug report to AVM (the 701V actually is a FRITZ!Box) which never got an answer, I finally solved the problem by putting a Freetz firmware on the Speedport. This firmware had an option to disable the PPPoE-Filter. After disabling the filter the device worked flawlessly in modem-mode.

Now, a few days ago, I switched to VDSL and got a new router: a Speedport W920V.
First thing I did was to put it into modem-mode. And there it was again, the DNS SOA problem!

Knowing what the problem was, I found a simpler fix this time:

  1. Download the configuration from the device
  2. Manually change dnsfilter_for_active_directory = yes; to dnsfilter_for_active_directory = no; in the pppoefw section
  3. Manually change ipnetbiosfilter = yes; to ipnetbiosfilter = no; in the pppoefw section
  4. Insert a NoChecks=yes line after the Country=… line in the header to make the device accept the modified file although its checksum is wrong now
  5. Upload the modified configuration to the device

(If you have a local NTP server, you also might want to add it to the server_list in the ntpclient section while editing the configuration of the Speedport.)

This article Jürgen Kreileder is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

19 Comments

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post. Both comments and pings are currently closed.

Mirko said

Many Thx, works with speedport 701V too.

[…] Protip: BTTM hinter Speedport/VDSL […]

Thomas said

Hallo Jürgen,
ist dieses Vorgehen eigentlich Idiotensicher oder muss ich gewisse Kenntnisse haben?
Wie bekomme ich z.B. die Konfiguration als Datei auf meinen Mac…
Sonst glaube ich kenn ich mich aus bzw. deine Schritte sind recht gut erklärt.

Danke für die Info.
Thomas

Wer den Speedport nur als Modem konfiguriert hat, sollte auch das hinkriegen. (Im normalen Router-Betrieb ist die Änderung nicht nötig). Auf der Konfigurationsseite zum Einspielen neuer Firmware, gibt es einen Link zum Konfiguration runter-/hochladen. Die Datei hat die Endung .export und kann mit einem Texteditor geändert werden. Natürlich sollte man dabei möglichst keine Tippfehler machen.

Sluft said

Ich hab auch VDSL und nutze es über meinen Speedport W 722V. Dieser stellt sowohl Modem als auch Router dar. Doch Back to my Mac hab ich noch nie zum Laufen gebracht. Gleiches gilt übrigens auch für Streaming via EyeTV oder Air Sharing. Selbst bei DLNA Verbindungen kommt es aufgrund von fehlendem UPnP je nach Software zu Problemen.

Nachdem ich deinen Tipp mit der Konfigurationsdatei angewandte, hat sich daran leider nichts geändert. Woran mag das liegen?

Mein Tipp betrifft nur den reinen Modem-Betrieb. Im Modem+Router-Betrieb ist das Problem mit den gefilterten SOA-Paketen bei mir nie aufgetreten. Ob es bei dir auftritt, kannst Du leicht mit “host -t soa heise.de ns.heise.de” oder “nslookup -q=soa heise.de ns.heise.de” testen. Aber ohne UPnP bzw NAT-PMP wirst Du aber sowieso Probleme mit BTMM haben. Ich würde mal ein bisschen in den Freetz-Foren suchen, vielleicht wird der W722V ja schon unterstützt.

(Mein Setup ist folgendes: Speedport im Modem-Betrieb. Dahinter ein kleiner Linux-Rechner mit pppd, einem Firewall (Shorewall), einem NAT-PMP/UPnP server (MiniUPnP) und ein paar Traffic-Shaping-Regeln. BTMM funktioniert leidlich, die gelegentlich auftretenden Aussetzer sind Probleme auf Apples Seite.

grupsi said

Hi,
ich hab genau das Problem das die Fritzbox 7570 von Hansenet hier keine soa requests durchlässt. Weder im Router noch im Modem Modus. Die FB ist von Hansenet so verkrüppelt worden, dass der Weg über die Konfiguration sichern und wiederherstellen nicht möglich ist. Eine andere FW flashen ist auch nicht drin, denn dann funktioniert mein Telefon nicht mehr.
Daher hab ich wohl nur zwei Möglichkeiten, neues VDSL Modem besorgen und die Fritzbox dahinterklemmen oder den Hansenet Service belabern. Da mir das belabern erstmal kostengünsitger erscheint möchte ich das vorziehen aber bevor ich das mache wollte ich noch ein bischen mehr Wissen haben …
Woran erkennt die Fritzbox überhaupt dass es ein soa request ist und diesen blockt? Bzw. was macht ein soa request packet so besonders?
Würd mich über eine Antowrt freuen.. cheers!

(Immerhin scheint es bei Hansenet schon IPv6 zu geben :)

Ein SOA-DNS-Request fordert einige Verwaltungsinformationen von einem Nameserver an. Für Back-to-My-Mac ist dabei wohl vor allem die Seriennummer wichtig. Über die kann festgestellt werden, ob sich was geändert hat (z.B. ein anderer Rechner hat sich unter einer bestimmten IP-Adresse angemeldet). Näheres auf Wikipedia: SOA Resource Record.

Der Filter schaut sich gewisse Felder der Pakete an und entscheidet dann, ob die Pakete durch dürfen oder ins virtuelle Nirwana geschickt werden. Bei der Implementierung des Filters hat sich anscheinend ein Fehler eingeschlichen und deshalb werden auch DNS-Anfragen vom Typ SOA gefiltert.

Damit BTMM einwandfrei funktioniert müssen zwei Voraussetzungen erfüllt sein:

  • DNS funktioniert einwandfrei
  • Es gibt einen UPnP-/NAT-PMP-Gateway, der den Rechner über Portforwarding aus dem Internet erreichbar macht. (Oder der Rechner hat direkt eine nicht private IP-Adresse)

Da die DTAG ihre Fritzbox-basierten Speedports ohne NAT-PMP und UPnP ausliefert, kriegt man BTMM nur zum laufen, wenn man

  • die Router mit der Freetz-Firmware flasht; dann hat man UPnP
  • Oder man den Speedport nur als Modem (dann ist der oben beschriebe Fix nötig) und dahinter einen Router mit NAT-PMP oder UPnP betreibt.

(Ich mache letzters.)

Bezüglich der Fritzbox von Hansenet würde ich mal auf ip-phone-forum.de fragen, vielleicht gibt es ja eine Firmware mit der dein Telefon weiter funktionieren würde.

grupsi replied

Moin, danke für die Nachtschicht… ; )
Hansenet hat soweit ich weiß kein ipv6 bisher, hab nur in meiner Airport Extreme den automatischen Ipv6 Tunnel eingeschaltet, ich nehme an das hast du in deinem Log gesehn?!
Ich hab einiges zu den SOA-DNS-Requests gelesen, allerdings bin ich nicht wirklich schlauer geworden wie die FB das blockt. Die DNS Abfrage läuft auf UDP Port 53, die UDP Datagramme haben im Header nur Quellport, Zielport, Länge und Prüfsumme stehen und dann eben noch den Datenblock. Das ganze wird dann in ein IP Paket eingewickelt. Und die FB wird ja keine Deep Packet Inspection machen. Naja irgendwas hab ich da wohl noch nicht so ganz geblickt.
BTMM zum laufen zu bekommen wär schon nett, obwohl ich mit dyndns und vpn auch gut fahr, aber irgendwie wurmt es mich schon das es nicht funktioniert.
Das mit der Firmware hab ich im ip-phone-forum auch schonmal nachgelesen, da hat hansenet leider kein voip sip sondern irgendwas properitäres gebastelt was nur mit deren fw funktioniert.
So long ..

Vermutlich werden nur ein paar bestimmte Bits im Paket abgefragt und die SOA-Requests sind Kollateralschaden, da sie zufälligerweise auch dem abgefragten Schema entsprechen.

grupsi said

sorry für die üble grammatik und rechtschreibung … :p

ratpack said

Hallo Jürgen,

ich habe Deine Änderungen in der *.export Datei nach Umbenennung in *.txt durchgeführt, war mir allerdings nicht sicher, wo die letzte Änderung eingefügt wird. Bei mir sieht die Änderung nun so aus:
“…ect_40456OEM=tcomCountry=049Language=deNoChecks=yes**** CFGFILE:a…”
Leider erhalte ich nach hochladen der *.export Datei eine fehlermeldung:

“Laden der Konfiguration fehlgeschlagenBeim Wiederherstellen der Konfiguration aus der angegebenen Datei ist ein Fehler aufgetreten:

Die angegebene Datei ist keine gültige Import-Datei.
Überprüfen Sie die Auswahl der Datei und versuchen Sie es noch einmal.”

Mist!! Vielleicht kannst Du mir sagen, was ich falsch mache. Ich will doch nur airvideo auf meinem iphone sehen und einen remote access auf mein Netzwerk haben!!

Besten Dank im voraus!

Equipment:
Speedport W920V Version 65.04.78, Synology Diskstation DS209, macbook pro mit OS X 10.6 und diverse windows PCs

Ich habe den NoChecks-Eintrag zwischen Country und Language, und nicht hinter der Language-Zeile.
Allerdings bin ich mir nicht sicher, ob hier die Reihenfolge wirklich wichtig ist:

Country=049
NoChecks=yes
Language=de

Dirk Scheumann replied

Funktioniert leider bei mir nicht. das geänderte file wird nicht vom speedport zum hochladen akzeptiert. er eckert, dass die Landeseinstellungen nicht passen.
Irgendeine Idde, woran das liegen kann?
Beste Grüße
Dirk Scheumann

Line endings kontrolliert? (DOS vs. Unix)

Ansonsten sollten die Einträge wie folgt sein:


Country=049
NoChecks=yes
Language=de

dirk scheumann replied

hm, ich einfach die exportierte datei mit dem texteditor von windows 7 geöffnet und die zwei werte auf no gesetzt und zwischen den country/language das nochecks eingefügt.

Sollte ich einen anderen editor nutzen? im Win texteditor ist das alles fliesstext ohne umbrüche.

danke jedenfalls für die Antwort.

Es gibt einige postings, die von erfolgreichem betrieb der apple extreme an der speedport w920v berichten. leider gibt keiner einen vollständigen überblick uber die jeweilige konfiguration.

Ich war so naiv zu glauben, dass ich nach meinem wechsel von mnwt zu t-entertain einfach meine airport in das speedport modem/router stecke und das ganze geht, wie zuvor mit dem avm router/modem vom mnet. ich habe hinter der apple extreme noch drei apple express und würde gerne meine macs und musik weiter darüber laufen lassen und den speedport nur zur weitergabe des internetzugangs und für das iptv nutzen.

Beste Grüße

Dirk Scheumann

> im Win texteditor ist das alles fliesstext ohne umbrüche

Dann fehlt wohl jetzt ein newline. Mit WordPad funktionierts eventuell besser.

IPTV wir allerdings nicht funktionieren, wenn Du den Speedport nur als Modem und einen Airport Express als Router verwendest. Die Telekom trennt normale Daten und IPTV über VLANs, und dazu brauchst Du einen Router, der das entsprechend handeln kann (Speedport im Router-Betrieb, eigener Linux-Router, …).

Dirk Scheumann said

Vielen Dank für die Antwort.

Wenn IPTV nicht geht, ist das blöd, da ich T-Entertain bestellt habe und IPTV auch noch über LAN zu meinen beiden Fernsehern und den Tunern (über eine WLAN Bridge) streamen muss.

Ich würde nur gerne mein Apple Airport Extreme und Express Netzwerk weiter parallel betreiben für die Notebooks und Musik.

Bisher war es kein Problem, da hatte ich die Airport Extreme einen AVM WLAN Router gesteckt und das ging ohne jede Konfiguration des AVM, dass ich die Zugangsdaten in der Airport Extreme hatte und der AVM WLAN Router wohl automatisch nur als Modem genutzt wurde.

Ich habe auch postings von Leuten gelesen, die das wohl mit dem Speedport 920 hinbekommen haben, als Airport Extreme per Kabel an den Speedport und zwei WLAN Netze aufgespannt, wobei der Speedport den Internetzugang an die Airport Extreme weiterreicht. Dazu muss wohl die Airport Extreme im Etherbnet/Bridge Modus arbeiten. Dann bekomme ich aber bei mir entweder den Fehler double NAT angezeigt oder Konflikte mit den DNS Adressen.

Bin leider kein wirklicher Netzwerkexperte und aufgeschmissen. Irgendeine Idee?

Vielen Dank und GRüße

Dirk

Fraser said

Hello – I’ve being trying to update my configuration file on a speedport 723v type B. However the download file from the router is encrypted! How do I decrypt it?