LINUX.ORG.RU
ФорумAdmin

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


0

0

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

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

anonymous

Ответ на: комментарий от sasha999

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

sdio ★★★★★
()

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

Deleted
()
Ответ на: комментарий от Deleted

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

Нельзя.

anonymous
()
Ответ на: комментарий от sdio

> На шлюзе: 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
()
Ответ на: комментарий от anonymous

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

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

sdio ★★★★★
()
Ответ на: комментарий от anonymous

>Т.е. какой адрес указывать в правиле 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 ★★★★★
()

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

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

zhiltsov
()
Ответ на: комментарий от zhiltsov

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

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

да.

anonymous
()
Ответ на: комментарий от sdio

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

jonatan
()
Ответ на: комментарий от jonatan

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

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