Category Archives: Networking

Brother MFC-7840w “Internet Fax” über DUS.net

Seit einigen Tagen habe ich einen “IP-only”-Telefonanschluss, so dass ich nicht mehr wie bisher mit meinem Brother MFC-7840w-Multifunktionsgerät über einen a/b-Terminaladapter an einem ISDN-Anschluss faxen kann.

Beim Suchen nach Alternativen stieß ich auf dieses Wiki im IP-Phone-Forum, welches mir sehr weiter geholfen hat.

Zunächst musste ich ein Firmware-Update für mein Faxgerät flashen, was die benötigte Internet-Fax-Funktionalität  (T.37-Protokoll) implementiert.

Weiterhin musste ein Anbieter gefunden werden, der dieses Protokoll unterstützt. DUS.net, welches auch im obigen Wiki erwähnt wird, war mir ohnehin schon bekannt, weil ich auf der Suche nach einem guten SIP-Provider bin. Also wollte ich gerne DUS.net als Fax-Provider nutzen, jedoch gibt es da ein prinzipielles Problem:

Um das Dus.net mail2fax Gateway anzusprechen, müssen Zugangsdaten > 50 Zeichen im Betreff-Feld übertragen werden. Die Brother-Firmware (4.0) speichert aber nur 41 Zeichen ab.

Meine Lösung sieht nun so aus: Continue reading Brother MFC-7840w “Internet Fax” über DUS.net

Monitor DrayTek Vigor 130 Line Status

I recently got myself a new DSL modem, namely a DrayTek Vigor 130, as I switched from ADSL2 to VDSL2-Vectoring, so that I couldn’t use my Allnet ALL0333CJ Rev. C any longer.

As I monitor about everything (just kidding) with Nagios, I certainly wanted to implement a check of the modem’s line status.

Here’s what I came up with:

# ARG1: community
define command{
        command_name    snmp_modem_status
        command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o SNMPv2-SMI::transmission.94.1.1.3.1.6.4 -P 2c -r "53 48 4F 57 54 49 4D 45"
        }
define host {
        host_name       dslmodem
        address         192.168.0.1
        use             generic-host-internal
        parents         gw
}

Nagios is running on my intranet server. The next hop when seen from Nagios is my Internet gateway (host “gw”, my router), and from there the next hop is the DSL modem (host “dslmodem.”)

Hope this helps someone… If it does please leave a quick message here in this blog, thanks…

Vodafone VDSL-100 mit diskretem Modem und Router

Heute war endlich “der große Tag” gekommen — mein alter Arcor/Vodafone Annex.B-Anschluss (ISDN/ADSL) sollte umgestellt werden auf IP-only in Form von Vodafone VDSL-100, d. h. VDSL2-Vectoring mit einer Geschwindigkeit von 100 MBit/s für den Downlink, 40 MBit/s für den Uplink.

Bei uns kann Vodafone diesen Anschluss noch nicht basierend auf eigener Infrastruktur anbieten, sondern muss ihn als Bitstream-Produkt von der Telekom einkaufen. Das ist mir aber egal, Hauptsache es funktioniert… 😉

Aus verschiedenen Gründen mag ich keine “All-in-One”-Produkte, insbesondere keine von den Netzbetreibern angebotene:

  • Man muss bei “All-in-One”-Produkten in der Regel immer Kompromisse machen. Wenn ich “diskrete” Komponenten kaufe, d. h. ein separates Modem, einen Router, ein SIP-Gateway, einen Intranet-Server, dann kann ich mir genau die Geräte aussuchen, die meinen Vorstellungen am nächsten kommen.
  • Tritt ein Defekt bei einem “All-in-One”-Produkt auf, dann geht gar nichts mehr. Bei diskreten Geräten bleibt ein Teil der Funktionalität erhalten.
  • Ich bin nicht darauf angewiesen, dass mir der Netzbetreiber (insb. sicherheitsrelevante) Updates (zeitnah) zur Verfügung stellt, da ich mir die jeweiligen Updates jederzeit selbst beschaffen und installieren kann, insbesondere wenn ich auf Open Source-basierende Komponenten setze.
  • Andererseits kann mir der Netzbetreiber auch keine Einstellungen oder Updates “aufzwingen” und damit womöglich meinen Anschluss oder bestimmte Funktionalitäten lahm legen.
  • Netzbetreibergeräte sind oft in den Funktionen beschnitten. Bei Unitymedia z. B. muss man für die Aktivierung des WLANs extra bezahlen!

Daher setze ich folgende diskrete Geräte ein: Continue reading Vodafone VDSL-100 mit diskretem Modem und Router

VPN-Probleme bei CGN/NAT444?

Diesen Artikel habe ich ursprünglich für unsere “Bürgerinitiative PRO Glasfaser” geschrieben. Da das Thema von allgemeinem Interesse sein dürfte veröffentliche ich ihn in leicht abgewandelter Form auch hier auf meinem Blog.


Uns haben mehrfach besorgte Interessenten angesprochen die von angeblichen “Problemen mit VPN beim Deutsche Glasfaser-Setup” gehört hatten.

Wir haben daraufhin selbst recherchiert und keine grundsätzlichen Probleme erkennen können, die auf Grund des Designs des DG-Setups zu erwarten sind.

Es handelt sich dabei um ein NAT444-Setup: Private IPv4-Adresse im Heimnetz (LAN), private IPv4-Adresse zwischen CPE (Router) und CGN sowie öffentliche IPv4-Adresse zwischen CGN und IPv4-Internet-Host. Es handelt sich nicht um Dual Stack-lite, da keine private IPv4-Adresse im LAN über IPv6 durch das CPE zum CGN getunnelt wird!

Solange “die IPv6-Migration” nicht beendet ist — sprich: Jeder Client weltweit kann IPv6 nutzen und jeder Host bietet seine Dienste ebenfalls per IPv6 an — sind Transitions-Techniken wie NAT444 von globaler Bedeutung. Daher gibt es einen eigenen RFC zu dem Thema “Einfluss von CGN auf Netzwerk-Anwendungen”: RFC-7021. Dieser RFC gibt keinerlei Hinweise dass es ein grundsätzliches Problem mit gängigen VPN-Anwendungen (NAT444-Szenario, VPN-Client im LAN, VPN-Gateway ausschließlich erreichbar über IPv4, aufgestellt in einer DMZ) geben könnte.

Wenn man (per Google) nach NAT444 sucht stößt man an prominenter Stelle auf diese Seite (die vor mehr als 4 Jahren erstellt wurde, also mittlerweile völlig veraltet ist!). Schon nach damaligem Stand ist die Seite als “dubios” zu bezeichnen.

Nach Aussage des Autors macht NAT444 “VPN” und “SSL” kaputt oder beeinträchtigt diese zumindest. In dieser Pauschalität ist die Aussage nicht sehr fundiert. Zum einen ist VPN nicht gleich VPN, es gibt diverse unterschiedliche Verfahren, die mit Sicherheit — wenn überhaupt — nicht alle gleichermaßen betroffen sind. Zum anderen ist SSL einfach nur eine Encryption Layer, die im Prinzip auf beliebige TCP-Ströme angewendet werden kann (das Protokoll bleibt aber TCP!). Wieso dieser TCP-Strom durch NAT444 beeinträchtigt werden soll erschließt sich mir nicht. Der Autor widerspricht sich mit seiner Aussage übigens selbst da er angibt, dass “Web” und “Mail” ohne Beeinträchtigung über NAT444 funktionieren sollen. Da aber auch bei Web-Anwendungen (HTTPS) und Mail-Anwendungen (SMTPS und POP3S/IMAP4S) “SSL” zum Einsatz kommt stellt sich die Frage wie das zusammen passt…

Um die Frage abschließend zu beleuchten besuchte ich am 26.06.2015 die “Deutsche Glasfaser”, um vor Ort in Heinsberg-Dremmen die beiden verbreiteten VPN-Protokolle “IPSec” (Cisco VPN Client mit XAuth) und SSL-VPN (Cisco AnyConnect) zu testen. Erwartungsgemäß konnte ich keinerlei Probleme mit den beiden o. g. VPN-Protokollen feststellen. Siehe auch diesen Artikel für weitere Infos über meinen Besuch.

AVG can’t get DNS Setup right

It seems that antivirus company AVG can’t get their DNS Setup right.

Today I spotted the below in syslog:

DNS format error from 204.193.144.47#53 resolving crashportal.avg.com/AAAA for client 127.0.0.1#34590: Name avg.com (SOA) not subdomain of zone crashportal.avg.com -- invalid response

So the AVG updater tried to contact via IPv6, as a record type of AAAA was requested, a host called crashportal.avg.com. To do so it had to “resolve” that hostname crashportal.avg.com to an IP address in order to submit a crash dump for a recent crash of their virus scanner (very trustworthy!), and the DNS resolver failed to resolve the IP address. So why is this?

Let’s see:

# dig -t AAAA crashportal.avg.com

; <<>> DiG 9.9.5-9-Debian <<>> -t AAAA crashportal.avg.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 21322
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

Huh? We can’t resolve this because our server failed? Let’s see what’s going on…

# dig -t SOA avg.com

; <<>> DiG 9.9.5-9-Debian <<>> -t SOA avg.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42124
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;avg.com.                       IN      SOA

;; ANSWER SECTION:
avg.com.                1160    IN      SOA     ns.grisoft.cz. domainadministration.avg.com. 2015061601 86400 3600 1209600 10800

;; AUTHORITY SECTION:
avg.com.                172607  IN      NS      a11-66.akam.net.
avg.com.                172607  IN      NS      a20-66.akam.net.
avg.com.                172607  IN      NS      a13-65.akam.net.
avg.com.                172607  IN      NS      a26-67.akam.net.
avg.com.                172607  IN      NS      a1-182.akam.net.
avg.com.                172607  IN      NS      a6-67.akam.net.

Ok, so the above quoted Akamai nameservers should be able to help… Let’s see:

# dig -t AAAA crashportal.avg.com @a11-66.akam.net.

; <<>> DiG 9.9.5-9-Debian <<>> -t AAAA crashportal.avg.com @a11-66.akam.net.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63788
;; flags: qr rd ad; QUERY: 1, ANSWER: 0, AUTHORITY: 3, ADDITIONAL: 4
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;crashportal.avg.com.           IN      AAAA

;; AUTHORITY SECTION:
crashportal.avg.com.    300     IN      NS      gtm-atl.avg.com.
crashportal.avg.com.    300     IN      NS      gtm-self.avg.com.
crashportal.avg.com.    300     IN      NS      gtm-tnt.avg.com.

;; ADDITIONAL SECTION:
gtm-atl.avg.com.        3000    IN      A       204.193.144.47
gtm-tnt.avg.com.        3000    IN      A       173.245.115.70
gtm-self.avg.com.       3000    IN      A       212.96.161.252

So the server was not authoritative to answer the request and pointed us to a different set of servers.

Note that the IP address from my error message (204.193.144.47) belongs to one of the nameservers mentioned above!

Ok, let’s ask that server:

# dig -t AAAA crashportal.avg.com @204.193.144.47

; <<>> DiG 9.9.5-9-Debian <<>> -t AAAA crashportal.avg.com @204.193.144.47
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47390
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;crashportal.avg.com.           IN      AAAA

;; AUTHORITY SECTION:
avg.com.                60      IN      SOA     gtm-tnt.avg.com. hostmaster.gtm-tnt.avg.com. 2015052909 10800 3600 604800 60

Why does the nameserver respond with an SOA record even though it’s supposed to be authoritative and was asked for AAAA? It’s not a delegation as — and this is exactly the error message — avg.com is not a subdomain of crashportal.avg.com. Duh!

In my humble opinion it is very disappointing if an IT security company cannot even get the basics right, such as DNS.

This issue reminded me of another similar issue I observed a while ago: Avira can’t get their DNS Setup right. And guess what? This was an antivirus company, too…

Avira can’t get their DNS Setup right

Since many months I’m seeing the following issue with Avira‘s DNS setup, and I’m thinking it’s extremely embarassing for a company working in IT Security not to even get the basics right… 🙁

This is what I’m seeing:

named[2597]: DNS format error from 89.146.248.46#53 resolving dl4.pro.antivir.de/AAAA for client 127.0.0.1#52127: Name avira-update.net (SOA) not subdomain of zone antivir.de -- invalid response

So what does that mean?

Let’s have a look at which nameservers Avira are using anyway:

$ dig -t ns antivir.de

;; ANSWER SECTION:
antivir.de.        3600    IN    NS    ns13.avira-ns.net.
antivir.de.        3600    IN    NS    ns10.avira-ns.de.
antivir.de.        3600    IN    NS    ns9.avira-ns.net.
antivir.de.        3600    IN    NS    ns12.avira-ns.de.
antivir.de.        3600    IN    NS    ns14.avira-ns.de.

;; ADDITIONAL SECTION:
ns10.avira-ns.de.    86400    IN    A    80.190.154.111
ns12.avira-ns.de.    86400    IN    A    89.146.248.46
ns14.avira-ns.de.    86400    IN    A    74.208.254.45

Ok, so 89.146.248.46 in the error message quoted above is indeed one of the nameservers for domain antivir.de.

So let’s look up the IPv6 address record (AAAA) for dl4.pro.antivir.de on the given nameserver:
$ dig @89.146.248.46 -t AAAA dl4.pro.antivir.de

;; AUTHORITY SECTION:
avira-update.net. 3600 IN SOA ns1.avira-ns.net. domains.avira.com. 2015010301 10800 3600 2419200 3600

WTF?!

Why are they returning a domain name that is not a subdomain of the original domain?! That’s an error.

And it’s especially embarassing as this is the update URL for Avira’s AntiVir product. Again remember we’re talking about a security firm here!

Router blockiert SMTP-Server-Port(s)

Vor einige Tagen kontaktierte mich eine Bekannte, deren Domain ich auf meinem Root-Server hoste. Sie sei gerade umgezogen und könne nun plötzlich keine Mails mehr senden, wohl aber abholen. Der Mailclient meldete “Kann den Server nicht kontaktieren”. Und nein, sie habe in ihrem Mailclient definitiv nichts umgestellt. 😉

Da “klingelte” es gleich bei mir. Ich frug sie, ob sie auch einen neuen Router erhalten hätte, was sie bejahte. Meine Vorahnung ging also möglicherweise direkt in die richtige Richtung.

Was meine Vorahnung war? Nun, wenn plötzlich nach Verwendung eines neuen Routers das Versenden von Mails nicht mehr möglich ist, das Abholen aber sehr wohl noch, dann liegt der Verdacht nahe dass der Router diese Verbindungen blockt. Allerdings war mir zunächst nicht klar wieso der Router dies tun könnte.

Bevor ich weitere Untersuchungen durchführte stellte ich zunächst einmal sicher, dass mein Exim-SMTP-Server auch tatsächlich ordnungsgemäß funktioniert. Danach verschaffte ich mir Remote-Zugriff auf ihren PC mit Hilfe des kostenlosen und sehr empfehlenswerten TeamViewer.

Zum Test der Verbindung wollte ich “händisch” per Telnet eine Verbindung zu meinem SMTP-Server herstellen. Der Telnet-Client war noch nicht installiert, so dass ich ihn erst nachinstallieren musste. Dann führte ich in einem Command Prompt folgenden Befehl aus:

telnet <Mailserver-Hostname> 587

Es gab eine Fehlermeldung der Art “Connection timed out.”

Das war für mich der Beweis, dass meine Theorie richtig war. Ich verschaffte mir also per Webbrowser Zugang zur Administrationsoberfläche des (Telekom-) Routers und fand dort auf Anhieb einen Bereich, in dem ausgehende Mailserver eingetragen werden können. Die Mailserver der großen Mailprovider waren dort bereits eingetragen. Ich fügte also meinen Mailserver hinzu, und unmittelbar nach Anwenden der geänderten Konfiguration konnte die Verbindung zu meinem Mailserver wieder hergestellt werden.

Warum aber sperrt der Router unbekannte SMTP-Server? Als ich die Liste mit explizit konfigurierbaren Mailserver sah, war es mir auf Anhieb klar, obwohl ich sowas bisher nicht gesehen hatte. Der Router versucht Spambots daran zu hindern, von infizierten Rechnern aus Mail zu versenden.

An sich ja keine schlechte Idee, aber warum wird der Besitzer nicht deutlich (z. B. durch einen roten Einleger im Karton) darauf hingewiesen, dass diese Sicherheitsfunktion standardmäßig aktiv ist und welche Wirkung sie hat? Ist das womöglich auch ein Versuch, kleine Provider zu sabotieren?!

Wie auch immer, der “Einsatz” dauerte etwa eine Viertelstunde, danach war meine Bekannte wieder glücklich. Vielleicht hilft dieser Artikel ja dem einen oder anderen, ein vergleichbares Problem zu lösen. Über Feedback würde ich mich freuen.

Firefox 29 “Sync” nightmare

The — as I later found out — completely revamped “Sync” feature in Firefox 29 caused me a lot of grief yesterday, and I wasted more than 3 hours due to it. :-(

The issue started after I had to set the system time back on one of my Macs which I hadn’t used for a couple of weeks, so the Firefox data on that machine was outdated and not in-sync with the other machines synced to the same Firefox Sync account. Not sure whether setting the date back was the root cause, but anyway… I suddenly noticed that I had old passwords on another machine, too. Obviously it had received them via Firefox “Sync” from said Mac.

So, what to do?

I first cleared the data stored in my Firefox Sync account by logging on to the old account management (https://account.services.mozilla.com/), to make sure that the outdated passwords do not propagate to more machines.

I then disassociated the machines that had already received the outdated passwords from Firefox Sync.

Afterwards I wanted to add the device back the same way I did when adding a new machine in the past. But it didn’t work as it used to work. No way I could display the sync code I needed to enter on the “master” machine. :-(

Continue reading Firefox 29 “Sync” nightmare

OpenWRT Quality-of-Service module caveat: speed limit

As I still have “issues” with my DSL line being extremely slow during certain times (especially between 18:30 and 23:00), I wanted to use USB tethering from my OpenWRT router to my Android LTE phone to enjoy the massive speed I have in our area (up to 90 MBit/s downlink and 70 MBit/s uplink, according to the Ookla Speedtest.Net).

So I configured the router according to the OpenWRT wiki. The internet connection did not come up immediately, and I couldn’t find out why, so as a last resort I rebooted the router. After I switched on USB tethering again on my mobile phone (which seems to be required each time you reboot the router since the mobile phone then loses the USB tethering connection), I suddenly had a working Internet connection.

However, for some reason the Internet speeds I was seeing in Ookla’s web browser-based speed test (which is a Flash applet) were very disappointing, around the same speeds I’m used to with my DSL line (14 MBit/s downlink, about 0.8 MBit/s uplink). I thought it might be an issue with USB tethering not working well in my build of OpenWRT (still r39582), so I tried USB tethering with my Mac (using HoRNDIS). I got the full speed I expected. So back to OpenWRT…

Then suddenly I suspected what might be going on: Since I had more or less exactly the same speed as my DSL connection (with the uplink of less 1 MBit/s being dramatically slower than what I should get via LTE) I thought about what could possibly limit the speed. And then I remembered that in the “Quality of Service” (QoS) module I configured the speeds of my DSL line (at the top of the page, in the Download speed (kbit/s) and Upload speed (kbit/s) fields). Could it be that these settings actually limit your speed to these values?!

I disabled QoS, and immediately thereafter I got the full LTE speed I expected.

So, another thing learnt.

I hope this helps people who might be in a similar situation…