Перенаправить вход с 25 порта на машину с другим default gw

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Platinum
рядовой
Сообщения: 25
Зарегистрирован: 2009-10-31 13:16:52
Откуда: MSK

Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение Platinum » 2009-12-01 23:42:12

Добрый вечер! Имеется 2 сервера на FreeBSD 7.2, в качестве файрволла в обоих случаях используется pf. У обоих серверов провайдеры разные, куплены статические IP, первый получает интернет от провайдера по VPN, второй напрямую. Оба сервера соединены между собой и видят друг друга через "локалку серверов".При этом у первого сервера из интернета 25 порт открыт на вход/выход, у второго только на выход (вход злобным провайдером зарезан, и открывать он его не хочет(((). Проблема заключается в том, что на втором сервере поднят полноценный веб сервер, и необходима также отправка/получение почты. Отправка работает гладко, письма доходят до адресатов, а вот с приемом проблема - для входящих соединений 25 порт закрыт. При этом нужно как то заставить почту доходить до сервера.

Сервер 1: интерфейсы em0 (локалка до провайдера), em1 (локалка серверов), ng0 (интернет)
Сервер 2: интерфейсы em0 (интернет), em1 (локалка серверов)

Переносить почтовый сервер со 2го на 1й нельзя. Я думал настроить перенаправление 25 порта в файрволе 1го сервера на локальный адрес 2го, но не работает. Видимо запрос из внешки попадает на интерфейс 1го сервера ng0 проходит перенаправление, доходит до сервера через интерфейс em1, а ответ 2й сервер уже направляет через интерфейс em0 на основании заданного default gateway, при этом комп ессно на ответ с "левого" адреса не реагирует. Т.е. судя по всему надо как то задать так, чтобы ответ шел туда, откуда пришел, т.е.:

пришел по цепочке: адресат -> srv1 ng0 -> srv1 em1 ->srv2 em1
и уйти должен: srv2 em1 -> srv1 em1 -> srv1 ng0 -> адресат
а сейчас уходит: srv2 em0 -> адресат

Из инструментов - только извращенная фантазия и полный доступ к обоим серверам. :smile:
Помогите пожалуйста реализовать обратный путь, или если так сделать невозможно, как еще можно попробовать обойти зарезанный порт?
Заранее спасибо :smile:

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение schizoid » 2009-12-02 13:40:24

а если так:
на первом сервере настроить релей для второго
второму серверу, сказать что б слал почту не в мир, а на первый.

ну и наверна ж MX записи в ДНС правильные должны быть
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение terminus » 2009-12-02 14:46:13

или перейдите на ipfw и тогда вот вам решение http://www.lissyara.su/?id=1967#example_3
или делайте то же самое на pf
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
Platinum
рядовой
Сообщения: 25
Зарегистрирован: 2009-10-31 13:16:52
Откуда: MSK

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение Platinum » 2009-12-02 20:58:28

terminus, спасибо, посмотрел, там получается вроде как двойной нат, т.е. вся почта будет как бы слаться от шлюза, и если начнут спамить, возникнет вопрос, как банить спамящие ипы, ведь формально почта будет идти с локального адреса :unknown:

schizoid,
второму серверу, сказать что б слал почту не в мир, а на первый.
да с отправкой проблем нет, с получением входящей почты траблы.. (

А можно на 1м сервере, который с открытыми портами поднять почтовый, чтобы он принимал всю почту, идущую на сервер MX записи в ДНС, а и сразу же сбрасывал по внутренней сетке 2му серверу, на котором она и должна быть? Или почту отправлять и получать со 2го через релей 1го. Просто все ограничения из за того, что аккаунты почтовые акки и акки пользователей привязаны к тому серверу, рулится все автоматом, и вынести их на отдельный, вызовет наверняка не меньший гемор :-D

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение schizoid » 2009-12-03 11:24:25

может картинку намалевать? чета я запутался. мне почему-то кажется, что можно решить на уровне самого почтового сервера и ДНСа, а не городить с натама и форвардами....хотя могу ошибаться :)
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
Gamerman
капитан
Сообщения: 1717
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение Gamerman » 2009-12-03 11:28:37

Я так понимаю, что письма ломятся на реал-ИП второго сервака на 25 порт, который закрыт.
Если МХ переписать на Реал-ИП первого сервака и пробросить порт на второй, то должно сработать.
Глюк глюком вышибают!

Аватара пользователя
Platinum
рядовой
Сообщения: 25
Зарегистрирован: 2009-10-31 13:16:52
Откуда: MSK

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение Platinum » 2009-12-03 15:53:24

schizoid,
может картинку намалевать?
готово :)
map2.png
схемка
server 1 - просто шлюз. Порт открыт в обе стороны, можно отправлять/получать почту.
server 2 -web, mail сервер. Почту с него отправить можно, она уйдет, но получить почту невозможно, на вход порт закрыт провайдером.
Gamerman, прописывал в ДНС "mx.domain.ru 99.66.99.66", настраивал проброс, ничего не дало - получаем запросный пакет с em1 - а ответ сервер отправляет через default gw через em0.. :unknown: Должно же соединение установится, а получается клиент (другой почтовый сервер) кидает пакет на 99.66.99.66, а ответ приходит ему с 77.88.77.88 .. он его отбрасывает ессно, а соединение отваливается по таймауту, т.к. с 99.66.99.66 не получен ответ. :st:

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение schizoid » 2009-12-03 18:52:47

на сервере 2 стоит МТА?
на сервере 1 стоит МТА?
доменом вы рулите?
покажите еще где какая запись МХ и А
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
Gamerman
капитан
Сообщения: 1717
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение Gamerman » 2009-12-03 21:36:07

а получается клиент (другой почтовый сервер) кидает пакет на 99.66.99.66, а ответ приходит ему с 77.88.77.88 .. он его отбрасывает ессно,
Да, действительно, так и будет. Нужно научить второй сервер отправлять пакеты на 25 порт через первый. Например используя nat i ipfw.
Глюк глюком вышибают!

Аватара пользователя
Platinum
рядовой
Сообщения: 25
Зарегистрирован: 2009-10-31 13:16:52
Откуда: MSK

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение Platinum » 2009-12-04 8:53:13

на сервере 2 стоит sendmail+tls+sasl2-8.14.3_1
на сервере 1 ничего не стоит, но можно поставить
доменом ессно рулю я, сервер 2 работает еще и как днс :smile:

Сейчас mx прописан на сервер 1.
domain.ru. 3600 IN A 77.88.77.88
domain.ru. 3600 IN MX 10 mx.domain.ru.
mx.domain.ru. 3600 IN A 99.66.99.66

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение schizoid » 2009-12-04 11:16:35

Platinum писал(а):на сервере 2 стоит sendmail+tls+sasl2-8.14.3_1
на сервере 1 ничего не стоит, но можно поставить
доменом ессно рулю я, сервер 2 работает еще и как днс :smile:

Сейчас mx прописан на сервер 1.
domain.ru. 3600 IN A 77.88.77.88
domain.ru. 3600 IN MX 10 mx.domain.ru.
mx.domain.ru. 3600 IN A 99.66.99.66
вариант1.
поставить на сервер 1 MTA как релей. им же принимать и отправлять почту.
MX для домена тоже натравить на первый сервер
на втором в качестве релея указывать почтовик на сервере 1.

вариант2.
на сервере 2 форвардить все запросы OUT 25 порт на 1-й сервер типа:
fwd 172.16.16.17 ip from me to any 25
MX для домена натравить на первый сервер
на первом сервере настроить проброс 25-го порта на 2-й сервер.

это мое видение...
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
Platinum
рядовой
Сообщения: 25
Зарегистрирован: 2009-10-31 13:16:52
Откуда: MSK

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение Platinum » 2009-12-04 21:02:31

почему то только сейчас додумался посмотреть на то, на что надо было глянуть раньше... :-o
видно каким образом отвечаем яндексу....

all tcp 172.16.16.16:25 -> 77.88.77.88:60185 -> 95.108.130.92:36477 SYN_SENT:CLOSED

ответ уходит вообще с совершенно других портов, каждый раз разных, причем отнюдь не 25..
так что походу в моем случае только 1 вариант.... :(
А что посоветуете в качестве релея? так же sendmail поставить или exim? :smile:

Аватара пользователя
Gamerman
капитан
Сообщения: 1717
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение Gamerman » 2009-12-04 21:06:30

all tcp 172.16.16.16:25 -> 77.88.77.88:60185
Странно, а чего он уходит с локального ІР?
Глюк глюком вышибают!

Аватара пользователя
Platinum
рядовой
Сообщения: 25
Зарегистрирован: 2009-10-31 13:16:52
Откуда: MSK

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение Platinum » 2009-12-04 21:09:56

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

Аватара пользователя
Gamerman
капитан
Сообщения: 1717
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение Gamerman » 2009-12-04 21:19:48

Если я правильно читаю картинку, то 172.16.16.16 и 77.88.77.88 - это сервер2. Почему идет внутри проброс между интерфейсами? Может у вас настройки, что слушать только второй интерфейс?
Глюк глюком вышибают!

Аватара пользователя
Platinum
рядовой
Сообщения: 25
Зарегистрирован: 2009-10-31 13:16:52
Откуда: MSK

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение Platinum » 2009-12-04 21:36:33

Все верно, это сервер2. PF показывает путь идущего соединения, приняли запрос на соединение пробросом от 1го:25 на локальный адрес:25 - отправляем ответ серверу, запросившему соединение назад, как и весь остальной трафик, через внешний интерфейс дефолтом. А сервер нас шлет с нашим ответом куда подальше :smile:

А настройки сейчас стоят слушать все с 25 портом :) Есть еще компы с динамикой, которые через один и тот же инетовский свитч вместе с сервером2 подключены, они нормально с ним "разговаривают"

Код: Выделить всё

220 server2.domain.ru ESMTP Sendmail 8.14.3/8.14.3; Fri, 4 Dec 2009 21:44:54 +0300 (MSK)
А дальше все идет отдельным вланом до провайдера, и там он собственно мне почту, идущую к серверу и режет :(

Аватара пользователя
Gamerman
капитан
Сообщения: 1717
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение Gamerman » 2009-12-04 21:54:28

Так это он при пробросе так работает. Теперь уже понятно. :)
Тогда форвардить

Код: Выделить всё

fwd 172.16.16.17 ip from me to any 25
тоже не получиться, так как другие смтп-сервера отправляют запрос с другого порта.
Но можно форвардить от имени сервиса смтп.
типа

Код: Выделить всё

fwd 172.16.16.17 ip from me to any uid mail 
mail замени на свой правильный

PS. За синтаксис не ручаюсь, потому что не работал с PF.
Глюк глюком вышибают!

Аватара пользователя
Platinum
рядовой
Сообщения: 25
Зарегистрирован: 2009-10-31 13:16:52
Откуда: MSK

Re: Перенаправить вход с 25 порта на машину с другим default gw

Непрочитанное сообщение Platinum » 2009-12-05 1:49:45

После прописывания определенных шаманских строк, типа 1 и 3 все таки пакеты стали уходить куда нужно, но теперь по 77.88.77.88, с тех компов, которые в инетовском свитче, раньше можно было зайти на 77.88.77.88:25 порт, а теперь нет.. только 172.16.16.16:25 и 99.66.99.66:25 с редиректом. Помоему косяк :smile:

server1:
nat pass on $srv_if from any to 172.16.16.16 port 25 -> ($srv_if)
rdr pass on $vpn_if proto tcp from any to any port 25 -> 172.16.16.16 port 25

server2:
pass out route-to ($int_if 172.16.16.17) proto tcp from 172.16.16.16 port 25 to any