--- 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 ## 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 настроены