В связи с тем, что "Yandex" при ранее бесплатной услуге "Yandex-почта для домена" стал платным за каждого пользователя, я перевел ранее один домен @ekzorchik.com на свою виртуальную машину на домашнем сервере. Тест такой работы показал, что все меня устраивает: безопасность моя забота, сколько хочешь создавай ящиков, доступ откуда угодно (либо через Web-интерфейс, либо с Android), бекап тоже на мне. Поэтому принял решение, что надоело мириться с письмами на @ekzorchik.ru которые приходят туда же в Yandex но только могу их смотреть, т.е. режим чтение. Раз все уже отработано, то и домен @ekzorchik.ru нужно переводить по такому же принципу также на свои ресурсы.

Ниже будут разобраны те моменты, с которыми я столкнулся (они отличаются от тех что были при использовании переноса домена @ekzorchik.com, но по большей части похожи).

Шаг №1: На AdminVPS покупаю VPS систему в России за 349руб/месяц со следующими характеристиками: CPU 1 / RAM 2048 Мб / NVMe 30 Гб. На этой системе у меня будет присвоено DNS имя mail.ekzorchik.ru, поднят Wireguard-сервис в части Сервера, создан конфигурационный файл для клиента, посредством firewalld настроен проброс порта до виртуальной машины на домашнем сервере ((Supermicro SYS-5019S-M: Debian 10 + Proxmox 7.4-3, LVM-Thin разделы, 64Gb оперативной памяти (2 модуля 378A4G43MB1-CTD)).

На почту моего аккаунта AdminVPS приходит после покупки письмо с данными на подключение по SSH

  • IP адрес: 37.140.241.130
  • Логин: root
  • Пароль: password

Имя систему: при покупке указал чтобы пока именовалась srv-site2a

после пишу в поддержку AdminVPS чтобы они создали PTR запись для mail.ekzorchik.ru = 37.140.241.130, т.к. PTR Запись — это запись которая прописывается для IP адреса. Для серверов, заказанных у нас — PTR прописывается с нашей стороны. Для корректной работы почты с сервера нужно чтобы в PTR было указано доменное имя, которое направленно на сервер.

Шаг №2: Сперва нужно зайти в личный кабинет "Yandex-почта для домена" и составить список почтовых ящиков, которые я там использовал до того момента, когда почта была бесплатной.

Авторизуюсь с административной учетной записью:

https://admin.yandex.ru/select-organization?from=connect&uid=69523203

(Почта)

  • Email: Административный аккауннт
  • Пасс:

Управление - (Ваши организации) ekzorchik.ru

Сейчас у меня присутствуют ящики:

  • user1@ekzorchik.ru
  • user2@ekzorchik.ru
  • user3@ekzorchik.ru
  • user4@ekzorchik.ru
  • user5@ekzorchik.ru
  • user6@ekzorchik.ru

Шаг №3: На хостинге на котором уже приобретено доменное имя ekzorchik.ru создаю A запись для mail.ekzorchik.ru = 37.140.241.130

https://хостинг - Войти - Login&Pass — перехожу "Домены" ekzorchik.ru — вкладка DNS — нажимаю "Новая DNS-запись"

  • Тип записи: MX
  • Поддомен: пусто
  • Приоритет: 10
  • MX-сервер: mail.ekzorchik.ru

и нажимаю "Создать"

нажимаю "Новая DNS-запись"

  • Тип записи: A
  • Поддомен: mail
  • Приоритет: 10
  • IP-адрес: 37.140.241.130

Создаю A запись в DNS

и нажимаю "Создать"

после удаляю записи, которые создавал, когда подключался к сервису "Yandex-почта для домена", у меня на этом счет есть заметка: (пригодилась и спустя много лет чтобы вспомнить, как что делалось) "Как подключить Yandex-почта для домена"

  • Это CNAME-запись и MX-запись

Удаляю CNAME запись mail.yandex.ru

ekzorchik.ru in mx 10 mx.yandex.ru

Но это я сейчас знаю, что нужно удалить две записи, а перед этим я писал в поддержку support@yandex.ru, на что мне ответили

Ваш домен делегирован на сторонние серверы. Управлять записями вы можете в том сервисе, где находится DNS-хостинг вашего домена.

и это надоумило меня поднять историю настройки Yandex-почта для домена, т.е. пройтись по заметкам, и я выше на ту что выше.

Шаг №4: Схема реализации будет такой, как и для @ekzorchik.com

т.е. создам виртуальную (VLAN 2) машину дома с осью Ubuntu 22.04 + на нее установлю WireGuard клиент который будет связывать с 37.140.241.130 (mail.ekzorchik.ru) Wireguardсервер

Шаг №5: Запрещаю кому-либо изменять файл /etc/resolv.conf на купленной VPS системе:

sudo systemctl disable systemd-resolved
Removed /etc/systemd/system/dbus-org.freedesktop.resolve1.service.
Removed /etc/systemd/system/multi-user.target.wants/systemd-resolved.service.
sudo systemctl stop systemd-resolved
sudo rm /etc/resolv.conf
sudo bash -c "echo 'nameserver 8.8.8.8'" | sudo tee -a /etc/resolv.conf
sudo chattr +i /etc/resolv.conf
sudo lsattr /etc/resolv.conf
----i---------e--- /etc/resolv.conf

Шаг №6: На купленной VPS системе произвожу предварительную настройку Ubuntu 22.04 Server на последующее использование:

root@srv-site2a:~# sudo nano /etc/network/interfaces
# Generated by SolusVM

 auto lo
  iface lo inet loopback

# auto eth0
#  iface eth0 inet static
#   address 37.140.241.130
#   gateway 37.140.241.1
#   netmask 255.255.255.0
#   dns-nameservers 8.8.8.8 8.8.4.4
root@srv-site2a:~# 
root@srv-site2a:~# sudo nano /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    ens3:
#      dhcp4: true
       dhcp4: no
       addresses:
         - 37.140.241.130/24
       routes:
           - to: default
             via: 37.140.241.1
       nameservers:
         addresses:
           - 8.8.8.8
  version: 2
root@srv-site2a:~# sudo netplan apply
root@srv-site2a:~# sudo rm -Rf /var/lib/apt/lists 
root@srv-site2a:~# sudo nano /etc/update-manager/release-upgrades
[DEFAULT]
Prompt=never
root@srv-site2a:~# sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y
root@srv-site2a:~# sudo reboot
root@srv-site2a:~# uname -a && lsb_release -a
Linux ekzorchik.ru 5.15.0-78-generic #85-Ubuntu SMP Fri Jul 7 15:25:09 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.2 LTS
Release:        22.04
Codename:       jammy
root@srv-site2a:~# 

Шаг №7: На системе Windows 10 Pro (Обычно на работе с этой системы работаю) создаю (через утилиту PuTTY Key Generator) публичный и приватные SSH ключи для подключения к данной VPS.

Шаг №8: Прописываю публичный ключ в файл /etc/ssh/authorized_keys на VPS системе:

root@srv-site2a:~# sudo nano /etc/ssh/authorized_keys
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPizKqavDuDa21BU37BbaEdrMa0qjufC13haBPsuoVTBkfuUE0cUd65mAkhf72rBiL2LbPuOoTpAq91S7CqFYhU= ecdsa-key-20230801

Шаг №9: Так как я преимущественно буду подключаться к данной системе в целях администрирования по SSH, то провожу на основе своего опыта изменения в плане безопасного подключения к VPS системе:

root@srv-site2a:~# sudo useradd -m -p PASSWORD -s /bin/bash -u 5000  -U ekzorchik
root@srv-site2a:~# sudo groupadd sshauth
root@srv-site2a:~# sudo usermod -aG sshauth ekzorchik
root@srv-site2a:~# sudo usermod -aG sudo ekzorchik
root@srv-site2a:~# sudo visudo -f /etc/sudoers.d/ekzorchik 
ekzorchik ALL=(ALL) NOPASSWD:ALL
root@srv-site2a:~# sudo nano /etc/ssh/sshd_config
Include /etc/ssh/sshd_config.d/*.conf
Port 11300
PermitRootLogin no
PubkeyAuthentication yes
AuthorizedKeysFile /etc/ssh/authorized_keys
PasswordAuthentication no
PermitEmptyPasswords no
KbdInteractiveAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
PrintLastLog no
TCPKeepAlive yes
Banner none
AcceptEnv LANG LC_*
Subsystem       sftp    /usr/lib/openssh/sftp-server
AllowGroups sshauth
root@srv-site2a:~# sudo service ssh restart

Шаг №10: Изменяю имя VPS системы которая куплена через AdminVPS:

root@srv-site2a:~# sudo nano /etc/hosts
127.0.0.1       localhost localhost.localdomain
::1     localhost localhost.localdomain
37.140.241.130  mail.ekzorchik.ru mail
root@srv-site2a:~# sudo nano /etc/hostname
mail.ekzorchik.ru
после отправляю систему в перезагрузку
sudo reboot

Шаг №11: Изменяю профиль подключения putty на Windows 10 Pro на подключение к VPS системе c с учетом настроек выше к сервису SSH, т.е. что подключение под логином ekzorchik, порт отличный от стандартного и путь до приватного ключа.

Шаг №12: Устанавливаю в систему надстройку над правилами iptables - firewalld:

ekzorchik@ekzorchik:~$ apt-cache show firewalld | grep Version
Version: 1.1.1-1ubuntu1
ekzorchik@ekzorchik:~$ sudo apt-get install -y firewalld
ekzorchik@ekzorchik:~$ sudo ufw disable
Firewall stopped and disabled on system startup
ekzorchik@ekzorchik:~$ sudo systemctl enable firewalld
ekzorchik@ekzorchik:~$ sudo systemctl start firewalld
ekzorchik@ekzorchik:~$ sudo firewall-cmd --state
running
ekzorchik@ekzorchik:~$ ip r | awk '{print $5}' | head -n1
eth0
ekzorchik@ekzorchik:~$ sudo firewall-cmd --zone public --change-interface=eth0 --permanent
success
ekzorchik@ekzorchik:~$ sudo firewall-cmd --add-port=11300/tcp --permanent
success
ekzorchik@ekzorchik:~$ sudo firewall-cmd --remove-service=ssh --permanent
success
ekzorchik@ekzorchik:~$ sudo firewall-cmd --reload
success
ekzorchik@ekzorchik:~$ sudo firewall-cmd --zone=public --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client
  ports: 11300/tcp
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
ekzorchik@ekzorchik:~$ 

Шаг №13: Устанавливаю Wireguard VPNсервер на купленную VPS систему:

ekzorchik@ekzorchik:~$ apt-cache show wireguard | grep Version
Version: 1.0.20210914-1ubuntu2
ekzorchik@ekzorchik:~$ sudo apt-get install -y wireguard-dkms wireguard-tools resolvconf
ekzorchik@ekzorchik:~$ sudo nano /etc/modules-load.d/wirequard.conf
wireguard
ekzorchik@ekzorchik:~$ sudo reboot
ekzorchik@ekzorchik:~$ lsmod | grep wireguard
wireguard              94208  0
curve25519_x86_64      36864  1 wireguard
libchacha20poly1305    16384  1 wireguard
libcurve25519_generic    49152  2 curve25519_x86_64,wireguard
ip6_udp_tunnel         16384  1 wireguard
udp_tunnel             20480  1 wireguard
ekzorchik@ekzorchik:~$

Шаг №14: Переделываю зоны работы Firewalld, чтобы была внешняя зона (external) и зона VPN туннеля (internal):

ekzorchik@ekzorchik:~$ sudo firewall-cmd --get-zones
block dmz drop external home internal public trusted work
ekzorchik@ekzorchik:~$ 
ekzorchik@ekzorchik:~$ sudo firewall-cmd --zone=external --add-port=11300/tcp --permanent

sudo firewall-cmd --zone=internal --add-interface=wg0 --permanent
sudo firewall-cmd --zone=public --remove-interface=eth0 --permanent
sudo firewall-cmd --zone=external --remove-service=ssh --permanent
sudo firewall-cmd --zone=external --add-interface=eth0 --permanent
ekzorchik@ekzorchik:~$ sudo firewall-cmd --reload

Шаг №15: Создадим пару закрытого и открытого ключа на системе VPS которая выступает, как сервер Wireguard:

ekzorchik@ekzorchik:~$ sudo wg genkey | sudo tee /etc/wireguard/privatekey
SERVER_PRIVATE_KEY
ekzorchik@ekzorchik:~$ sudo bash -c "wg pubkey < /etc/wireguard/privatekey > /etc/wireguard/pubkey"
ekzorchik@ekzorchik:~$ sudo bash -c "cat /etc/wireguard/pubkey"
SERVER_PUBLIC_KEY
ekzorchik@ekzorchik:~$

Шаг №16: Создаю публичный ключ & приватный ключ для почтового сервера, который располагается собственно у меня на домашнем сервере под Proxmox 7:

ekzorchik@ekzorchik:~$ wg genkey | sudo tee /etc/wireguard/mailekzorchikruprivatekey
CLIENT_PRIVATE_KEY
ekzorchik@ekzorchik:~$ sudo bash -c "wg pubkey < /etc/wireguard/mailekzorchikruprivatekey > /etc/wireguard/mailekzorchikrupubkey"
ekzorchik@ekzorchik:~$ sudo bash -c "cat /etc/wireguard/mailekzorchikrupubkey"
CLIENT_PUBLIC_KEY
ekzorchik@ekzorchik:~$

Шаг №17: Настраиваем туннельное устройство, которое будет маршрутизировать трафик VPN на клиенте на VPS системе:

ekzorchik@ekzorchik:~$ sudo nano /etc/wireguard/wg0.conf
[Interface]
#указываю имя приватного ключа сервера, sudo bash -c "cat /etc/wireguard/privatekey"
PrivateKey = SERVER_PRIVATE_KEY
#Внутренний адрес сервера
Address = 10.1.1.1/24
#MTU = 1420
#Порт на котором мой сервер будет принимать подключения
ListenPort = 20100
#Table =
#в качестве брандмауэера я буду использовать надстройку над правилами iptables => firewalld
#ip r | awk ‘{print $5}’ | head -n1 #eth0
PreUp = sysctl -w net.ipv4.ip_forward=1
PreUp = sysctl -w net.ipv4.conf.all.src_valid_mark=1
PostUp = firewall-cmd --zone=external --add-masquerade
PostUp = firewall-cmd --zone=external --add-port=20100/udp
PreDown = sysctl -w net.ipv4.ip_forward=0
PreDown = sysctl -w net.ipv4.conf.all.src_valid_mark=0
PostDown = firewall-cmd --zone=external --remove-masquerade
PostDown = firewall-cmd --zone=external --remove-port=20100/udp

#Секция настройки клиента
#Client
[Peer]
#root@ekzorchik:~# cat /etc/wireguard/mailekzorchikrupubkey
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.1.1.2/32, 172.33.2.0/24
ekzorchik@ekzorchik:~$

Шаг №18: Изменяем права доступа к конфигурационному файлу wg0.conf & privatekey сервера на VPS системе:

ekzorchik@ekzorchik:~$ sudo chmod 600 /etc/wireguard/wg0.conf
ekzorchik@ekzorchik:~$ sudo chmod 600 /etc/wireguard/privatekey

Шаг №19: Разрешаем транзитный трафик между зонами firewalld на VPS системе:

ekzorchik@ekzorchik:~$ sudo firewall-cmd --permanent --new-policy client-to-inet
success
ekzorchik@ekzorchik:~$ sudo firewall-cmd --permanent --policy client-to-inet --set-target ACCEPT
success
ekzorchik@ekzorchik:~$ sudo firewall-cmd --permanent --policy client-to-inet --add-ingress-zone internal
success
ekzorchik@ekzorchik:~$ sudo firewall-cmd --permanent --policy client-to-inet --add-egress-zone external
success
ekzorchik@ekzorchik:~$ sudo firewall-cmd --reload
success
ekzorchik@ekzorchik:~$

Шаг №20: Активирую работу wireguard сервиса после перезагрузки сервера (VPS система), чтобы он включался автоматически:

ekzorchik@ekzorchik:~$ sudo systemctl enable wg-quick@wg0.service
Created symlink /etc/systemd/system/multi-user.target.wants/wg-quick@wg0.service → /lib/systemd/system/wg-quick@.service.
ekzorchik@ekzorchik:~$ sudo systemctl start wg-quick@wg0.service
ekzorchik@ekzorchik:~$ ip r
default via 37.140.241.1 dev eth0 proto static
10.1.1.0/24 dev wg0 proto kernel scope link src 10.1.1.1
37.140.241.0/24 dev eth0 proto kernel scope link src 37.140.241.130
172.33.2.0/24 dev wg0 scope link
ekzorchik@ekzorchik:~$

Шаг №21: Создаю конфигурацию wireguard для почтового сервера на своем железе:

ekzorchik@ekzorchik:~$ nano mailekzorchikru.conf
 [Interface]
#PrivateKey = CLIENT_PRIVATE_KEY
PrivateKey = CLIENT_PRIVATE_KEY
# Адрес и маска
#[Peer] должны быть одинаковыми и на клиенте, и на сервере
# не обязательно
Address = 10.1.1.2/24
DNS = 8.8.8.8

[Peer]
#PublicKey = SERVER_PUBLIC_KEY
#cat /etc/wireguard/pubkey
PublicKey = SERVER_PUBLIC_KEY
#Endpoint = SERVER_IP_ADDRESS:PORT
Endpoint = 37.140.241.130:20100
AllowedIPs = 0.0.0.0/0
#Key connection alive ##
PersistentKeepalive = 15

Шаг №22: Добавляю правила проброс порта для нужд почтового сервера на купленной VPS системе с учетом внутреннего IP адреса системы Ubuntu 22.04 Server:

sudo firewall-cmd --zone=external --add-forward-port=port=25:proto=tcp:toport=25:toaddr=172.33.2.12 --permanent
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=80:toaddr=172.33.2.12 --permanent
sudo firewall-cmd --zone=external --add-forward-port=port=143:proto=tcp:toport=143:toaddr=172.33.2.12 --permanent
sudo firewall-cmd --zone=external --add-forward-port=port=443:proto=tcp:toport=443:toaddr=172.33.2.12 --permanent
sudo firewall-cmd --zone=external --add-forward-port=port=465:proto=tcp:toport=465:toaddr=172.33.2.12 --permanent
sudo firewall-cmd --zone=external --add-forward-port=port=587:proto=tcp:toport=587:toaddr=172.33.2.12 --permanent
sudo firewall-cmd --zone=external --add-forward-port=port=993:proto=tcp:toport=993:toaddr=172.33.2.12 --permanent
sudo firewall-cmd --reload

Шаг №23: Создаю на домашних ресурсах VM (Виртуальная машина) под Proxmox 7

  • CPU = 1 sockets, 2 cores
  • RAM = 4Gb
  • HDD = 70Gb
  • Network: vmbr0, tag2
  • Hostname: mail2.polygon.local
  • IP: 172.33.2.16
  • Hard disk (scsi0): tba4thin, cache=writeback
  • Async IO: threads
  • Backup: отмечаю галочкой, т.к. будет использовать функционал резервного копирования всей виртуальной машины
  • OS: ubuntu-22.04-live-server-amd64.iso

Настройки Disk в свойствах VM на Proxmox

Шаг №24: Внутри созданной VM с осью Ubuntu 22.04 Server на домашнем сервере произвожу базовую настройку системы, настройку Wireguard в качестве клиента на подключение к VPS системе, купленной на AdminVPS дабы организовать VPN туннель.

ekzorchik@mail2:~$ sudo rm -Rf /var/lib/apt/lists
sudo nano /etc/update-manager/release-upgrades
[DEFAULT]
Prompt=never
ekzorchik@mail2:~$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get upgrade -y
ekzorchik@mail2:~$ sudo nano /etc/hosts
127.0.0.1 mail2.polygon.local mail localhost
#127.0.1.1 mail2
ekzorchik@mail2:~$ sudo nano /etc/hostname
mail2
ekzorchik@mail2:~$ sudo apt-get install -y wireguard-dkms wireguard-tools resolvconf qemu-guest-agent
ekzorchik@mail2:~$ sudo nano /etc/modules-load.d/wirequard.conf
wireguard
ekzorchik@mail2:~$ sudo reboot
ekzorchik@mail2:~$ sudo nano /etc/wireguard/wg0.conf
[Interface]
#PrivateKey = CLIENT_PRIVATE_KEY
PrivateKey = CLIENT_PRIVATE_KEY
# Адрес и маска
#[Peer] должны быть одинаковыми и на клиенте, и на сервере
# не обязательно
Address = 10.1.1.2/24
DNS = 8.8.8.8

[Peer]
#PublicKey = SERVER_PUBLIC_KEY
#cat /etc/wireguard/pubkey
PublicKey = SERVER_PUBLIC_KEY
#Endpoint = SERVER_IP_ADDRESS:PORT
Endpoint = 37.140.241.130:20100
AllowedIPs = 0.0.0.0/0
#Key connection alive ##
PersistentKeepalive = 15
ekzorchik@mail2:~$ sudo systemctl enable wg-quick@wg0.service
Created symlink /etc/systemd/system/multi-user.target.wants/wg-quick@wg0.service → /lib/systemd/system/wg-quick@.service.
ekzorchik@mail2:~$ sudo systemctl start wg-quick@wg0.service

Туннель из VM на Proxmox успешно установлен с VPS системой

Отлично, туннель установлен и выход в интернет осуществляет через VPS систему.

Шаг №25: Поднимаю на VM под Proxmox 7 с IP адресом 172.33.2.12 почтовый сервер на базе iRedMail, на момент написания данной заметке уже версия 1.6.4

ekzorchik@mail2:~$ cat /etc/hostname
mail2.polygon.local
ekzorchik@mail2:~$ cat /etc/hosts
127.0.0.1 mail2.polygon.local mail2 localhost
#127.0.1.1 mail2
ekzorchik@mail2:~$ wget https://github.com/iredmail/iRedMail/archive/refs/tags/1.6.4.tar.gz
ekzorchik@mail2:~$ tar zxf 1.6.4.tar.gz
ekzorchik@mail2:~$ cd iRedMail-1.6.4/
ekzorchik@mail2:~/iRedMail-1.6.4$ chmod +x iRedMail.sh
ekzorchik@mail2:~/iRedMail-1.6.4$ sudo ./iRedMail.sh

Как происходит настройка обращаюсь к уже отрепетированным шагам "Поднимаем почтовой сервис для домена @ekzorchik.com на базе iRedMail"
sudo nano /etc/postfix/main.cf

myhostname = mail.ekzorchik.ru
myorigin = mail.ekzorchik.ru
mydomain = ekzorchik.ru

sudo apt install -y certbot python3-certbot-nginx
ekzorchik@mail2:~$ certbot --version
certbot 1.21.0
ekzorchik@mail2:~$
ekzorchik@mail2:~$ sudo certbot certonly --webroot --agree-tos --email support@ekzorchik.ru -d mail.ekzorchik.ru -w /var/www/html/
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for mail.ekzorchik.ru

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/mail.ekzorchik.ru/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/mail.ekzorchik.ru/privkey.pem
This certificate expires on 2023-10-30.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ekzorchik@mail2:~$

Чтобы полученный сертификат от Let's Encrypt обновлялся самостоятельно каждые 90 дней (по умолчанию) нужно:

ekzorchik@mail2:~$ sudo crontab -e
@daily letsencrypt renew --quiet && systemctl reload postfix dovecot nginx

После получения сертификата TLS, давайте сконфигурируем nginx:

sudo nano /etc/nginx/templates/ssl.tmpl
#ssl_certificate /etc/ssl/certs/iRedMail.crt;
#ssl_certificate_key /etc/ssl/private/iRedMail.key;
ssl_certificate /etc/letsencrypt/live/mail.ekzorchik.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.ekzorchik.ru/privkey.pem;
ekzorchik@mail2:~$ sudo systemctl restart nginx

После открываю URL https://mail.ekzorchik.ru/iredadmin, создаю домен и почтовые ящики

Шаг №26: Применяю к своему почтовому серверу на адресе 172.33.2.12 следующие заметки:

жду, когда применятся изменения на DNS хостере AdminVPS по созданной PTR записи и после ее обновления почта начинает успешно ходить: приниматься и отправляться.

Чтобы настроить почту на смартфоне, к примеру, у меня на Honor 9X нужно всего лишь указать следующие настройки подключения к ящику:

Указываем почтовый ящик вида

  • Email: именование_ящика@ekzorchik.ru
  • Pass: пароль от ящика

Доменное имя для IMAP: mail.ekzorchik.ru

  • IMAP порт: 993 /tcp
  • Безопасность: SSL/TLS (принимать все сертификаты)

Доменное имя для SMTP: mail.ekzorchik.ru

  • SMTP порт: 465/tcp
  • Безопасность: SSL/TLS (принимать все сертификаты)

и после почта на смартфоне начинает работать.

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

На заметку: После не забыть посмотреть заметку "Подключение Outlook 2016 к серверу iRedMail домена @ekzorchik.ru"

На этом заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.