domain-key

<virtual-mta-pool>

Тот же ключ подписи, объявленный на уровне пула
в конфигурации это строкаdomain-keyвнутри блока <virtual-mta-pool>
То же имя ещё 3:<domain-key-list>Global<virtual-mta><virtual-mta-pool>— часть из них другие настройки, часть та же самая
Одно объявление, которое достаётся каждому участнику

Та же строка, что и на уровне узла, объявленная внутри <virtual-mta-pool>. Определение — на общей странице; здесь важно, что меняет это место.

Пул раздаёт, а не делит. Объявление наследуется каждым участником пула: у всех адресов пула появляется один и тот же ключ. Это не «ключ пула» — это способ написать одно объявление вместо нескольких одинаковых.

Участник может переопределить. Если у самого <virtual-mta> есть своё объявление, оно сильнее пулового — как и всё, что задано ближе к месту отправки.

Главная ловушка — принимают пул за общую область. Ключ, объявленный здесь, оказывается у каждого адреса пула по отдельности. Для подписи это безразлично — ключ один и тот же, — но привычка «пул это общее» на других директивах стоит дорого: лимиты пула тоже раздаются каждому, а не делятся между всеми.
Что делает Хаб. Пулы использует, но ключи раскладывает по потокам: у каждого адреса отправки свой ключ, и объявление на уровне пула ему не нужно. Понадобится, если появятся пулы, где все адреса подписываются одинаково.
Рекомендуемые значения

Уместно, когда ключ у всех участников один. Тогда одно объявление вместо десятка одинаковых — прямая польза.

Не уместно, когда адреса подписываются по-разному. В этом случае объявления пишут в самих потоках.

Помните про приоритет. Объявление участника перекрывает пуловое, а не дополняет его.

Разделение «когда уместно» — наше. Из руководства здесь состав строки и то, что перечисленные в разделе пула директивы наследуются участниками.
Пример в конфигурации
# один ключ на весь пул — вместо объявления в каждом потоке
<virtual-mta-pool warm>
    domain-key s1, *, /etc/pmta/key.pem    virtual-mta mta1
    virtual-mta mta2
</virtual-mta-pool>
Объявление достанется и mta1, и mta2 — каждому своё, одинаковое. Если у одного из них есть собственное, победит оно.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается2 ошибки▶

Считают, что ключ объявлен «на пул»

§ 3.3.13

Чем чреватоОн объявлен каждому участнику. Для подписи разницы нет, но та же привычка на лимитах пула обходится дорого: они тоже раздаются каждому, а не делятся.
Как заметитьРассуждения о «ключе пула» в описании конфигурации.
Как правильноЧитать пуловые строки как «каждому участнику», а не «на всех».

Объявляют в пуле ключ, нужный одному адресу

наш опыт

Чем чреватоЕго получают все участники. Подписываться чужим ключом они не начнут — выбор идёт по домену отправки, — но набор ключей на узле разрастается, и ротация усложняется.
Как заметитьВ пуле объявлений больше, чем адресов отправки, которым они нужны.
Как правильноВ пуле держать только то, что общее для всех участников.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
domain-key <see-reference>
Значения
три значения через запятую — селектор, домен или звёздочка, путь к файлу либо ссылка на хранилище секретов
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<virtual-mta-pool>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Объявление наследуется каждым участником пула, а не действует на пул как на целое. Собственное объявление участника (<virtual-mta>) перекрывает пуловое; общие объявления уровня узла остаются запасным вариантом. Подхватывается по pmta reload.
Как проверить на узле
Действующий набор ключей у конкретного адреса печатает команда его настроек:
pmta show vmta-settings mta1 | grep -i domain-key
grep -i 'DKIM-Signature' /var/log/pmta/pmta.log | tail -5
Первая команда показывает значение после слияния — по нему и видно, досталось ли участнику пуловое объявление. Хаб на уровне пула ключи не объявляет.
В Хабе
Управляется
DNS → Ключи подписи
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Ротация адресов отправки