LINUX.ORG.RU
ФорумAdmin

Маскарадинг наоборот


0

0

Есть шлюз с внешним IP-адресом и почтовый сервер внтури локальной сети с "серым" IP-адресом.
Нужно, чтобы с помошью настроек iptables на шлюзе все соединения из интернета на внешний IP-адрес tcp:25 уходили на внутренний почтовый сервер сервер.

DNAT не подойдёт, т.к. шлюз по умолчанию у почтового сервера не указан и указан быть не может.

anonymous

Ответ на: Re: Маскарадинг наоборот от sasha999

Re: Re: Маскарадинг наоборот

Двойной НАТ тебе поможет.
На шлюзе: DNAT -> SNAT
Тогда с почтовым сервером будет обшаться шлюз (с точки зрения адресов). Недостаток: в логах почт.сервера будут только адреса шлюза.

sdio ★★★★★ ()

Re: Маскарадинг наоборот

На шлюзе поставить приёмный сервер, который всё будет отдавать внутреннему.

Deleted ()
Ответ на: Re: Маскарадинг наоборот от Deleted

Re: Re: Маскарадинг наоборот

> На шлюзе поставить приёмный сервер, который всё будет отдавать внутреннему.

Нельзя.

anonymous ()
Ответ на: Re: Re: Маскарадинг наоборот от sdio

Re: Re: Re: Маскарадинг наоборот

> На шлюзе: DNAT -> SNAT

По-моему это не будет работать.

Пример:
IP_client -> IP_ext_gate -> IP_int_gate -> IP_server

Приходит пакет от клиента (IP_client->IP_ext_gate).
На шлюзе, с помощью S/DNAT, меняем src_ip на IP_int_gate и dst_ip на IP_server.
Теперь приходит ответный пакет от сервера (IP_server->IP_int_gate).
Тут тоже напрашивается S/DNAT, но откуда в этот момент мы будем знать, что первоначальный пакет был от IP_client, а не от IP_client1 или IP_client999? Т.е. какой адрес указывать в правиле DNAT для ответных пакетов?

> Тогда с почтовым сервером будет обшаться шлюз (с точки зрения адресов). Недостаток: в логах почт.сервера будут только адреса шлюза.

Это пофиг.

anonymous ()
Ответ на: Re: Re: Re: Маскарадинг наоборот от anonymous

Re: Re: Re: Re: Маскарадинг наоборот

У меня работает, а у тебя не будет? :-)
Ты попробуй, а потом расскажешь.

iptables шлюза хранит информацию о измененных пакетах (упрощенно говоря) и для ОТВЕТНЫХ пакетов делает ДНАТ/СНАТ автоматом.
А по твоему рассуждению и просто НАТ не должен работать.

sdio ★★★★★ ()
Ответ на: Re: Re: Re: Маскарадинг наоборот от anonymous

Re: Re: Re: Re: Маскарадинг наоборот

>Т.е. какой адрес указывать в правиле DNAT для ответных пакетов?
Никаких правил не надо. Достаточно 2-х (для СНАТ и ДНАТ соотв.)

iptables -A PREROUTING -t nat -p tcp -d Gate_Ext_IP --dport 25 -j DNAT --to-destination Mail_Server_IP

iptables -A POSTROUTING -t nat -p tcp -d Mail_Server_IP --dport 25 -j SNAT --to-source Gate_Int_IP

sdio ★★★★★ ()

Re: Маскарадинг наоборот

> т.к. шлюз по умолчанию у почтового сервера не указан и указан быть не может.

В смысле??? этот сервер что только локалку видит и все???

zhiltsov ()
Ответ на: Re: Маскарадинг наоборот от zhiltsov

Re: Re: Маскарадинг наоборот

>> т.к. шлюз по умолчанию у почтового сервера не указан и указан быть не может.

> В смысле??? этот сервер что только локалку видит и все???

да.

anonymous ()
Ответ на: Re: Re: Re: Re: Маскарадинг наоборот от sdio

Re: Re: Re: postfix 2.1 помогите с файлом body_checks

Все верно. Небольшое дополнение. Последнее правило SNAT нужно только если локальные клиенты будут соединяться с Gate_Ext_IP. Ну и конечно, если iptables -P FORWARD DROP, то добавить разрешающие правила в FORWARD.

jonatan ()
Ответ на: Re: Re: Re: postfix 2.1 помогите с файлом body_checks от jonatan

Re: Re: Re: postfix 2.1 помогите с файлом body_checks

>> т.к. шлюз по умолчанию у почтового сервера не указан и указан быть не может.
Прошу прощения, просмотрел. Тогда SNAT тоже нужен, как указал sdio.

jonatan ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.