Маршрутизация

1. Андрей Шевченко (Shevon) 18.09.16 11:58 Сейчас в теме
Всем доброго дня!

Имеем терминальный сервер на Windows Server 2003 R2 SP2.
Имеем на нем установленный OpenVPN клиент.
Имеем несколько роутеров Asus WL-500G Premium V2, находящихся удаленно, на которых подняты OpenVPN сервера. Соответственно при подключении клиента они выступают шлюзами. Каждое подключение использует отдельный виртуальный адаптер (TAP-Windows Adapter V9).
Эта часть настроена и работает. Претензий нет.

Суть проблемы такова: нужно это дело так настроить так, чтобы при нескольких одновременно активных OpenVPN-подключениях (несколько терминальных пользователей создали свои подключения) каждый пользователь использовал свой шлюз, т.е. все время шел через свой сетевой интерфейс (виртуальный адаптер), ибо винда использует только один шлюз.

У кого какие мысли по этому поводу

Заранее спасибо!
Ответы
4. Канат Джумадылов (Fox-trot) 54 19.09.16 22:42 Сейчас в теме
(1) Shevon, а какова конечная цель данного мероприятия?
6. Stanislav Orlov (stvorl) 882 19.09.16 23:40 Сейчас в теме
(1) Shevon,

Очень сложно понять что происходит вообще.
Настроено крайне странно, работать оно так будет с постоянными инцидентами.

Подозреваю, что у вас все openvpn-..кгхм.. -серверы настроены идентично, и вашему win2003 выдают адрес в одном том же логическом сегменте сети, и win2003 путается, когда ему приходит пакет от клиента RDP, на тему "куда же его возвращать".
Может я не прав. Тут только смотреть и щупать.

Если отвечать на вопрос "какие мысли", то мысль - вырезать все это на корню, и переделать. Приставить к серверу роутер №0 (или он уже есть), поднять на нем сервер openvpn (в мультиклиентском режиме - mode server, а не mode p2p). Если роутера нет, то openvpn server поставить на самом win2003.

Затем:
а) клиентские роутеры перенастроить в режим openvpn-клиентов,
сеть каждого роутера развести по IP-сегментам (например, у сети роутера №0 - 10.55.0.x, у сети роутера клиента №1 - 10.55.1.x, и т.д.)
Прописать в конфиге сервера openvpn PUSH-ROUTE "10.55.0.0/24", и все роутеры получат маршрут до сети с сервером.
Но я не знаю, какие режимы openvpn поддерживают ваши Asus WL-500G, что они умеют и т.п. Если там openwrt, то умеют точно.

б) вообще поставить по openvpn-клиенту на компьютер каждого клиента, и зацепить их на openvpn-сервер.
Им придет маршрут, они в реальный интернет будут ходить через свой роутер, а в RDP - через openvpn-линк.
2. Gregory Tsoraev (Bedazzled) 19.09.16 13:37 Сейчас в теме
если не ошибаюсь то вам нужно маркировать трафик.

ставте openvpn server туда где стоит Windows Server 2003 R2 SP2. , а роутеры используйте как клиенты.
Очень странная реализация у вас, почему так? там где win2003 нету статики?
3. Андрей Шевченко (Shevon) 19.09.16 21:17 Сейчас в теме
если не ошибаюсь то вам нужно маркировать трафик.


Спасибо! Но я не понимаю, что значит "маркировать".

Иными словами, с помощью сервиса определения ip-адреса мне нужно получить wan-ip роутера, при этом своего для каждого пользователя.
5. Андрей Шевченко (Shevon) 19.09.16 23:34 Сейчас в теме
Fox-trot, написал в привате.
7. Андрей Шевченко (Shevon) 20.09.16 07:01 Сейчас в теме
и вашему win2003 выдают адрес в одном том же логическом сегменте сети


Обижаете... В разных конечно....

Прописать в конфиге сервера openvpn PUSH-ROUTE "10.55.0.0/24"


Прописано подобное в конфигах роутера.

stvorl, Спасибо за совет!
Но, мне не важно по какому пути пойдет клиентский комп в интернет. Мне важно по какому пути пойдет в данный момент cервер с Win 2003.
8. Stanislav Orlov (stvorl) 882 20.09.16 13:00 Сейчас в теме
(7) Shevon,

По идее, у вас даже с такой витиеватой топологией все должно работать, если подсети разведены.

Но, собственно, вы не изложили проблему. В смысле - нигде не сказали что конкретно не работает.
Может быть все и так хорошо, или все-таки можете привести конкретный пример с компьютерами, пингами, адресами и т.п?
9. Андрей Шевченко (Shevon) 20.09.16 14:09 Сейчас в теме
stvorl,

Имеем следующее:
Состояние подключений при двух подключениях VPN:
Состояние сетевых подкючений

Таблица маршрутов при этом выглядит следующими образом:
Таблица маршрутов

Допустим, подключение "Poltava" создал "Пользователь 1", подключение "sphera" - "Пользователь 2". Эти оба пользователя одновременно работают в своих терминальных сессиях.

Если протрассировать, например гугловкий DNS-сервер (в данном случае неважно что).
Получится следующая картина (при двух подключенных в RDP пользователях):
Трассировка


Так вот хотелось, чтобы для пользователя "Пользователь 1", который при входе подымает подключение "sphera"
вместо


было

так


не зависимо от того, поднято ли в данный момент подключение "Poltava" пользователем "Пользователь 2".
10. Stanislav Orlov (stvorl) 882 20.09.16 17:02 Сейчас в теме
(9) Shevon,

Вот.
Наконец то понятно что это. Зачем нужно, кажется понятно тоже.

Полагаю, что под каждым пользователем работает некий софт, экземпляры которого вы бы хотели выводить в инет под разными IP.

Боюсь, под win2003 вы это так не решите.

Поставьте гипервизор (например linux+xen, или hyper-v), разведите пользователей по виртуалкам с виндовс 7 или 8, поставьте им туда тот софт. Каждая виртуалка будет устанавливать свое openvpn-соединение и иметь только один основной шлюз. Лицензий правда потребуется много.

Если есть возможность в вашем софте прописать под каждым юзером прокси-серверы, то можете оставить свой вариант с единым win2003. Но тогда придется настроить отдельный комп на linux, там поставить хитрый прокси-сервер (ну или группу виртуальных прокси под гипервизором), который будет принимать соединения на разные порты, и с каждого порта заворачивать через свой openvpn-шлюз. Под linux это решабельно.
Серверу win2003 доступ в инет придется запретить, чтобы не было прямого "просачивания" в обход прокси.
Прокси - HTTP(s), SOCKS, если позволяет софт, или можно попытаться каждый экземпляр вашего софта "соксифицировать" специальным соксификатором. Сорри за каламбур, погуглите термин.
11. Андрей Шевченко (Shevon) 21.09.16 16:32 Сейчас в теме
stvorl,

Спасибо! Но пусть, наверное, в этой чудо-программе с рабочих станций работают. Такого умного прокси что-то я не нахожу, а подымать с десяток виртуальных машин что-то не хочется, да и железо не позволяет.
Оставьте свое сообщение