LINUX.ORG.RU
ФорумAdmin

локальный postfix использующий удалённый IP через VPN как?


0

2

Задача. Есть сервер, на нём постфикс — почтовый сервер мелкой организации. Есть удалённый сервер. На нём есть openvpn и можно делать что угодно, можно выделить отдельный IP с которого всё хотелось бы перенаправить на локальный сервер. Ставить же postfix на удалённый сервер не хочется по ряду причин... А http и ftp — просто невозможно.

Хотелось бы такую маршрутизацию, чтоб всё попадающее на 25 порт удалённого сервера через VPN попадало на 25 порт локального сервера, к postfix. И наоборот тоже... И для всех остальных протоколов тоже.

В принципе, это всё легко делается через iptables ... -j SNAT. Но тогда postfix видит в качестве ip-адресов отправителя VPN-адрес удалённого сервера. Что не позволяет нормально принимать спам и т.п. Да и других протоколов (ftp, ssh, http) это тоже слегка касается, иногда адрес отправителя важен.

Как это можно всё сделать? Везде linux >= 2.6.18. Через iptables отметить (mark) нужные пакеты и через ip route посылать их в vpn и наоборот? Задача же, наверняка, типовая.

Вопрос вдогонку. Хотелось бы вообще исходящий траффик завернуть через openvpn тоже. Поблемы не вызывает. НО. Хотелось бы, чтоб при недоступности openvpn работало через местную сеть. Понятно, что через смену route add default gw ROUTERNAME можно добиться. Но как это хорошо сделать, опять же задача достаточно типовая?


отдай удаленный(белый?) IP по openvpn локальному постфиксу, привяжи его к этому адресу, и сделай еще одну таблицу маршрутизации, куда зарули все ответы от отданного ранее IP-адреса(чтобы они шли через VPN). Это принцип действия. mark-ом пометь локальный трафик от постфикса и тоже зарули в ранее созданную таблицу маршрутизации. Вроде все... Конкретные примеры дать?

Pinkbyte ★★★★★ ()

Просто сделай DNAT 25 порта с реального айпи на серый внутри VPN.

blind_oracle ★★★★★ ()

>Что не позволяет нормально принимать спам

Да нормально спам будет приниматься :)

На удалённом сервере DNAT для входящих из Инета соединений + SNAT для исходящих в Инет. На локальном сервере, либо "-j MARK" + «ip rule fwmark», либо posftix вешать на ip-адрес тунеля и «ip rule src». В таблицу, куда будет отправлять ip rule можно добавть unreachable default маршрут с метрикой > 1.

Но, чтобы почта номально ходила, для ip-адреса удалённого сервера нужна не только MX-запись, но и PTR.

По второму вопросу, если openvpn при падении тунеля убирает интерфейс, то, достаточно двух маршрутов по умолчанию с разной метрикой.

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