The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"локальный postfix использующий удалённый IP через VPN как?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT)
Изначальное сообщение [ Отслеживать ]

"локальный postfix использующий удалённый IP через VPN как?"  +/
Сообщение от fk0 (ok) on 23-Июл-11, 11:44 
  Задача. Есть сервер, на нём постфикс -- почтовый сервер мелкой организации. Есть удалённый сервер. На нём есть 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 и наоборот?  Задача же, наверняка, типовая.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "локальный postfix использующий удалённый IP через VPN как?"  +/
Сообщение от fk0 (ok) on 23-Июл-11, 11:50 

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

2. "локальный postfix использующий удалённый IP через VPN как?"  +/
Сообщение от PavelR (??) on 23-Июл-11, 12:34 
> Вопрос вдогонку. Хотелось бы вообще исходящий траффик завернуть через openvpn тоже.
> Проблемы не вызывает. НО. Хотелось бы, чтоб при недоступности openvpn работало через
> местную сеть. Понятно, что через смену route add default gw ROUTERNAME
> можно добиться. Но как это хорошо сделать, опять же задача достаточно
> типовая?

Это всё типовые задачи. Где-то в "советах" есть готовые скрипты. которые как раз делают смену "route add default gw ROUTERNAME".

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "локальный postfix использующий удалённый IP через VPN как?"  +/
Сообщение от PavelR (??) on 23-Июл-11, 12:46 
>   Задача. Есть сервер, на нём постфикс -- почтовый сервер мелкой
> организации. Есть удалённый сервер. На нём есть openvpn и можно делать
> что угодно, можно выделить отдельный IP с которого всё хотелось бы
> перенаправить на локальный сервер.

Если есть отдельный айпи, то его можно выдать на тот конец опенвпн туннеля,
на сервере прописать маршрут к этому айпи в туннель (/sbin/ip route add 10.60.70.14 dev tap0 src 10.60.70.1 - айпишники тут можно писать "любые").
Чтобы роутер сервера слал пакеты для туннельного айпишника на сервер, надо заюзать арп-публикацию (/usr/sbin/arp -Ds $IP eth0 pub).
Таким образом реальник будет на локальном сервере.

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

Не слушайте больше этого учителя.
Это делается через DNAT. И тогда не будет кривизны типа:

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

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

Не забывайте использовать tcpdump и смотреть в логи.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "локальный postfix использующий удалённый IP через VPN как?"  +/
Сообщение от anonymous (??) on 23-Июл-11, 13:06 
>[оверквотинг удален]
> удалённого сервера через VPN попадало на 25 порт локального сервера, к
> postfix. И наоборот тоже...  И для всех остальных протоколов тоже.
>   В принципе, это всё легко делается через iptables ... -j
> SNAT. Но тогда postfix видит в качестве ip-адресов отправителя VPN-адрес удалённого
> сервера. Что не позволяет нормально принимать спам и т.п.  Да
> и других протоколов (ftp, ssh, http) это тоже слегка касается, иногда
> адрес отправителя важен.
>   Как это можно всё сделать?  Везде linux >= 2.6.18.
> Через iptables отметить (mark) нужные пакеты и через ip route посылать
> их в vpn и наоборот?  Задача же, наверняка, типовая.

Помимо SNAT в таком случае нужен DNAT. Задача действительно типовая и описана в руководстве по iptables, доступном на этом сайте. Читайте разделы про SNAT и DNAT.
iptables -t nat -I PREROUTING -p tcp --dport 25 -d <vpn_server_ip> -j DNAT --to-destination <lan_server_ip>
Приблизительно такого плана правило.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру