Где живёт запись
Каждый адрес, маршрутизируемый на ваш инстанс, имеет редактируемую PTR-запись. Панель показывает их в разделе инстанса, по одной строке на адрес. API предоставляет то же самое:
curl -s https://paragonvps.com/api/v1/instances/<instance-id>/addresses -H "Authorization: Bearer $Paragon_TOKEN" | jq -r '.[].ptr'Установка:
curl -s -X PUT https://paragonvps.com/api/v1/addresses/<address-id>/ptr -H "Authorization: Bearer $Paragon_TOKEN" -H "Content-Type: application/json" -d '{"ptr":"mail.example.com"}'Прямая запись должна существовать сначала
PTR, указывающий на имя без соответствующей A или AAAA записи, хуже, чем отсутствие PTR вообще. Принимающие почтовые серверы расценивают это несоответствие как сигнал, и некоторые отклоняют соединение на основании этого. Опубликуйте прямую запись, подтвердите, что она резолвится, затем установите PTR.
dig +short mail.example.com A
dig +short mail.example.com AAAAЗатем проверьте, что пара согласуется в обоих направлениях:
dig +short -x <ipv4>
dig +short -x <ipv6>dig -x собирает имя in-addr.arpa или ip6.arpa за вас, что избавляет от ручного обращения тридцать двух нибблов и от ошибки в одном из них.
Распространение
Наши авторитетные зоны применяют изменение в течение примерно минуты. Дольше занимает негативный кэш: любой резолвер, который запрашивал PTR до того, как вы его установили, может хранить пустой ответ в течение минимума SOA, который для обратных зон составляет час. Ни мы, ни вы не можем это сократить, и повторный запрос только подтвердит это.
IPv6
Роутed /64 содержит больше адресов, чем вы когда-либо назовёте, и панель не предложит вам текстовое поле для каждого. Два рабочих подхода:
- Установите PTR на отдельных адресах, которые вы реально используете. Большинству нужен ровно один, для отправителя почты.
- Попросите делегировать зону
ip6.arpa, покрывающую ваш /64, вашим собственным DNS-серверам, после чего вы сможете генерировать что угодно. Делегирование — это тикет, занимает около дня и требует двух DNS-серверов, уже отвечающих за зону.
Особенности почты
Исходящий порт 25 закрыт на новых аккаунтах. Обратитесь, укажите, что отправляет инстанс и примерно сколько, и мы его откроем. Проверка существует, потому что открытые релеи — одна из трёх вещей, которые acceptable use policy запрещает прямо.
Когда порт открыт, четыре строки должны совпадать: имя отправляющего хоста, PTR, имя HELO и то, что разрешает ваша SPF-запись. Сделав HELO идентичным PTR, вы устраняете наиболее частую причину мягкого отклонения.
swaks --to [email protected] --server localhost --helo mail.example.comКогда не применяется
Три причины в порядке их возникновения:
- Прямая запись отсутствует, ошибочна или ещё не распространилась.
- Адрес, который вы отредактировали, принадлежит другому инстансу, а не тому, который отправляет трафик.
- Ваш демон привязывается к другому адресу в /64, чем тот, на который вы установили PTR.
Третью легко пропустить и легко проверить:
ip -brief addr
ss -tlnpЕсли исходный адрес в исходящем соединении не тот, что с вашим PTR, привяжите демон явно, а не надейтесь, что ядро выберет адрес, который вы имели в виду.