Для настройки DKIM в Cloudflare с почтовым сервером Postfix на Ubuntu выполните следующие шаги. Это позволит подписывать исходящие письма и повысить их доставляемость.
---
### 1. Установите OpenDKIM на Ubuntu
OpenDKIM — инструмент для создания и проверки DKIM-подписей.
```bash
sudo apt update
sudo apt install opendkim opendkim-tools
```
---
### 2. Настройте OpenDKIM
1. **Создайте директорию для ключей DKIM:**
```bash
sudo mkdir /etc/postfix/dkim
sudo chown opendkim
pendkim /etc/postfix/dkim
cd /etc/postfix/dkim
```
2. **Сгенерируйте DKIM-ключи:**
Замените `example.com` на ваш домен и `default` на имя селектора (например, `mail`).
```bash
sudo opendkim-genkey -s default -d example.com
```
Это создаст два файла:
- `default.private` — приватный ключ.
- `default.txt` — публичный ключ для DNS.
3. **Настройте файлы OpenDKIM:**
- Отредактируйте `/etc/opendkim.conf`:
```bash
sudo nano /etc/opendkim.conf
```
Убедитесь, что в файле есть следующие строки:
```
Domain example.com
KeyFile /etc/postfix/dkim/default.private
Selector default
Socket inet:8891@localhost
```
- Создайте файлы для подписывания:
```bash
sudo nano /etc/opendkim/SigningTable
```
Добавьте:
```
*@example.com default._domainkey.example.com
```
```bash
sudo nano /etc/opendkim/KeyTable
```
Добавьте:
```
default._domainkey.example.com example.com:default:/etc/postfix/dkim/default.private
```
```bash
sudo nano /etc/opendkim/TrustedHosts
```
Добавьте:
```
127.0.0.1
localhost
example.com
```
4. **Перезапустите OpenDKIM:**
```bash
sudo systemctl restart opendkim
sudo systemctl enable opendkim
```
---
### 3. Интеграция OpenDKIM с Postfix
1. Отредактируйте файл конфигурации Postfix:
```bash
sudo nano /etc/postfix/main.cf
```
Добавьте следующие строки:
```
smtpd_milters = inet:localhost:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
```
2. Перезапустите Postfix:
```bash
sudo systemctl restart postfix
```
---
### 4. Добавьте DKIM-запись в Cloudflare
1. **Получите публичный ключ:**
Откройте файл `default.txt`:
```bash
cat /etc/postfix/dkim/default.txt
```
Вы увидите что-то вроде:
```
default._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD..."
```
2. **Добавьте TXT-запись в Cloudflare:**
- Войдите в панель управления Cloudflare.
- Выберите ваш домен.
- Перейдите в раздел **DNS** → **Records** → **Add Record**.
- Настройте запись:
- **Type**: TXT
- **Name**: `default._domainkey`
- **Value**: Скопируйте значение из `default.txt`, убрав кавычки и пробелы, например:
```
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD...
```
- **TTL**: Auto
- **Proxy status**: DNS only (отключите прокси, если включено).
- Сохраните запись.
---
### 5. Проверьте работу DKIM
1. **Отправьте тестовое письмо:**
Используйте команду для отправки письма:
```bash
echo "Test" | mail -s "DKIM Test" [email protected]
```
2. **Проверьте подпись DKIM:**
- Используйте онлайн-инструменты, такие как [DKIM Key Checker](https://protodave.com) или [MXToolbox](https://mxtoolbox.com/dkim).
- Проверьте заголовки полученного письма (например, в Gmail: «Показать оригинал» → ищите `DKIM-Signature`).
3. **Убедитесь, что DNS-запись активна:**
Выполните проверку DNS:
```bash
dig txt default._domainkey.example.com
```
---
### 6. Дополнительно: Настройка SPF и DMARC
Для полной защиты рекомендуется настроить SPF и DMARC:
- **SPF-запись** (пример):
```
Type: TXT
Name: @
Value: v=spf1 a mx ip4:ВАШ_IP ~all
```
- **DMARC-запись** (пример):
```
Type: TXT
Name: _dmarc
Value: v=DMARC1; p=none; rua=mailto:[email protected];
```
---
### Источники
- Настройка OpenDKIM:[](https://fornex.com/ru/help/dkim-postfix/)[](https://www.dmosk.ru/instruktions.php?object=dkim-postfix)
- Добавление записей в Cloudflare:[](https://powerdmarc.com/ru/cloudflare-dmarc-spf-dkim-setup/)
- Интеграция с Postfix:[](https://maileroo.com/blog/configure-dkim-postfix-ubuntu/
---
### 1. Установите OpenDKIM на Ubuntu
OpenDKIM — инструмент для создания и проверки DKIM-подписей.
```bash
sudo apt update
sudo apt install opendkim opendkim-tools
```
---
### 2. Настройте OpenDKIM
1. **Создайте директорию для ключей DKIM:**
```bash
sudo mkdir /etc/postfix/dkim
sudo chown opendkim
cd /etc/postfix/dkim
```
2. **Сгенерируйте DKIM-ключи:**
Замените `example.com` на ваш домен и `default` на имя селектора (например, `mail`).
```bash
sudo opendkim-genkey -s default -d example.com
```
Это создаст два файла:
- `default.private` — приватный ключ.
- `default.txt` — публичный ключ для DNS.
3. **Настройте файлы OpenDKIM:**
- Отредактируйте `/etc/opendkim.conf`:
```bash
sudo nano /etc/opendkim.conf
```
Убедитесь, что в файле есть следующие строки:
```
Domain example.com
KeyFile /etc/postfix/dkim/default.private
Selector default
Socket inet:8891@localhost
```
- Создайте файлы для подписывания:
```bash
sudo nano /etc/opendkim/SigningTable
```
Добавьте:
```
*@example.com default._domainkey.example.com
```
```bash
sudo nano /etc/opendkim/KeyTable
```
Добавьте:
```
default._domainkey.example.com example.com:default:/etc/postfix/dkim/default.private
```
```bash
sudo nano /etc/opendkim/TrustedHosts
```
Добавьте:
```
127.0.0.1
localhost
example.com
```
4. **Перезапустите OpenDKIM:**
```bash
sudo systemctl restart opendkim
sudo systemctl enable opendkim
```
---
### 3. Интеграция OpenDKIM с Postfix
1. Отредактируйте файл конфигурации Postfix:
```bash
sudo nano /etc/postfix/main.cf
```
Добавьте следующие строки:
```
smtpd_milters = inet:localhost:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
```
2. Перезапустите Postfix:
```bash
sudo systemctl restart postfix
```
---
### 4. Добавьте DKIM-запись в Cloudflare
1. **Получите публичный ключ:**
Откройте файл `default.txt`:
```bash
cat /etc/postfix/dkim/default.txt
```
Вы увидите что-то вроде:
```
default._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD..."
```
2. **Добавьте TXT-запись в Cloudflare:**
- Войдите в панель управления Cloudflare.
- Выберите ваш домен.
- Перейдите в раздел **DNS** → **Records** → **Add Record**.
- Настройте запись:
- **Type**: TXT
- **Name**: `default._domainkey`
- **Value**: Скопируйте значение из `default.txt`, убрав кавычки и пробелы, например:
```
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD...
```
- **TTL**: Auto
- **Proxy status**: DNS only (отключите прокси, если включено).
- Сохраните запись.
---
### 5. Проверьте работу DKIM
1. **Отправьте тестовое письмо:**
Используйте команду для отправки письма:
```bash
echo "Test" | mail -s "DKIM Test" [email protected]
```
2. **Проверьте подпись DKIM:**
- Используйте онлайн-инструменты, такие как [DKIM Key Checker](https://protodave.com) или [MXToolbox](https://mxtoolbox.com/dkim).
- Проверьте заголовки полученного письма (например, в Gmail: «Показать оригинал» → ищите `DKIM-Signature`).
3. **Убедитесь, что DNS-запись активна:**
Выполните проверку DNS:
```bash
dig txt default._domainkey.example.com
```
---
### 6. Дополнительно: Настройка SPF и DMARC
Для полной защиты рекомендуется настроить SPF и DMARC:
- **SPF-запись** (пример):
```
Type: TXT
Name: @
Value: v=spf1 a mx ip4:ВАШ_IP ~all
```
- **DMARC-запись** (пример):
```
Type: TXT
Name: _dmarc
Value: v=DMARC1; p=none; rua=mailto:[email protected];
```
---
### Источники
- Настройка OpenDKIM:[](https://fornex.com/ru/help/dkim-postfix/)[](https://www.dmosk.ru/instruktions.php?object=dkim-postfix)
- Добавление записей в Cloudflare:[](https://powerdmarc.com/ru/cloudflare-dmarc-spf-dkim-setup/)
- Интеграция с Postfix:[](https://maileroo.com/blog/configure-dkim-postfix-ubuntu/