Назад | Перейти на главную страницу

Как перенаправить порт smtp с 25 на одном ip на 2525 на другом внешнем mail.domain.com?

Как перенаправить порт smtp с 25 на одном ip на порт 2525 на другом внешнем mail.domain.com?

Пример: у меня ip как xxx.xx.xx.xxx и порт прослушивания как 25 для smtp, теперь я хочу перенаправить или перенаправить запросы с этого порта на порт 2525 в домене. mx1.somefreehosting.com.

Можно ли это сделать с помощью nginx, например веб-сервера, или мне нужно использовать iptables? Я хочу быть уверенным, что массовая рассылка или спам устранены. Я сослался этот вопрос, но не смог прокомментировать это, так как у меня меньше очков репутации.

Мотив - настроить учетную запись электронной почты на моем Nokia Lumia, которая не может отправлять электронную почту через smtp (может быть из-за порта).

РЕДАКТИРОВАТЬ: (См. Комментарии с Нильсом). Я хочу создать средний компьютер, который просто перенаправляет SMTP-соединение на некоторый внешний MTA. Я не эксперт, поэтому, возможно, не смогу написать технически правильные слова.

Мой vps будет слушать myip: 25 и перенаправлять его на внешний ip: 2525. Не знаю, насколько это возможно?

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

Решение на основе iptables было очень простым, похожим на то, что мы можем прочитать в этот вопрос:

iptables -t nat -A OUTPUT -d ip.of.target.mx -p tcp --dport 25 -j DNAT --to-destination ip.of.target.mx:2525

Недостаток этого решения в том, что оно перенаправляет все трафик, идущий на этот порт, а не только трафик, исходящий от вашего mx.

Может быть, кто-нибудь придет с прямым решением на основе mx-config, если оно существует.


Сетевые провайдеры очень рады отфильтровывать трафик исходящего TCP-порта 25. Они это делают, потому что они используются в основном для рассылки спама на зараженных машинах. Если вы хотите иметь исходящий трафик на порт 25, вам необходимо использовать MX сетевого провайдера, который не всегда очень хорошо настроен (например, вы не можете отправлять через него письма на почтовые серверы, требующие аутентификации).

В ваших проблемах я обычно делаю, что настраиваю свой пост и на другом порту (например, на порту 24). С постфиксом все очень просто.

Если вы хотите сделать что-то подобное, но с iptables, вам нужно перенаправить свой входящий трафик, а не исходящий. Если вы хотите перенаправить входящий TCP-порт 2525 на 25 внутри, вы можете прочитать этот вопрос:

iptables -A PREROUTING -t nat -i -p tcp --dport 2525 -j REDIRECT --to-port 25

Из ваших комментариев "Средняя машина, которая просто перенаправляет SMTP-соединение на внешний MTA." и "Мой vps будет слушать myip: 25 и перенаправлять его на внешний ip: 2525"Я предполагаю, что это то, что вам нужно сделать на промежуточном компьютере пересылки SMTP:

iptables -t nat -A PREROUTING  -p tcp --dport 25 -j DNAT --to-destination IP_OF_EXTERNAL_MTA:2525
iptables -t nat -A POSTROUTING -p tcp -d IP_OF_EXTERNAL_MTA --dport 2525 -j MASQUERADE
sysctl -w net.ipv4.ip_forward=1

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

Я предполагаю, что других правил iptables уже нет, например некоторыми фреймворками межсетевого экрана, такими как firewalld или ufw.

Но я как бы сомневаюсь, что это действительно то, чего вы хотите. Вы уверены, что не наоборот, и ваша VPN должна прослушивать 2525 (чтобы предотвратить блокировку порта), а внешний MTA прослушивает 25?

Опять же, более простой способ обойти блокировку порта 25 - использовать 465 / SMTPS или 587 / submission.