Voor de mensen die alleen op zoek zijn naar de oplossing: hij staat in de een-na-laatste paragraaf.

Sommige mensen beklimmen ijsbergen zonder hulpmiddelen, anderen basejumpen. Ik niet – ik maak mailservers. Ieder zijn hobby.

Voor een mailserver is niet zo veel nodig: de software is gratis; de hardware heb je meestal al staan (elke oude computer volstaat); en wie heeft er nu geen internetverbinding?

Opa vertelt
Vroeger was het heel gebruikelijk om zelf een mailserver te hebben, maar dan heb ik het over de tijd dat het niet heel erg gebruikelijk was om thuis een vaste internetverbinding te hebben (vast in tegenstelling tot dial-up met een modem). Toen internet via xDSL en kabel in opkomst kwamen, kregen meer mensen een vaste verbinding met een vast IP. Tegelijkertijd groeide daarmee het aantal machines die mailserver waren zonder het te weten: geïnfecteerd met malware. Dit resulteerde in enorme bergen spam. Op mijn zakelijke mailserver was op een bepaald moment 98% van alle inkomende mail spam.

Om te voorkomen dat je als spambot werd gebruikt, kon je antivirus en een firewall installeren maar vaak hadden mensen er zelf te weinig last van om er iets tegen te willen doen. Toen kwam Microsoft per Windows XP SP2 met de firewall die standaard aan stond en dat scheelde al een hoop. Later namen ook providers hun verantwoordelijkheid en sloten standaard poort 25 uitgaand op de apparatuur van hun eindgebruikers. Dit hielp nog beter.

Poort 25
Toen ik overstapte van XS4ALL naar UPC omdat me dat €600 in het jaar scheelde, kwam ik erachter dat UPC poort 25 uitgaand niet open had op mijn kabelmodem. Dat was jammer maar ik had nog zakelijke servers om mee te experimenteren. Na een poosje wilde ik het toch ook weer thuis doen dus vroeg ik UPC of ze mijn poort 25 uitgaand open wilden zetten.

Op mijn vraag via de site kreeg ik als standaard antwoord een reclamelink naar de website van UPC. Dus maar even gebeld.

-“Bedoelt u poortmapping?”
“Nee, ik bedoel uitgaand, niet inkomend.”
-“Oh, wilt u een firewall instellen?”
“Nee, ik wil uitgaand verkeer op mijn kabelmodem toestaan naar poort 25 op andere internetadressen. Dat is nu geblokkeerd.”
-“Wij blokkeren niks.”
“Jawel, dat kan ik zien als ik met telnet naar buiten ga.”
-“Even met mijn collega overleggen.”

-“Telnet ondersteunen wij niet.”
“Het gaat niet om telnet maar om mijn mailserver.”
-“Wilt u uw mail instellen?”
“Nee, een server draaien.”
-“U mag geen server draaien.”

Nou ja, je begrijpt dat het geen productief gesprek was. Na heel veel vijven en zessen trof ik toevallig iemand van de webcare op Twitter die mijn vraag begreep en poort 25 voor me open zette. Mijn mailserver kon in productie!

Overigens is het wel degelijk toegestaan een mailserver te draaien. Wat niet mag, is de infrastructuur overbelasten. Dat dit vaak op hetzelfde neerkomt betekent niet dat dit per definitie zo is.

Geen prutser
Natuurlijk ben ik geen compléte prutser en had ik op mijn firewall ingesteld dat poort 25 uitgaand op mijn LAN geblokkeerd was behalve voor mijn mailserver. Ook heb ik andere machines op mijn netwerk zo ingesteld dat er geen dagelijks werk wordt verricht met accounts met adminrechten en gebruik ik port mirroring op mijn switch zodat ik met Wireshark kan controleren of er geen botnetactiviteit plaatsvindt op mijn netwerk. Ik wil niet op blacklists terechtkomen met mijn IP-adres.

Kortom: ik ga verantwoordelijk met mijn internetverbinding om.

Nieuwe modem, nieuwe problemen
Dit ging een jaar of twee goed en toen ging mijn kabelmodem kapot. De internetverbinding bleef wegvallen. Kan gebeuren, dus Ziggo gebeld, zoals UPC inmiddels heette. Geen probleem, nieuwe kabelmodem gekregen en de oude moest terug.

Eerst maar eens de nieuwe aansluiten met een kruiskabeltje zodat mijn oude niet meteen gedisabled wordt. Hij werkte en had een poortforwardingfunctie dus ik sloot ‘m aan in mijn productienetwerk. Toen had Ziggo een verrassing voor me.

mailwtf

Surprise!

Onder andere poort 25 wordt actief geblokkeerd.

Nou ja, lang verhaal kort: je kan deze kabelmodem in “modemmodus” en in “routermodus” zetten. Default is router (met poortmapping, firewall, wifi, guest wlan, enz.) en “modemmodus” is eigen bridge mode: alles 1-op-1 doorgeven over fysieke ethernetpoort 1. Best.

Inkomende en uitgaande mail werkte weer \o/

Hostname
Maar omdat ik een ander IP-adres had gekregen en de dynamische hostname doorgaans is gebaseerd op het publieke IP-adres (bijvoorbeeld 123-456-12-34.dynamic.upc.nl) moest ik in mijn Postfix-installatie ook even de waarde van myhostname invullen.

Myhostname is de waarde in de Postfix-config waarin je aangeeft wat je hostname is. Deze waarde (je publieke hostname) wordt meegestuurd met de uitgaande mail en ontvangende mailservers kunnen dan die hostname resolven en controleren of het IP-adres dat ze vinden overeenkomt met het IP-adres waar de mail vandaan komt. Komen die adressen overeen dan is er niks aan de hand maar komen ze niet overeen dan is de kans groot dat de afzender vervalst is en wordt de mail als spam gemarkeerd, of in ieder geval wordt de waarschijnlijkheid dat de mail spam is, opgeschroefd. Met andere woorden: klopt je hostname niet dan zal het overgrote deel van de wereld jouw mail als spam behandelen.

Ook geen probleem: even de hostname aanpassen. Die vind je door een nslookup te doen naar je IP-adres:

mailwtf2

De waarde achter ‘name’ is je hostname en die moet in Postfix. Daar kwam de volgende verrassing:

nslookup

In plaats van een hostname te resolven kreeg ik de melding dat deze überhaupt niet gevonden werd. Nu is het gebruikelijk, normaal en voor iedereen nuttig dat een internetprovider hostnames uitdeelt, zeker als de adressen dynamisch zijn; je hebt dan een ankerpunt. Dit is geen nieuwe uitvinding: hostnames zijn al gebruikelijk zo lang als het internet bestaat en in diverse vormen daarvóór al. Ik ken geen providers die geen hostnames uitdelen.

Dat was lastig want wat doe je in zo’n geval? Geen hostname invullen leidt tot foutmeldingen in Postfix en je mail wordt gegarandeerd als spam aangemerkt. Je moet een hostname invullen.

Even de kabelmodem resetten dan maar. In routermodus misschien? Hm, nee. Terug naar modemmodus. En mijn eigen router. Maar helaas zonder resultaat. Dus even naar de helpdesk gebeld, waar ik te woord werd gestaan door iemand die de vraag denk ik niet goed begreep.

-“Wij ondersteunen geen hostnames.”
“Eh… Ik heb er altijd een van jullie gekregen.”
-“Wij ondersteunen dat niet. Hebben we ook nooit gedaan.”
“Toch wil ik er graag eentje hebben. Kan je me vertellen hoe ik eraan kan komen?”
-“Niet via ons. Goeienavond.”
“Ja, wacht nou even. Kan je misschien iemand zoeken die me verder kan helpen?”
-“Nee, meneer. Wij doen dat niet. Zoek het maar op op internet, dat moet ik zelf ook doen.”

En zo ging het gesprek nog even door. De helpdesker begreep de vraag niet en verviel snel tot het riedeltje “dat ondersteunen wij niet”. Toen de helpdesker steeds grover werd en begon te schreeuwen dat ik het zelf maar uit moest zoeken heb ik het opgegeven. Ik doe zelf ook al vijftien jaar helpdesk en weet dat je soms (in jouw ogen) onredelijke vragen krijgt maar schreeuwen tegen je klanten is nooit de oplossing. Ik heb nog nooit zo’n onbeschofte helpdesker meegemaakt als bij Ziggo.

Hoe zou de snelheid bij XS4ALL zijn?

mailwtf3

Crap: 2Mb up max. Dat is niet genoeg voor mijn Nextcloud-service en met inmiddels veertien apparaten in huis die aan de internetlijn lurken is 38Mb down ook niet echt luxe.

Webcare
Misschien kan de Webcare me helpen. Public shaming is het nieuwe vriendelijk verzoeken om te helpen want je helpt klanten niet omdat je goed bent maar omdat je bij anderen de indruk wilt wekken dat je goed bent.

De Webcare was erg vriendelijk en beloofde dat iemand me zou bellen. Degene die belde begreep de vraag niet goed en zou erop terugkomen. Het werd een soort loopje:

10 beloof terug te bellen
20 sleep 2
30 goto 10

Omdat het zo lang duurde en ik niet zo lang zonder mailserver wou zitten (en omdat het heel cool is) had ik in de tussentijd een server gehuurd bij Strato. Met vast IP-adres, met een normale hostname. Alles werkte daarop meteen, maar het ding kost €9 per maand. Geen rib uit m’n lijf maar wel een beetje jammer dat dit gepruts van Ziggo me €108 per jaar bovenop mijn normale abonnementskosten kost.

Dm’s naar de Webcare zonder dat de Webcare zélf eerst iets vroeg, werden standaard genegeerd. Alleen publiekelijk klagen kon een reactie uitlokken. Die was dan persoonlijk en vriendelijk, dat wel, maar ik vind het jammer dat het zo overduidelijk is dat het echt alleen maar om het beperken van imagoschade gaat in plaats van het fatsoenlijk helpen van je klanten.

Consumentenbond
Behalve van Ziggo ben ik ook al sinds jaar en dag lid van de Consumentenbond. Ik had een consumentenkwestie dus heb ik de Consumentenbond gevraagd te bemiddelen of juridisch advies te leveren. Hoewel ook de Cobo de expertise niet paraat om de vraag te begrijpen, gaf deze wel aan mee te willen helpen met bemiddeling en eventueel juridische bijstand.

Na telefonisch overleg met een vriendelijke meneer van de Cobo wist ik waar ik aan toe was. Dat heb ik (natuurlijk publiekelijk want ik wou wel graag een reactie) aan de Ziggo Webcare medegedeeld.

Die avond was er een oplossing.

De oplossing
Een vriendelijke helpdesker belde me en legde me het volgende uit: vanwege het tekort aan IPv4-adressen had Ziggo besloten een range adressen die eigenlijk voor voip bedoeld was, toe te wijzen aan kabelmodems. Voip-client hebben (blijkbaar) geen hostname nodig dus aan deze adressen waren geen hostnames gekoppeld. Mijn kabelmodem werd in een andere pool geplaatst, kreeg uit die range een adres en het probleem was opgelost.

Eind goed, al goed? Nou, nee: hoewel het directe technische probleem opgelost is en de Webcare- en helpdeskmedewerker die me uiteindelijk geholpen hebben dit vriendelijk en zeer professioneel hebben gedaan, zitten we wel met een provider die blijkbaar alleen normale service kan verlenen als je dreigt met juridische stappen. Net als bij antibiotica is dat een onwenselijke situatie: als het te vaak voorkomt dan treedt er resistentie op en is Ziggo straks ook dáármee niet meer tot service te bewegen. Een zeer kwalijke zaak dus. Zodra er een andere provider is die op mijn adres een goeie snelheid kan bieden, ben ik weg bij Ziggo.