Navigatie overslaan.
Start

Mail redundancy

Dus je wil een mailserver opzetten?
Hopelijk niet, hopelijk wil je er minstens 2.

Om mailexchangers op een redundante en loadbalancing manier op te zetten, zijn er 2 mogelijkheden. (Er zijn er meer, maar deze zijn eigelijk varianten op een van deze principes.)

Hetgeen je kiest, hangt af van je voorkeur, en die hangt natuurlijk af van hetgeen jij belangrijk vindt.
DNS is zeer belangrijk bij het opzetten van een redundant email infrastructuur, maar dat wist je al, hoop ik.

Multiple MX records

Je definieert je DNS settings als volgt:

|knudde.be.         IN   MX 10   mail1.knudde.be.
|knudde.be.         IN   MX 10   mail2.knudde.be.
|
|mail1.knudde.be.   IN   A       1.1.1.1
|mail2.knudde.be.   IN   A       2.2.2.2

Beide MX records hebben dezelfde prioriteit (10) om aan loadbalancing te doen.

Indien de prioriteit niet hetzelfde is (tussen 0 en 65535), dan wordt de server met de laagste prioriteit het eerst geprobeerd, als dit niet lukt de volgende in de rij.
(De prioriteiten zijn louter relatief ten opzichte van de andere. 0 en 1 geeft exact hetzelfde resultaat van 10 en 20, of 5 en 1000, enz...)

Verschillende prioriteiten zijn erg handig indien de infrastructuur niet hetzelfde is voor beide servers. (Snelle en trage server, of snelle en trage internet verbinding, of duurder en goedkoper per MB, enz...)

Maar hoe worden de servers nu geprobeerd als je dezelfde prioriteit configureerd?
Zeer goede vraag, en het antwoord is: Dat weet je niet.

Als je 2 MX records in de DNS server hebt met dezelfde prioriteit, dan ligt het in de eerste plaats aan de instellingen van de DNS server, meerbepaald de "rrset-order", in welke volgorde deze weergegeven worden.
Standaard is dit round-robin, maar je kan dit wijzigen.

Bijvoorbeeld, in BIND >9.2.3

rrset-order {type MX order random;};

Maar ik zei net dat je dat niet kon weten, dus is dit niet het definitieve antwoord.

Naast de volgorde van hoe de DNS server iets weergeeft, moet je ook weten wat een mailserver, die mail wil zenden, ermee doet.

Voor sommige mailservers, zoals Microsoft Exchange, is er totaal geen documentatie over hoe deze servers mail afhandelen.

Voor deftige mailservers gelukkig wel en de meeste mailservers nemen een willekeurig MX record indien ze met deze sistuatie geconfronteerd worden.

Hieruit volgt dat het eigenlijk totaal niet uitmaakt in welke volgorde de DNS server ze weergeeft.

Merk op dat in dit voorbeeld alle mailservers een verschillende naam hebben. (mail1, mail2, enz...)
Dit is ook in de configuratie van de mailserver zo.

Multiple A records met multiple IPs

Je DNS ziet er uit als volgt:

|knudde.be.        IN   MX 10   mail.knudde.be.
|
|mail.knudde.be.   IN   A       1.1.1.1
|                  IN   A       2.2.2.2

Aangezien er hier maar 1 MX record is, heeft de zendende server geen keuze, hij zal dit MX record gebruiken.

Maar welk IP address er uiteindelijk gebruikt gaat worden hangt in dit geval voor 100% af van de volgorde waarin de DNS server ze weergeeft, aangezien (alle?) SMTP servers deze volgorde respecteren. (Of toch zouden moeten.)
In deze situatie speelt de "rrset-order" van de DNS server dus wel een rol. Dit is dus het tegenovergestelde van het bovenstaande geval.

Merk op dat in dit geval alle mailservers exact dezelfde (publieke) naam hebben, nl. "mail.knudde.be".
Dit kan het opzetten van servers vereenvoudigen, aangezien ze allen exact dezelfde configuratie kunnen gebruiken.