Як налаштувати SMTP-сервер на Ubuntu

Електронна пошта стала невід’ємною частиною нашого життя. Вона є основою багатьох підприємств, спільнот і особистих проектів. Незалежно від того, відправляєте ви щомісячну розсилку чи налаштовуєте сповіщення електронною поштою для своїх застосунків, ви, можливо, ставили запитання: “Як це все працює?”. Одне слово: SMTP. Скорочено від Simple Mail Transfer Protocol, SMTP – це наріжний камінь процесу надсилання електронної пошти. І якщо ви, як і я, є шанувальником операційної системи Ubuntu, то вам пощастило. Сьогодні ми детально розглянемо, як налаштувати SMTP-сервер на Ubuntu. Давайте приступимо!

Навіщо налаштовувати SMTP-сервер на Ubuntu?

Перш ніж ми перейдемо до розгляду питання “як”, давайте поговоримо про “чому”. SMTP-сервер дає вам можливість контролювати ситуацію. Замість того щоб покладатися на послуги сторонніх виробників, які можуть мати свої обмеження і проблеми, власний SMTP-сервер забезпечує гнучкість і масштабованість. Крім того, є певна радість у тому, щоб створювати щось із нуля. Якщо ви любите майструвати або вчитися, то такий проєкт вам точно сподобається.

Вибір правильного програмного забезпечення SMTP

Існує кілька варіантів SMTP-серверів, але в цьому посібнику ми зупинимося на “Postfix”, моєму особистому фавориті. Чому саме Postfix? Це програмне забезпечення з відкритим вихідним кодом, потужне і неймовірно гнучке. Крім того, його підтримка спільнотою просто фантастична.

Попередні умови

Перш ніж ми почнемо, переконайтеся, що у вас є:

  • Працюючий сервер Ubuntu.
  • Root або sudo доступ.
  • Відкритий порт 25 (використовуваний SMTP).

Встановлення Postfix

1. Оновіть систему: Завжди корисно почати з оновлення системних пакетів. Запустіть термінал і виконайте команду:

sudo apt update && sudo apt upgrade

2. Встановіть Postfix: Після завершення встановлення оновлень встановіть Postfix, виконавши команду :

sudo apt install postfix

Під час встановлення з’явиться вікно конфігурації. Ось короткий опис:

  • Загальний тип конфігурації пошти: Виберіть “Інтернет-сайт”.
  • Ім’я системної пошти: Введіть тут ім’я вашого домену.

3. Налаштуйте основні параметри: Після встановлення перейдіть до основного файлу конфігурації.

sudo nano /etc/postfix/main.cf

Тут необхідно внести такі зміни:

myhostname = your_domain.com
mydestination = $myhostname, localhost.$mydomain, $mydomain
mynetworks = 127.0.0.0/8

Не забудьте замінити ‘your_domain.com’ на ваше реальне доменне ім’я.

Забезпечення безпеки SMTP-сервера

Безпека має першорядне значення. Ми не хочемо, щоб наш сервер був відкритим ретранслятором для спамерів.

1. Встановіть SASL і супутні бібліотеки: SASL – це бібліотека автентифікації, яка додає рівень автентифікації до вашого SMTP-сервера.

sudo apt install libsasl2-2 ca-certificates libsasl2-modules

2 Відредагуйте налаштування Postfix: Поверніться до основного конфігураційного файлу.

sudo nano /etc/postfix/main.cf

Додайте або відредагуйте такі рядки:

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes

3. Перезапустіть Postfix: Після внесення цих змін завжди перезапускайте службу.

sudo systemctl restart postfix

Тестування SMTP-сервера

Завжди корисно приділити час тому, щоб переконатися, що все працює як треба. Мій особистий прийом? Надіслати тестовий лист. Ось спосіб зробити це за допомогою командного рядка:

telnet localhost 25

Ви маєте побачити такий результат:

220 mail.example.com ESMTP Postfix

Щоб надіслати тестовий лист, введіть таку команду:

mail from: [email protected]
rcpt to: [email protected]
data
Subject: Test email
This is a test email.
.

Натисніть Ctrl+D, щоб надіслати лист.

Налаштування брандмауера

Якщо ви використовуєте брандмауер, то вам необхідно відкрити порт для SMTP-трафіку. За замовчуванням для SMTP використовується порт 25.

Щоб відкрити порт у UFW, виконайте таку команду:

sudo ufw allow 25

Деякі рекомендовані штрихи та оптимізації

  1. Налаштуйте свій сервер: Postfix має величезну кількість налаштувань. Пориньте в них і вивчіть. Я люблю оптимізувати продуктивність, і завжди знайдеться, що підправити.
  2. Налаштуйте повідомлення про помилки: Налаштуйте повідомлення про помилки сервера на свій смак. Трохи особистого чуття ніколи не завадить.
  3. Моніторинг: Слідкуйте за продуктивністю сервера і поштовим трафіком. Я пробував різні інструменти, і, хоча деякі з них не працюють, це варте того, щоб докласти зусиль.

Загальні поради щодо усунення несправностей SMTP-сервера на Ubuntu

Незважаючи на всі наші зусилля, іноді щось може піти не так. Але не варто засмучуватися! Більшість проблем із SMTP-сервером можна вирішити, просто виконавши пошук. Ось деякі загальні проблеми, з якими ви можете зіткнутися під час роботи SMTP-сервера на Ubuntu, і способи їх вирішення:

1. Листи не надсилаються

  • Перевірте поштову чергу: Якщо листи не проходять, можливо, вони застрягли в черзі. Використовуйте таку команду:
mailq

При цьому відображається черга пошти. Якщо є відставання, це може бути пов’язано з проблемами конфігурації або зовнішніми проблемами, наприклад, з підключенням до мережі.

  • Перегляньте журнали: Ubuntu зазвичай реєструє пошту у файлі /var/log/mail.log. Перевірте цей файл на наявність повідомлень про помилки:
cat /var/log/mail.log | grep error

2. Помилка Permission denied

  • Переконайтеся, що Postfix запущено: Іноді прості рішення виявляються найефективнішими. Перевірте, чи запущено Postfix:
sudo systemctl status postfix

Якщо це не так, почніть із:

sudo systemctl start postfix
  • Перевірте права доступу до каталогів: Переконайтеся, що каталоги Postfix мають правильні дозволи.

3. Таймаути з’єднань

  • Проблеми з брандмауером: Переконайтеся, що порт 25 (порт SMTP за замовчуванням) відкритий у налаштуваннях брандмауера.
  • Блокування провайдером: Деякі провайдери блокують порт 25 для зменшення кількості спаму. Зверніться до свого провайдера, щоб з’ясувати, чи це так. Якщо це так, розгляньте можливість використання альтернативного порту або ретранслятора.

4. Збої аутентифікації

  • Конфігурація SASL: Двічі перевірте налаштування SASL у файлі main.cf. Переконайтеся, що всі налаштування відповідають раніше описаним.
  • База паролів: Якщо для автентифікації використовуються бази паролів, переконайтеся, що вони правильно налаштовані та доступні.

5. Relay access denied

Ця помилка означає, що хтось намагався надіслати лист через ваш сервер без авторизації.

  • Перевірте налаштування mynetworks: Переконайтеся, що ви правильно налаштували параметр mynetworks у файлі main.cf. Обмеження цього параметра локальною мережею або певними IP-адресами може запобігти несанкціонованому доступу.

6. Можна отримувати, але не можна надсилати повідомлення електронної пошти

  • Проблеми з DNS: Переконайтеся, що MX-записи вашого домену налаштовані правильно. Якщо вони неправильно налаштовані, інші сервери можуть не розпізнати ваш сервер.
  • Перевірка чорного списку: Якщо листи відхиляються іншими серверами, можливо, ваш IP перебуває в чорному списку. Для перевірки наявності вашої IP-адреси в чорному списку використовуйте такі інструменти, як MXToolbox.

7. Повільна доставка електронної пошти

  • Продуктивність сервера: Перевірте використання ресурсів вашого сервера. Якщо використання процесора або оперативної пам’яті велике, слід оптимізувати сервер або оновити апаратне забезпечення.
  • Перевантаження мережі: Перевірте мережеве підключення сервера. Якщо мережевий трафік дуже великий, це може уповільнити доставку електронної пошти.

Висновок

Ми розглянули налаштування SMTP-сервера на Ubuntu з використанням Postfix, його захист за допомогою SASL, тестування працездатності та розв’язання основних проблем, пов’язаних з усуненням неполадок. Виконавши ці кроки, ви тепер зможете ефективно підтримувати й оптимізувати роботу свого сервера. Удачі вам у роботі з SMTP на Ubuntu!

Поділіться своєю любов'ю

Залишити відповідь

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x