Konfiguration af Postfix og OpenDKIM på FreeBSD med flere domæner

(Last Updated On: 20. oktober 2020)

Denne konfiguration er udført på FreeBSD 9.0, hvor OpenDKIM håndterede et enkelt domæne. Her skulle tilføjes et domæne mere, og det er hvad jeg har beskrevet herunder. Jeg har således ikke selv installeret OpenDKIM og tilhørende milter, så den del er ikke med.

DISCLAIMER: Dette og andre indlæg på bloggen er primært noter til mig selv om emner jeg kun sjældent beskæftiger mig med, og som derfor er rare at kunne vende tilbage til en anden gang.

Når OpenDKIM kun håndterer eet domæne, er det som regel konfigureret således i konfigurationsfilen:

Disse 3 værdier, erstatter vi nu med KeyTable og SigningTable som vil henvise til filer der indeholder alle de domæner OpenDKIM skal signere mail for. Du kan derfor kommentere de 3 linier ved at smide en havelåge (#) foran.

Opret en folder til dine nøgler … medmindre du allerede har gjort dette tidligere.

Generer en privat og en offentlig nøgle pr domæne der skal tilføjes

Det er vigtigt at rettighederne på nøglerne er så restriktive som muligt. OpenDKIM tjekker dem, og hvis de ikke er korrekte, vil du se fejl i din maillog:

Opret filer til KeyTable og SigningTable:

/var/db/opendkim/keytable:

domain1key = valgfrit navn som vi henviser til fra signingtable filen
smtp = valgfri selektor som skal bruges i DNS senere

/var/db/opendkim/signingtable:

Åben din OpenDKIM konfigurationsfil:

KeyTable og SigningTable er rimelig selvforklarende. Derudover har vi angivet InternalHosts hvor du i CIDR notation angiver de værter som OpenDKIM skal signere mail for. Socket bestemmer hvilken port OpenDKIM lytter på.

Det er i mit tilfælde GratisDNS der håndterer DNS for domænerne. Under primær DNS for domænerne lægges den offentlige nøgle ind som TXT…. og når du er igang, kan du lige så godt smide spf på også. Spf er nemt, for du skal intet installere eller konfigurere på din server, blot tilføje spf i TXT der skal oprettes.
Husk også at sætte en kort TTL for domænerne mens du tester.

Indsæt den offentlige nøgle hvor du ser yourPublicKeyHere i ovenstående.

Du kan med fordel sætte t parameteren til “y” mens du tester (t=y) … og når det virker ændre det til t=s. Andre DNS servere ved således at de foreløbig skal ignorere din offentlige DKIM nøgle.

Nu kan du teste at DNS returnerer den offentlige nøgle korrekt. Da andre DNS servere muligvis ikke har fået informationen endnu, bør du forespørge din DNS server direkte:

Når DNS informationerne har spredt sig til verdens andre DNS servere, kan du teste at din private nøgle matcher den offentlige:

Genstart OpenDKIM og Postfix:

KILDE: http://opendkim.org/opendkim-README

Husk, hvis det nye domæne ikke serviceres fra samme vært som de eksisterende, skal du også tilføje ip adressen i Postfix main.cf under mynetworks.

I postfix er opendkim konfigureret i main.cf

… og master.cf