С развитием интернета и повсеместным внедрением IPv6 многих пользователей, особенно владельцев домашних сетей и лабораторий, заинтересовал вопрос эффективной и безопасной отправки электронной почты. Особенно это актуально для пользователей Google Workspace, которые используют сервисы Google SMTP Relay для пересылки почты с различных устройств и приложений. Однако у этой технологии есть один значительный недостаток, связанный с ограничениями работы с IPv6. В данной публикации рассматривается реальная проблема, условия, при которых она возникает, а также подробное решение на практике с использованием собственного SMTP релея и современных инструментов виртуализации. На фоне повсеместного внедрения IPv6 многие провайдеры и домашние пользователи получают не отдельные адреса, а целый блок адресов, позволяющий каждому устройству в домашней сети иметь собственный глобальный IPv6 адрес.
Такая архитектура значительно расширяет возможности локальных сетей, но при этом создаёт сложности при работе с сервисами, которые вводят ограничения на размеры разрешенных IP диапазонов. Одним из таких сервисов является Google SMTP Relay. Его предназначение — позволить клиентам Google Workspace отправлять почту с доверенных IP-адресов без необходимости использования паролей. Администраторы могут добавлять эти адреса в белый список, что обеспечивает более высокий уровень безопасности и автоматизации. Но при попытке добавить целый /64 диапазон IPv6, у администратора возникает ошибка, так как Google ограничивает размер допустимого диапазона до максимум 65535 адресов.
Это связано с необходимостью предотвращения злоупотреблений и обеспечения управления, поскольку диапазон /64 содержит 18 квинтиллионов адресов — слишком большой для практического контроля. В результате пользователи домашних сетей, получившие от своих провайдеров целый IPv6 блок, сталкиваются с невозможностью добавить все необходимые адреса в белый список Google SMTP Relay. Попытка добавить отдельные адреса каждого устройства неудобна, а просьбы к провайдерам о предоставлении более мелких подсетей зачастую невозможны или требуют тяжёлых административных процедур. Эта техническая ограниченность заставляет искать альтернативные пути обхода. Оптимальное решение — использование собственного промежуточного почтового релея, который будет выступать посредником между домашней сетью и сервисом Google SMTP Relay.
Такой релей принимает почту от домашних устройств и пересылает её дальше в Google. Ключевым преимуществом данной схемы является возможность использовать на сервере с фиксированным IP-адресом адреса, которые можно без ограничения добавить в белый список Google. Сервер, в свою очередь, принимает исходящие сообщения из домашней сети, где права управления адресами и IP-диапазонами намного гибче. Описанная схема требует запуска почтового сервера с функционалом SMTP релея, и в качестве такого решения отлично подходит Postfix — мощный и гибкий почтовый сервер с открытым исходным кодом. Для упрощения развертывания используется докер-контейнер, предоставленный сообществом, который облегчает настройку и минимизирует время на администрирование сервера.
Docker позволяет быстро запустить изолированное окружение с необходимыми компонентами, не вмешиваясь в основную систему сервера. Важно убедиться, что на сервере включена поддержка IPv6, чтобы можно было корректно настраивать маршрутизацию и белые списки адресов. Конфигурация контейнера включает указание самого SMTP сервера Google (smtp-relay.gmail.com), порта подключения и доменного имени, используемого в качестве идентификатора отправителя.
В переменной окружения SMTP_NETWORKS прописываются те адреса и подсети, которым разрешено отправлять почту через релей, среди которых обязательно должен быть только один /64 блок домашней сети, а также IP-адрес сервера. Через такую архитектуру все домашние устройства могут свободно отправлять почту, а Google SMTP Relay при этом видит только доверенный и разрешенный диапазон с сервера. Это позволяет обойти ограничение Google на размер разрешенного диапазона IPv6, сохраняя все преимущества безопасности. Кроме технических выгод, этот подход значительно повышает управляемость — можно централизованно контролировать, какие устройства и адреса имеют доступ к отправке почты. Также сохраняется высокий уровень безопасности, поскольку токены авторизации и пароли не нужно распространять на все устройства домашней сети, что снижает риск компрометации.
Тем, кто хочет развивать более сложные сценарии, на базе данной архитектуры легко построить масштабируемый и отказоустойчивый почтовый сервис с интеграцией в внутренние системы мониторинга и аудита. В итоге, если вы столкнулись с проблемой работы Google SMTP Relay и лимитами на allowlisting IPv6 диапазонов, решение в виде собственного промежуточного SMTP релея с использованием Postfix и Docker выглядит наиболее надежным и удобным. Этот подход позволит вам использовать всю мощь IPv6 в домашней сети, не жертвуя при этом возможностями и удобством сервисов Google. Такой гибкий и технологичный метод станет важным шагом к построению современного, безопасного и масштабируемого почтового обмена в домашних и малых бизнес инфраструктурах.