Почтовый сервер Raspberry Pi: использование Raspberry Pi для управления электронной почтой

Raspberry Pi служит основой для многих полезных и образовательных проектов. Вы можете использовать его для домашней автоматизации или создать на его основе медиацентр. Кроме того, на этом маленьком компьютере можно установить почтовый сервер. Если вы установите почтовый сервер Raspberry Pi, вы не только узнаете о структуре и функциях необходимых программ, но и сможете получить больший контроль над своими сообщениями.

Но где есть свет, там есть и тень: этот частный почтовый сервер не является исключением. Часто возникают проблемы при отправке сообщений, в частности, на частном почтовом сервере. В нашем руководстве мы проясним возможные варианты использования, а также преимущества и недостатки такого рода серверов и покажем, как настроить Raspberry Pi в качестве почтового сервера.

Проблемы с IP-адресом частного почтового сервера

Прежде чем приступить к настройке почтового сервера Raspberry Pi, вы должны знать следующее: независимый почтовый сервер, как правило, не является равноценной заменой серверу от коммерческого поставщика услуг электронной почты. В основном это связано с тем, что большинство интернет-соединений не используют статический IP-адрес. Для того чтобы почтовый сервер мог работать, он, конечно же, должен быть подключен к Интернету. Профессиональный почтовый сервер использует интернет-соединение, имеющее как минимум один статический (фиксированный) IP-адрес. Этот неизменяемый адрес для доступа в Интернет обеспечивает постоянную адресацию и доступность сервера.

Однако большинство интернет-соединений имеют только динамический IP-адрес, что означает, что адрес постоянно меняется (обычно не позднее чем через 24 часа). Это сильно ограничивает отправку сообщений через собственный почтовый сервер: сервер электронной почты получателя часто рассматривает сообщения как спам, если они отправлены через интернет-соединение с динамическим IP-адресом. Это связано с тем, что спамеры часто используют динамические IP-адреса для рассылки своих назойливых сообщений, поскольку постоянно меняющийся адрес не позволяет их легко обнаружить. Кроме того, электронные письма, отправленные непосредственно с компьютеров с динамическими IP-адресами, часто приходят не от самого компьютера, а от вредоносного ПО, которому удалось проникнуть в систему. 

Многие спам-фильтры, используемые серверами электронной почты, вообще считают меняющиеся IP-адреса недостоверными по вышеуказанным причинам. Интернет-соединение с динамическим IP-адресом лишь частично подходит для отправки сообщений через почтовый сервер.

Даже почтовый сервер, представленный в этом учебнике, не является полноценным почтовым сервером в этом отношении. Однако, при некоторой перестройке и/или ежемесячных затратах, этот почтовый сервер может быть модернизирован до обычного почтового сервера.

Плюсы и минусы: когда частный почтовый сервер становится выгодным?

Трудности, связанные с использованием динамического IP-адреса, являются самым большим недостатком частного почтового сервера. Поэтому не рекомендуется использовать такой сервер в качестве обычного почтового сервера, так как большинство ваших сообщений будет попадать в папку спама получателя. Но даже если его целью не является замена существующей службы электронной почты, отдельный почтовый сервер может стоить того.

Если вы в первую очередь заинтересованы в изучении конфигурации и администрирования почтового сервера, то вам действительно стоит создать свой собственный почтовый сервер. Для этой цели вряд ли найдется лучшая и более экономичная среда обучения, чем Raspberry Pi. Вы также можете использовать свой собственный почтовый сервер, если хотите обеспечить абсолютную целостность данных при работе с электронной почтой во внутренней сети (например, внутри компании или организации). Почтовый сервер в локальной сети гарантирует, что обмениваемая информация хранится исключительно на жестком диске отправителя, получателя и их почтовых серверов.

В наше время, когда защита данных является актуальной темой, выделенный внутренний почтовый сервер обеспечивает безопасный способ хранения сообщений. Это связано с тем, что доступ к полному архиву электронной почты имеют только администраторы сети, а не поставщик услуг электронной почты, чей почтовый сервер используется для обработки отправки сообщений. Ниже приведен подробный список плюсов и минусов почтового сервера Raspberry Pi:

Плюсы

  • В пределах внутренней сети только вы имеете доступ к полному архиву электронной почты. Сообщения остаются на сервере, и другие могут прочитать их только с вашего согласия.
  • Даже за пределами внутренней сети можно запретить другим читать ваши письма: для этого, однако, отправителям и получателям необходим частный почтовый сервер. При условии, что получатель ваших писем также имеет самоуправляемый почтовый сервер без подключения к провайдеру электронной почты, все обмениваемые данные будут храниться исключительно на двух частных почтовых серверах.
  • Использование шифрования электронной почты рекомендуется для защиты данных при их пересылке между двумя частными почтовыми серверами. Что касается безопасности данных, почтовый сервер с собственным хостингом предлагает еще одно преимущество: если почтовый трафик проходит через сервер от одного или нескольких поставщиков услуг электронной почты, поставщик все равно может прочитать данные заголовков, связанные с сообщениями. Это происходит несмотря на то, что отправитель и получатель используют шифрование PGP, поскольку эти данные всегда открыты в PGP. Если обе стороны используют свой собственный сервер электронной почты, вы и ваш партнер по общению избегаете этого пробела в защите данных — ваш обмен сообщениями остается приватным, и посторонние люди не могут его прочитать.
  • Вы без исключения сами контролируете почтовую систему и, следовательно, можете настраивать параметры программного обеспечения почтового сервера. Кроме того, почти нет ограничений на размер вложений файлов или на общий объем хранения ваших учетных записей электронной почты (при условии, что у вас достаточно дискового пространства, чтобы вы могли подключиться к компьютеру почтового сервера).
  • Вы можете синхронизировать свои данные (например, электронную почту через IMAP, контакты через CardDAV или календари через CalDAV) таким образом, чтобы все устройства, имеющие доступ к почтовому серверу, имели одинаковые наборы файлов.
  • Для доменов, связанных с почтовым сервером, при желании можно создавать различные адреса электронной почты.
  • Вы не получаете никакой рекламы от поставщика услуг электронной почты.

Минусы

  • Отдельный сервер означает приложить больше усилий для обеспечения безопасности. В этом отношении почтовый сервер не является исключением, поскольку он постоянно находится в сети и может быть атакован. Вам необходимо следить за обновлением программного обеспечения и контролировать программы безопасности, чтобы убедиться, что хакеры не смогут получить доступ к вашему серверу (а затем использовать его для рассылки спама). Поэтому, управляя общедоступным сервером электронной почты, вы должны быть знакомы со стандартами безопасности и постоянно расширять свои знания.
  • Как уже говорилось ранее, исходящие сообщения, отправленные через интернет-соединение с динамическим IP-адресом, скорее всего, будут расценены почтовым сервером получателя как спам и попадут в папку «Спам». Существует два способа предотвратить это:

    1. Вы полагаетесь на другой (коммерческий) почтовый сервер, для которого у вас уже есть адрес электронной почты, для отправки писем. Если вы уже установили свой собственный почтовый сервер, вы можете использовать почтовую программу, подключенную к нему, чтобы за отправку писем отвечал сервер другого поставщика услуг электронной почты, а не ваш собственный сервер.

      Недостаток: эта процедура осуществляется в ущерб конфиденциальности ваших данных. Это происходит потому, что служба поставщика услуг электронной почты вмешивается в процесс, сохраняя исходящие сообщения на своем сервере, которые затем могут быть прочитаны другими людьми.

    2. Вы запрашиваете статический IP-адрес для доступа в Интернет. Это делается для того, чтобы ваш частный почтовый сервер выглядел так же, как профессиональный — хотя, возможно, сначала ваш статический адрес должен приобрести определенную репутацию у других серверов. Многие почтовые серверы поначалу скептически относятся к новым почтовым серверам, отправляющим им сообщения: сначала вы должны доказать, что ваш сервер не используется для рассылки спама.

      Для того чтобы иметь возможность работать с полноценным сервером электронной почты, вам необходим как минимум один статический IP-адрес для доступа в Интернет:

      • Ресурсная запись почтового обмена (сокращенно MX-запись) для используемого домена. Это запись в системе доменных имен (DNS), которая идентифицирует ваш почтовый сервер как сервер, отвечающий за получение электронной почты на определенном домене.

      • Ресурсная запись PTR (PTR-запись), где IP-адрес преобразуется в соответствующее имя с помощью «обратного поиска» в DNS.

      Однако интернет-соединение со статическим IP-адресом не всегда легко поддерживать — часто требуется гораздо больше затрат на подключение к интернету.

  •  Спам-фильтры частных почтовых серверов менее эффективны, чем фильтры провайдеров электронной почты, чья система фильтрации лучше развита и может легче выявлять и сортировать спам. Тем не менее, вы можете использовать эти программы для улучшения защиты от спама вашего собственного почтового сервера.

Требования к собственному почтовому серверу

Конечно, вам нужен хотя бы один адрес электронной почты, который вы можете свободно использовать. Используйте его для регистрации домена. Поскольку предполагается, что у вас динамический IP-адрес (что обычно и происходит), мы объясним, как установить почтовый сервер на Raspberry Pi с этим одним IP-адресом. Помимо компьютера, для почтового сервера Raspberry Pi вам понадобится следующее:

  • Операционная система Raspbian,
  • карта памяти (micro) SD (должна быть не менее 4 Гб — лучше больше).
  • Постоянное подключение к Интернету (в идеале через сетевой кабель, в противном случае через WiFi)
  • Постоянное питание для Raspberry Pi (через блок питания Micro USB).
  • Для удаленного доступа к терминалу Raspberry Pi компьютер с клиентским ПО SSH (например, PuTTY или OpenSSH), который подключен к Raspberry Pi (просто укажите IP-адрес Raspberry Pi в SSH-клиенте).

или

экран и устройства ввода для работы с терминалом, если вы не хотите использовать SSH-клиент.

Вы также можете использовать другой носитель информации (например, USB-накопитель или внешний жесткий диск), если хотите иметь больше места на почтовом сервере.

Чтобы почтовый сервер мог постоянно работать в режиме онлайн, он должен быть всегда доступен по одному и тому же адресу в Интернете. Поэтому статический IP-адрес является оптимальным вариантом для вашего интернет-соединения, но он не всегда доступен. В качестве альтернативы вы можете воспользоваться услугами, которые предлагают (часто бесплатно) динамический DNS (DDNS). С помощью DDNS вы передаете доменное имя вашему почтовому серверу. С помощью программы это доменное имя всегда связано с текущим IP-адресом вашего интернет-соединения и, таким образом, выступает в качестве постоянного адреса почтового сервера. Подобная функция уже встроена в некоторые сетевые маршрутизаторы (например, маршрутизаторы Cisco — инструкции по настройке динамического DNS можно найти на сайте производителя.

Настройка сервера электронной почты Raspberry Pi

Перед настройкой почтового сервера установите для Raspberry Pi статический частный IP-адрес в вашей сети. Почтовый сервер управляется через IP-адрес в сети, точно так же, как и веб-сайт. Для того чтобы сервер всегда был доступен со всех других серверов электронной почты, ему необходим постоянный один и тот же адрес. Этот фиксированный IP-адрес в локальной сети не следует путать с обсуждавшимся ранее статическим IP-адресом интернет-соединения.

Определение частного IP-адреса

В локальной сети почтовому серверу Raspberry Pi требуется статический частный IP-адрес для постоянного управления входящей и исходящей электронной почтой. Однако, поскольку в локальной сети Raspberry Pi обычно присваивается только один динамический IP-адрес, вы выдаете Raspberry Pi один статический IP-адрес.

Чтобы изменить локальный IP-адрес Raspberry Pi, сначала нужно узнать текущий (динамический) IP-адрес. Например, когда вы находитесь на рабочем столе операционной системы Raspbian, вы можете навести курсор мыши на значок интернета, который покажет вам IP-адрес. В нашем учебнике мы используем 192.168.0.3 в качестве исходного динамического IP-адреса Raspberry Pi.

Щелкните правой кнопкой мыши на значке интернета, чтобы выбрать настройки WiFi, а затем нажмите на ‘eth0’ в выпадающем меню. В открывшемся поле введите первые три последовательности цифр IP-адреса (разделенные точками) — в нашем примере это будет 192.168.0. Теперь добавьте в последнее поле число, которое еще не использовалось ни для одного другого устройства в вашей сети. Как правило, все числа выше 100 зарезервированы для статических IP-адресов. В нашем учебнике мы используем IP-адрес 192.168.0.101. После установки статического частного IP-адреса перезагрузите Raspberry Pi.

Установка Citadel/UX на Raspberry Pi в качестве почтового сервера

На следующем этапе необходимо настроить почтовый сервер на Raspberry Pi. Для этого мы используем программу групповой работы Citadel/UX, которая поддерживает SMTP в качестве почтового сервера, а также содержит IMAP и POP3 сервер. Citadel дополнительно предлагает календарь, адресную книгу и функции задач, а также интерфейс WebMail.

Выполните настройку в терминале и обновите все установленные пакеты с помощью следующих командных строк:

sudo apt-get update
sudo apt-get upgrade

Citadel предварительно настроен таким образом, что в качестве протоколов передачи данных по умолчанию установлены IPv4 и IPv6. Как только программа обнаружит, что в сети нет IPv6, процесс установки будет прерван. Вы можете использовать эту команду для активации протокола

sudo modprobe ipv6

и затем настроить Citadel с помощью следующей командной строки:

sudo apt-get install citadel-suite.

На следующем экране убедитесь, что сервер ожидает запросов по всем адресам, приняв адрес по умолчанию0.0.0.0. Следуйте дополнительным подсказкам, которые позволят вам использовать внутреннюю базу данных для управления паролями Citadel. Кроме того, задайте имя пользователя admin (вы можете просто принять предложение ‘admin’), а также соответствующий пароль.

Теперь вам нужно решить, хотите ли вы использовать Citadel с внутренним (входящим в состав ПО) веб-сервером, Webcit, или подключить к Citadel предустановленный веб-сервер Apache. Последний вариант является разумным, если вы уже прошли наше руководство по настройке веб-сервера Apache на Raspberry Pi. Поэтому мы объясним, как настроить внутренний веб-сервер, и предположим, что вы используете обычные рекомендуемые порты для почтового сервера (настройте проброс портов для HTTP-порта 80 и HTTPS-порта 443). Веб-сервер Webcit может быть запущен на разных языках.

Настройка почтового сервера Citadel

Теперь запустите Citadel в терминале с помощью этой команды:

sudo service citadel start

В веб-браузере введите статический частный IP-адрес вашей Raspberry Pi (в нашем примере 192.168.0.101), в результате чего откроется почтовый сервер Citadel. Однако вы пока не можете войти в программу, потому что сначала нужно настроить Citadel так, чтобы она использовала IPv4, а не IPv6. Для этого вернитесь в терминал и используйте команду для настройки Citadel

sudo /usr/lib/citadel-server/setup

и войдите в систему под именем администратора. Оставьте имя пользователя ‘citadel’ и снова введите адрес 0.0.0.0. Остальные настройки останутся прежними. Последний шаг — повторный запуск Citadel, чтобы все изменения были сохранены.

Подключите почтовый сервер Citadel к Raspberry Pi

Если вы снова откроете Citadel в браузере через IP-адрес Raspberry Pi, то теперь вы должны иметь возможность войти в систему под своим именем пользователя и паролем администратора. Выберите ‘Administration’ в строке меню слева и нажмите на ‘Edit System Settings’ в разделе ‘Global Configuration’. В этом руководстве мы просто настроим простой протокол передачи почты (SMTP), который необходим для отправки сообщений. Чтобы получать и извлекать сообщения, вам также необходимо настроить IMAP или POP3 аналогичным образом.

Выберите пункт меню ‘SMTP’, и здесь вы увидите три порта, используемые почтовым сервером Citadel. Чтобы убедиться, что вы можете их использовать, сначала убедитесь, что они открыты вашим маршрутизатором. Рекомендуется записать номера трех портов, а затем настроить маршрутизатор.

Если вы не знаете его адрес, введите команду ‘ipconfig’ в подсказке Windows и вызовите адрес, указанный в разделе «Стандартный шлюз», обычно это 192.168.0.1 или 192.168.178.1. Войдите на страницу конфигурации маршрутизатора. Если вы не определили индивидуальное имя пользователя или пароль, вы можете найти множество различных моделей и их стандартные настройки на сайте RouterPasswords.com. Как только вы окажетесь в настройках конфигурации маршрутизатора, перейдите в меню проброса портов. Здесь введите IP-адрес Raspberry Pi — включая номера трех портов. Вы также должны создать порт 80 для интерфейса веб-почты. Теперь все стандартные функции Citadel настроены так, чтобы программу можно было использовать в качестве почтового сервера.

Соединение доменного имени с IP-адресом почтового сервера

Чтобы сделать почтовый сервер Raspberry Pi постоянно доступным через адрес в Интернете, войдите в службу DDNS, зарегистрируйте соответствующее доменное имя и, наконец, соедините его с Citadel. Вы должны зарегистрировать доменное имя как ‘DNS Host (A)’ с вашим текущим IP-адресом, который вам назначил ваш провайдер. Вы можете узнать этот IP-адрес, например, на сайте www.whatsmyip.org или аналогичных онлайн-сервисах.

Если вы введете зарегистрированное доменное имя в браузер, откроется страница почтового сервера Citadel. Теперь вам нужно перейти в меню ‘Администрирование’ и выбрать пункт ‘Доменные имена и настройка интернет-почты’. Введите доменное имя в разделе ‘Псевдонимы для этой машины’, а затем перейдите в раздел ‘Изменить системные настройки’ через меню ‘Администрирование’. Здесь удалите имя узла и вместо него введите свое доменное имя в поле ‘Полное доменное имя’. После того, как вы сохраните настройки, снова нажмите на ‘Администрирование’, чтобы перезапустить почтовый сервер Citadel.

Теперь у вас все получилось: ваш частный почтовый сервер готов к использованию и может работать через установленный веб-почтовый сервер. Конечно, вы можете использовать его с другой почтовой программой (Thunderbird, Outlook и т.д.) и расширить набор функций Citadel.

Вывод: для чего нужен собственный почтовый сервер Raspberry Pi?

Если вы используете Raspberry Pi в качестве почтового сервера в сочетании с интернет-соединением, имеющим статический IP-адрес, вы максимально приближаетесь к профессиональному почтовому серверу. В этом случае рекомендуется ввести не только вышеупомянутые обязательные записи (PTR и MX запись), но также запись ресурса SPF и DKIM (DomainKeys Identified Mail). Это снижает вероятность того, что ваш почтовый сервер Raspberry Pi решит, что письма с других почтовых серверов являются спамом. Однако, как упоминалось выше, почтовый сервер сначала должен создать себе репутацию, чтобы отправляемые им сообщения с меньшей вероятностью считались спамом, чего трудно добиться на частных серверах со сравнительно низкой активностью.

Если ваше интернет-соединение имеет только динамический IP-адрес, вы можете настроить почтовый сервер Raspberry Pi через DDNS, по крайней мере, с базовыми функциями — даже если ваши письма, скорее всего, будут часто попадать в папку спама получателя. Поэтому важно сообщить получателю, что он должен настроить свой спам-фильтр, чтобы ваши письма не попадали в папку спама. Обычно это имеет смысл только в том случае, если через почтовый сервер будет доступна управляемая группа людей (например, в рамках компании, рабочей группы и т.д.). Однако если все получатели подключены к одной локальной сети, создание внутреннего почтового сервера особенно выгодно.

Одним из самых больших преимуществ собственного почтового сервера, не подключенного к поставщику услуг электронной почты, является полная целостность данных. Если для вас не так важно создать и эксплуатировать собственный сервер электронной почты, то усилия и затраты на управление и обновление сервера не стоят того. В этом случае использование более крупного почтового провайдера для трафика электронной почты обычно является лучшим вариантом. В противном случае, энтузиасты технологий и те, кому интересно учиться, могут воспользоваться частным почтовым сервером, если они хотят понять технологию, лежащую в основе сервера электронной почты на Raspberry Pi.

Оцените статью
cdelat.ru
Добавить комментарий