Правильный dst-nat для SMTP сервера
Добавлено: 06 мар 2025, 12:43
Привет сообществу,
Был бы очень признателен, если бы кто-нибудь мог предложить возможную оптимизацию для следующего случая.
Задача: Mikrotik hAP ax3 спереди и Exim SMTP-сервер в беке. Маршрутизация выполняется с использованием правила dstnat, вот цепочка правил:
/ip firewall nat
add action=dst-nat chain=dstnat comment="Web/mail server port forwarding" dst-address-list=WAN_IP dst-port=80,443,25,465,993,143 in-interface-list=WAN protocol=tcp to-addresses=192.168.10.110
add action=src-nat chain=srcnat comment="LAN NAT masquerade" out-interface-list=WAN src-address=192.168.10.0/24 to-addresses=<WAN_IP>
add action=src-nat chain=srcnat comment="Guest NAT masquerade" out-interface-list=WAN src-address=192.168.11.0/24 to-addresses=<WAN_IP>
Комментарии:
192.168.10.1 - Внутренний IP роутера Mikrotik
192.168.10.110 - Внутренний IP SMTP сервера
WAN_IP - внешний статический IP на роутере
Описание проблемы: при текущих настройках среднее время подключения к SMTP-серверу составляет около 5-6 секунд, и для некоторых SMTP-клиентов это слишком долго, поэтому они прерывают подключение с таймаутом. Методом проб и ошибок было обнаружено, что при введении правила NAT:
add action=masquerade chain=srcnat comment="Masquerade all LAN traffic" out-interface-list=LAN
время соединения сокращается до десятых долей секунды, но недостаток в том, что внешний IP-адрес клиента, конечно же, маскируется внутренним IP-адресом маршрутизатора:
Пример:
Віключенное правило "Masquerade all LAN traffic"
2025-02-28 00:59:07 H=keeper-us-east-1d.mxtoolbox.com [18.209.86.113] sender verify fail for <supertool@mxtoolboxsmtpdiag.com>: all relevant MX records point to non-existent hosts
2025-02-28 00:59:07 H=keeper-us-east-1d.mxtoolbox.com [18.209.86.113] F=<supertool@mxtoolboxsmtpdiag.com> rejected RCPT <test@mxtoolboxsmtpdiag.com>: relay not permitted
Правило включено
2025-02-28 01:00:21 H=<my.router.name> (keeper-us-east-1d.mxtoolbox.com) [192.168.10.1] sender verify fail for <supertool@mxtoolboxsmtpdiag.com>: all relevant MX records point to non-existent hosts
2025-02-28 01:00:21 H=<my.router.name> (keeper-us-east-1d.mxtoolbox.com) [192.168.10.1] F=<supertool@mxtoolboxsmtpdiag.com> rejected RCPT <test@mxtoolboxsmtpdiag.com>: relay not permitted
Есть ли какой-то оптимальный метод сохранения скорости соединения вместе с исходными IP-адресами клиентов?
Был бы очень признателен, если бы кто-нибудь мог предложить возможную оптимизацию для следующего случая.
Задача: Mikrotik hAP ax3 спереди и Exim SMTP-сервер в беке. Маршрутизация выполняется с использованием правила dstnat, вот цепочка правил:
/ip firewall nat
add action=dst-nat chain=dstnat comment="Web/mail server port forwarding" dst-address-list=WAN_IP dst-port=80,443,25,465,993,143 in-interface-list=WAN protocol=tcp to-addresses=192.168.10.110
add action=src-nat chain=srcnat comment="LAN NAT masquerade" out-interface-list=WAN src-address=192.168.10.0/24 to-addresses=<WAN_IP>
add action=src-nat chain=srcnat comment="Guest NAT masquerade" out-interface-list=WAN src-address=192.168.11.0/24 to-addresses=<WAN_IP>
Комментарии:
192.168.10.1 - Внутренний IP роутера Mikrotik
192.168.10.110 - Внутренний IP SMTP сервера
WAN_IP - внешний статический IP на роутере
Описание проблемы: при текущих настройках среднее время подключения к SMTP-серверу составляет около 5-6 секунд, и для некоторых SMTP-клиентов это слишком долго, поэтому они прерывают подключение с таймаутом. Методом проб и ошибок было обнаружено, что при введении правила NAT:
add action=masquerade chain=srcnat comment="Masquerade all LAN traffic" out-interface-list=LAN
время соединения сокращается до десятых долей секунды, но недостаток в том, что внешний IP-адрес клиента, конечно же, маскируется внутренним IP-адресом маршрутизатора:
Пример:
Віключенное правило "Masquerade all LAN traffic"
2025-02-28 00:59:07 H=keeper-us-east-1d.mxtoolbox.com [18.209.86.113] sender verify fail for <supertool@mxtoolboxsmtpdiag.com>: all relevant MX records point to non-existent hosts
2025-02-28 00:59:07 H=keeper-us-east-1d.mxtoolbox.com [18.209.86.113] F=<supertool@mxtoolboxsmtpdiag.com> rejected RCPT <test@mxtoolboxsmtpdiag.com>: relay not permitted
Правило включено
2025-02-28 01:00:21 H=<my.router.name> (keeper-us-east-1d.mxtoolbox.com) [192.168.10.1] sender verify fail for <supertool@mxtoolboxsmtpdiag.com>: all relevant MX records point to non-existent hosts
2025-02-28 01:00:21 H=<my.router.name> (keeper-us-east-1d.mxtoolbox.com) [192.168.10.1] F=<supertool@mxtoolboxsmtpdiag.com> rejected RCPT <test@mxtoolboxsmtpdiag.com>: relay not permitted
Есть ли какой-то оптимальный метод сохранения скорости соединения вместе с исходными IP-адресами клиентов?