---
date: 2026-03-04
type: project
tags: [dttb, mail]
---

# Mailcow dttb.ru (VM 107, 10.0.0.107)

## Общая информация
- **Web UI:** https://mail.dttb.ru (через NPM proxy host #25, SSL cert #106)
- **Admin:** admin / 1qaz!QAZ
- **API key:** dttb-mailcow-api-2026 (API_ALLOW_FROM: 172.22.1.1,127.0.0.1,10.0.0.0/24)
- **OS:** Ubuntu 24.04, 4 cores, 8GB RAM, 100GB disk
- **SSH:** root (ключ claude-code ed25519), cloud-init static IP
- **Клонирован с:** VM 106 НИИКН (mail.niikn.com), перенастроен 2026-03-04

## Домен и ящики
- **Домен:** dttb.ru, DKIM selector: dkim, 2048-bit
- **Ящики:**
  - admin@dttb.ru (пароль: 1qaz!QAZ)
  - noreply@dttb.ru (пароль: 1qaz!QAZ)

## Подключение
- **SMTP:** mail.dttb.ru:587 (STARTTLS) или mail.dttb.ru:465 (SMTPS)
- **IMAP:** mail.dttb.ru:993 (SSL)
- **POP3:** mail.dttb.ru:995 (SSL)
- **Sieve:** mail.dttb.ru:4190

## Конфигурация
- **Install dir:** /opt/mailcow-dockerized/
- **MAILCOW_HOSTNAME:** mail.dttb.ru
- **SKIP_LETS_ENCRYPT:** y (SSL через NPM)
- **SKIP_UNBOUND_HEALTHCHECK:** y
- **Unbound:** forward-zone к 8.8.8.8/1.1.1.1 в unbound.conf (обязательно для доставки!)
- **SSL:** self-signed cert для SMTP/IMAP (mail.dttb.ru), NPM cert для HTTPS web
- **Docker контейнеры:** 18 шт (postfix, dovecot, rspamd, nginx, mysql, redis и др.)

## OpenWrt проброс портов → 10.0.0.107
| Порт | Протокол | Назначение |
|------|----------|------------|
| 25 | TCP | SMTP (приём почты) |
| 465 | TCP | SMTPS |
| 587 | TCP | Submission (отправка) |
| 993 | TCP | IMAPS |
| 995 | TCP | POP3S |
| 4190 | TCP | Sieve |

## DNS записи (dttb.ru → Spaceweb)
| Тип | Имя | Значение |
|-----|-----|----------|
| A | mail | 176.62.183.186 |
| MX | @ | mail.dttb.ru. (приоритет 10) |
| TXT | @ | v=spf1 ip4:176.62.183.186 a mx ~all |
| TXT | _dmarc | v=DMARC1; p=quarantine; ruf=mailto:admin@dttb.ru |
| TXT | dkim._domainkey | v=DKIM1;k=rsa;t=s;s=email;p=... (2048-bit) |

## Статус проверки (2026-06-18)
Сквозная диагностика «снаружи» (без шелла на VM):
- ✅ **Приём:** порт 25 открыт из интернета, MX отвечает `250 mail.dttb.ru`, в INBOX реальное входящее от `it5870@yandex.ru`.
- ✅ **Отправка:** письмо с admin@dttb.ru через :587 доставлено на внешний сервер за секунды → **исходящий 25-й порт у Istranet НЕ заблокирован**. Письмо **DKIM-подписано** (d=dttb.ru, s=dkim), SPF/DMARC выровнены.
- ✅ IMAP :993 и SMTP-submission :587 (AUTH LOGIN) работают (admin@dttb.ru / 1qaz!QAZ).
- ⚠️ **PTR отсутствует** — единственная дыра доставляемости. Strict-провайдеры (Gmail → спам, Mail.ru → reject) штрафуют письма с IP без reverse DNS.
- ⚠️ **IP = OOO Istranet** (`netname istranet`, RU), не Spaceweb. PTR ставит Istranet (как интернет-провайдер по этому WAN-IP), не регистратор DNS.
- 🔸 В DNS висит лишний `TXT @ "mailru-domain: 09KURdxlbSVmAm4O"` — остаток попытки привязать Mail.ru для домена; на Mailcow не влияет, можно убрать.
- 🔸 **SSH-доступ к VM не работает ни одним ключом** (id_rsa «claude-code-matrix-project», id_ed25519, ключ Proxmox). VM клонирована с НИИКН VM 106 → несёт чужой authorized_keys. Управление возможно через web-UI (admin/1qaz!QAZ); для шелла — добавить ключ через Proxmox console.

## Вариант «почтовый шлюз через VPS» (оценка 2026-06-18)
Идея: пускать почту через статичный VPS с чистым IP+PTR, чтобы не зависеть от Istranet. Проверил исходящий :25 на всех VPS Олега:

| VPS | Провайдер | Исходящий :25 | Вывод |
|-----|-----------|---------------|-------|
| vm-nano `158.255.0.139` (в КБ = «доменный шлюз» umnybot) | NL | ❌ блок | для почты НЕ годится |
| Finland `202.71.12.186` | Hostkey EU | ❌ блок (egress после взлома 04-24) | НЕ годится |
| **swtest `89.111.140.86`** | SpaceWeb RU | ✅ открыт (достучался до gmail MX) | единственный пригодный |

⚠️ «Доменный шлюз» из КБ (vm-nano) — это HTTP-reverse-proxy (NPM), к SMTP неприменим, и его провайдер режет 25.
⚠️ swtest на 2026-06-18: **диск 100%** (9.3/9.8 ГБ), RAM свободно ~367 МБ, **PTR нет** → перед использованием нужна чистка диска + заявка в SpaceWeb на rDNS.
**Корень:** почта dttb уже работает на приём и отправку с домашнего IP; единственная дыра — PTR. Любой путь (Istranet PTR или VPS-smarthost) всё равно упирается в заявку провайдеру на PTR. VPS-вариант оправдан, только если Istranet откажет в PTR или нужно скрыть домашний IP.

## TODO
- [ ] **PTR:** запросить у OOO Istranet запись `186.183.62.176.in-addr.arpa → mail.dttb.ru` (даст FCrDNS, A mail→176.62.183.186 уже есть). Главный пункт для доставляемости. (2026-04-18, проверено 2026-06-18 — всё ещё нет)
- [ ] Добавить `rua=mailto:admin@dttb.ru` в DMARC для агрегированных отчётов (сейчас только ruf)
- [ ] Восстановить SSH-ключ на VM 107 через Proxmox console

<!-- AUTO-SYNC FROM MEMORY.MD - DO NOT EDIT BELOW -->
## Mailcow HomeLab (VM 107, 10.0.0.107)
- Web UI: https://mail.dttb.ru (через NPM proxy host #25)
- Admin: admin / 1qaz!QAZ
- API key: dttb-mailcow-api-2026
- Домен: dttb.ru (добавлен), DKIM: selector=dkim, 2048-bit
- Ящики: admin@dttb.ru, noreply@dttb.ru (пароль: 1qaz!QAZ)
- SMTP: 10.0.0.107:587, STARTTLS, LOGIN auth
- Клон с VM 106 НИИКН, MAILCOW_HOSTNAME=mail.dttb.ru
- SSH: root (ключ claude-code ed25519), cloud-init IP static
- Unbound: forward-zone к 8.8.8.8/1.1.1.1 (обязательно, иначе DNS fail)
- SSL: self-signed для mail.dttb.ru, NPM cert ID:106 для HTTPS web
- OpenWrt проброс: 25,465,587,993,995,4190 → 10.0.0.107
- DNS (Spaceweb): A mail→176.62.183.186, MX→mail.dttb.ru, SPF, DMARC, DKIM настроены
<!-- END AUTO-SYNC -->
