Модул 5 · 5.1
Reverse DNS и Вашият сървър за изпращане
Модул 5: Репутация и големите доставчици · Време за четене: 9 минути
Учебна цел: След този урок ще можете да обясните защо IP адресът на сървъра, който изпраща Вашата поща, трябва да има коректен reverse DNS, да установите кой е този сървър при Вас, и да проверите дали посоката натам и обратно съвпадат.
Основни понятия: сървър за изпращане, PTR запис, forward-confirmed reverse DNS (FCrDNS), име на HELO/EHLO, генерично име, споделен хостинг, собствен сървър (VPS), собственик на IP блока
Кой сървър всъщност изпраща Вашата поща?
В модул 4 стана дума за Вашия домейн: SPF, DKIM и DMARC се намират в DNS записите на example.com. В този модул разглеждаме нещо различно: сървъра, който доставя Вашата поща до получателя. Този сървър има IP адрес, и получателите оценяват този адрес отделно от Вашия домейн.
Кой сървър е това, зависи от начина, по който изпращате поща:
| Как изпращате поща | Кой управлява сървъра за изпращане |
|---|---|
| Пощенска програма със SMTP сървъра на Вашия хостинг пакет | Вашата хостинг компания |
| Microsoft 365, Google Workspace, друга пощенска услуга | Тази пощенска услуга |
| Услуга за бюлетини, счетоводен софтуер, платформа за онлайн магазин | Тази услуга (или услуга, наета от нея) |
| Уебсайт, който влиза в пощенската Ви кутия чрез SMTP | Вашата хостинг компания или пощенска услуга |
| Собствен пощенски сървър на VPS или в офиса | Вие самите (а за PTR: собственикът на IP адреса) |
IP адресът на сървъра за изпращане можете да намерите в кополовките на писмо, което сте изпратили до себе си или до друг адрес (урок 1.5). Погледнете най-горния ред Received:, добавен от получаващия сървър. В него стои нещо като:
Received: from smtp.hosting.example (smtp.hosting.example [192.0.2.25])
by mx.example.net with ESMTPS id 4f2a...Адресът в квадратните скоби, 192.0.2.25, е IP адресът, с който изпращащият сървър се е свързал. Името пред него (smtp.hosting.example) е името, което получателят е открил за този адрес чрез reverse DNS.
Reverse DNS накратко
Reverse DNS свързва IP адрес обратно с име, чрез PTR запис. Основите научихте в курса по DNS (урок 4.6): записът не се намира в зоната на Вашия домейн, а в reverse зоната на IP адреса, която принадлежи на страната, управляваща съответния IP блок.
За имейла са важни три неща:
- Има PTR. IP адрес без reverse DNS изглежда като произволна машина в интернет. Gmail отказва такава поща със съобщение
550 5.7.25 ... the sending IP address doesn't have a PTR record. - Името сочи обратно към същия адрес. IP адресът
192.0.2.25има PTRsmtp.hosting.example, аsmtp.hosting.exampleима A запис192.0.2.25. Това се нарича forward-confirmed reverse DNS (FCrDNS). Gmail, Yahoo и T-Online изрично споменават това в своите изисквания. - Името изглежда като пощенски сървър. Име като
192-0-2-25.dsl.provider.exampleилиhost25.dynamic.provider.exampleиздава домашна или клиентска връзка. Спам филтрите начисляват точки за това, или направо отказват връзката.
За IPv6 важи същото отново. Ако сървър изпраща поща чрез IPv6, тогава и IPv6 адресът трябва да има PTR и да сочи обратно чрез AAAA запис. Сървър, който е наред при IPv4, но не и при IPv6, среща проблеми особено при Gmail: Google посочва липсващ IPv6 PTR като причина за „IPv6 authorization error“.
Името HELO
Когато сървър се свързва, той се представя с EHLO (или по-старото HELO) и име (урок 1.2). RFC 5321 казва, че това трябва да е пълното име на сървъра. На практика получателите проверяват дали това име:
- е истинско, съществуващо име (не
localhost, не голи IP адреси, не име, което не фигурира в DNS); - съвпада с reverse DNS, или поне принадлежи на същия домейн.
При хостинг пакет или пощенска услуга това се урежда от администратора. Ако сами управлявате пощенски сървър, настройвате името HELO в пощенския си софтуер (в Postfix това се нарича myhostname) и се грижите това име, PTR записът и A записът да съвпадат.
Споделен хостинг: PTR не трябва да е Вашият домейн
Често задаван въпрос: „Нали reverse DNS трябва да е mail.example.com, защото това е моят домейн?“ Не. При споделен хостинг и при големи пощенски услуги един сървър изпраща поща за стотици или хиляди домейни. IP адресът може да има само един PTR, и той съдържа името на самия сървър, например server12.hosting.example.
Това е нормално. Получателите проверяват дали PTR съществува, сочи обратно и не е генеричен. Те не проверяват дали Вашето собствено име на домейн присъства в него. Връзката между Вашия домейн и сървъра се установява чрез SPF (сървърът е включен във Вашия SPF) и DKIM (сървърът подписва от името на Вашия домейн).
При WebOké например това е уредено по следния начин: сървърите на даден хостинг пакет имат reverse DNS с името на самия сървър, под webawere.nl, което от своя страна също сочи обратно. При други хостинг компании и пощенски услуги работи по подобен начин, с техните собствени имена на сървъри.
Собствен сървър: какво трябва да уредите Вие?
Ако изпращате поща директно от собствен сървър, например VPS с онлайн магазин или собствен пощенски сървър, тогава Вие самите сте подателят и трябва да уредите повече неща:
- Изберете име, например
mail.example.com. - Създайте A запис (и AAAA запис) за това име, сочещ към IP адреса на сървъра, в DNS записите на Вашия домейн.
- Поискайте PTR от доставчика на сървъра. Обикновено в клиентския панел има поле „Reverse DNS“ или „rDNS“. Там въвеждате същото име.
- Настройте името HELO на пощенския си софтуер на същото име.
- Поставете IP адреса в SPF записа (
ip4:иip6:) и активирайте DKIM в пощенския си софтуер. - Проверете дали изходящ порт 25 е отворен. Много доставчици го затварят по подразбиране, за да предотвратят злоупотреба; тогава трябва да помолите да бъде отворен, или да изпращате чрез relay на Вашия доставчик, или чрез услуга за изпращане.
Пощенски сървър на обикновена домашна или офис интернет връзка почти винаги е лоша идея. Тези адреси често фигурират в списъци с „адреси на крайни потребители“ (като Policy Block List на Spamhaus, урок 5.2), PTR обикновено не можете да изберете сами, а T-Online изрично изисква такива системи да изпращат чрез relay на подходящ доставчик.
Проверка
С команден прозорец (курс по DNS, урок 8.2):
dig -x 192.0.2.25 +short
smtp.hosting.example.
dig A smtp.hosting.example +short
192.0.2.25Ако при втория въпрос се върне същият адрес, значи FCrDNS е наред. При IPv6 правите същото с dig -x 2001:db8::25 и dig AAAA.
Можете също да проверите как го е видял получателят. В кополовките получаващият сървър поставя намереното от него име в скоби след from. Ако там стои unknown, значи не е намерил PTR. Някои сървъри добавят и собствена проверка, като iprev=pass в реда Authentication-Results: (RFC 8601).
Обобщение
- Сървърът за изпращане е сървърът, който доставя Вашата поща до получателя. Получателите оценяват неговия IP адрес отделно от Вашия домейн.
- Този IP адрес се нуждае от PTR, който сочи обратно към същия адрес (FCrDNS), както за IPv4, така и за IPv6, с име, което не е генерично.
- Името HELO трябва да е съществуващо име, което съвпада с PTR.
- При споделен хостинг и пощенски услуги в PTR стои името на сървъра, не Вашият домейн. Това е нормално.
- При собствен сървър сами уреждате име, A/AAAA, PTR (чрез Вашия доставчик), HELO, SPF и DKIM.
Тест
Задача
Задача Z5.1: Сървърът за изпращане на Вашия собствен домейн. Изпратете писмо от собствения си адрес до друг свой адрес (например Gmail или Outlook.com адрес) и отворете кополовките. Намерете IP адреса на сървъра, доставил писмото, PTR името на този адрес, и попълнете дали името сочи обратно към същия адрес (да/не). Ако нямате собствен домейн, използвайте IP адреса на пощенския сървър mx00.t-online.de. Програмата извлича PTR и A/AAAA записа на живо и ги сравнява.
Допълнително четене
Стъпките в тези статии важат за панелите на WebOké; при други доставчици работи по сходен начин.
- Изпращане на имейли от Вашия VPS и настройка на reverse DNS
- Безплатен курс по DNS 4.6: Reverse DNS (PTR): от номер обратно към име
- Как се изпращат имейлите / SMTP
- RFC 5321 (SMTP), параграф 4.1.1.1 относно името EHLO; RFC 8601 относно кополовката Authentication-Results
