URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 5099
[ Назад ]

Исходное сообщение
"PREROUTING and real ip's"

Отправлено fire002 , 10-Дек-12 22:07 
Собственно, есть 2 тазика в разных ДЦ (между тазиками пинг 1-2мс).
На тазике 2 (дц2) крутиться сервис, которому важен минимальный пинг от пользователя.
Но у некоторых пользователей пинг до разных ДЦ разный, например до ДЦ1 - пинг 10, до ДЦ2 - 40.
Собственно, сделал такую схему:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 123 -j DNAT --to 11.22.33.44:123
Чтобы некоторые юзеры, могли ходить к сервису через ДЦ1 с маленьким пингом.
Все работает, все ок. Но есть 1 момент, а именно, при заходе юзера через ДЦ1, у него будет IP тазика в ДЦ1. Собственно задача показывать реальные ипы юзеров при заходе через ДЦ1.
Пробовал snat, но похоже я криворук и у меня не вышло.
Подскажите правила.

Содержание

Сообщения в этом обсуждении
"PREROUTING and real ip's"
Отправлено PavelR , 10-Дек-12 22:26 
>[оверквотинг удален]
> - пинг 10, до ДЦ2 - 40.
> Собственно, сделал такую схему:
> iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 123 -j
> DNAT --to 11.22.33.44:123
> Чтобы некоторые юзеры, могли ходить к сервису через ДЦ1 с маленьким пингом.
> Все работает, все ок. Но есть 1 момент, а именно, при заходе
> юзера через ДЦ1, у него будет IP тазика в ДЦ1. Собственно
> задача показывать реальные ипы юзеров при заходе через ДЦ1.
> Пробовал snat, но похоже я криворук и у меня не вышло.
> Подскажите правила.

поднимай туннель между серваками.
openvpn/gre/ipip - по вкусу.


"PREROUTING and real ip's"
Отправлено name , 11-Дек-12 18:40 

> поднимай туннель между серваками.
> openvpn/gre/ipip - по вкусу.

если не хочешь заморачиваться с тоннелями, то на дц2 делаешь нат не твой рабочий порт дц1, а на служебный например дц1:66666.

на дц1, пакеты идущие на порт 66666 маркируешь и отправляешь на твой служебный порт 123.
ответы отправляешь обратно на дц2, а там через SNAT кидаешь уже клиенту.

фигня какая-то получилась, но как-то так


"PREROUTING and real ip's"
Отправлено anonymous , 11-Дек-12 19:38 
>[оверквотинг удален]
>> iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 123 -j
>> DNAT --to 11.22.33.44:123
>> Чтобы некоторые юзеры, могли ходить к сервису через ДЦ1 с маленьким пингом.
>> Все работает, все ок. Но есть 1 момент, а именно, при заходе
>> юзера через ДЦ1, у него будет IP тазика в ДЦ1. Собственно
>> задача показывать реальные ипы юзеров при заходе через ДЦ1.
>> Пробовал snat, но похоже я криворук и у меня не вышло.
>> Подскажите правила.
> поднимай туннель между серваками.
> openvpn/gre/ipip - по вкусу.

Правильно Вам подсказывают, туннель + маршрутизация более удачное решение, нежели трансляция адресов.


"PREROUTING and real ip's"
Отправлено fire002 , 12-Дек-12 01:03 
> Правильно Вам подсказывают, туннель + маршрутизация более удачное решение, нежели трансляция
> адресов.

Туннель немного не подходит, ибо на ипах уже есть сервисы, нужно именно по определенным портам.


"PREROUTING and real ip's"
Отправлено anonymous , 12-Дек-12 11:47 
>> Правильно Вам подсказывают, туннель + маршрутизация более удачное решение, нежели трансляция
>> адресов.
> Туннель немного не подходит, ибо на ипах уже есть сервисы, нужно именно
> по определенным портам.

Ну так как раз чтобы был доступ к этим сервисам на этих IP, Вам и нужна маршрутизация. Переносить сервисы на иные IP не придется.


"PREROUTING and real ip's"
Отправлено LSTemp , 03-Фев-13 05:10 
>[оверквотинг удален]
> - пинг 10, до ДЦ2 - 40.
> Собственно, сделал такую схему:
> iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 123 -j
> DNAT --to 11.22.33.44:123
> Чтобы некоторые юзеры, могли ходить к сервису через ДЦ1 с маленьким пингом.
> Все работает, все ок. Но есть 1 момент, а именно, при заходе
> юзера через ДЦ1, у него будет IP тазика в ДЦ1. Собственно
> задача показывать реальные ипы юзеров при заходе через ДЦ1.
> Пробовал snat, но похоже я криворук и у меня не вышло.
> Подскажите правила.

1)
при DNAT ИП источника подменяется адресом сервера, который DNAT делал. так что тут никаких вариантов решения нет

2)
смотреть в сторону раздельных таблиц маршрутизации iproute2 etc

3)
смотреть в сторону тунелей



"PREROUTING and real ip's"
Отправлено Andrey Mitrofanov , 04-Фев-13 11:19 
> при DNAT ИП источника подменяется

При DNAT заменяется dest.ip пакета. Не "ИП источника", а адрес _назначения, то есть.


"PREROUTING and real ip's"
Отправлено LSTemp , 05-Фев-13 06:24 
>> при DNAT ИП источника подменяется
> При DNAT заменяется dest.ip пакета. Не "ИП источника", а адрес _назначения, то
> есть.

все верно. каюсь) - отвлекся на другую задачу и глупость сморозил.