Всем доброго дня!
Имеем терминальный сервер на Windows Server 2003 R2 SP2.
Имеем на нем установленный OpenVPN клиент.
Имеем несколько роутеров Asus WL-500G Premium V2, находящихся удаленно, на которых подняты OpenVPN сервера. Соответственно при подключении клиента они выступают шлюзами. Каждое подключение использует отдельный виртуальный адаптер (TAP-Windows Adapter V9).
Эта часть настроена и работает. Претензий нет.
Суть проблемы такова: нужно это дело так настроить так, чтобы при нескольких одновременно активных OpenVPN-подключениях (несколько терминальных пользователей создали свои подключения) каждый пользователь использовал свой шлюз, т.е. все время шел через свой сетевой интерфейс (виртуальный адаптер), ибо винда использует только один шлюз.
У кого какие мысли по этому поводу
Заранее спасибо!
Имеем терминальный сервер на Windows Server 2003 R2 SP2.
Имеем на нем установленный OpenVPN клиент.
Имеем несколько роутеров Asus WL-500G Premium V2, находящихся удаленно, на которых подняты OpenVPN сервера. Соответственно при подключении клиента они выступают шлюзами. Каждое подключение использует отдельный виртуальный адаптер (TAP-Windows Adapter V9).
Эта часть настроена и работает. Претензий нет.
Суть проблемы такова: нужно это дело так настроить так, чтобы при нескольких одновременно активных OpenVPN-подключениях (несколько терминальных пользователей создали свои подключения) каждый пользователь использовал свой шлюз, т.е. все время шел через свой сетевой интерфейс (виртуальный адаптер), ибо винда использует только один шлюз.
У кого какие мысли по этому поводу
Заранее спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(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-линк.
Очень сложно понять что происходит вообще.
Настроено крайне странно, работать оно так будет с постоянными инцидентами.
Подозреваю, что у вас все 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-линк.
если не ошибаюсь то вам нужно маркировать трафик.
ставте openvpn server туда где стоит Windows Server 2003 R2 SP2. , а роутеры используйте как клиенты.
Очень странная реализация у вас, почему так? там где win2003 нету статики?
ставте openvpn server туда где стоит Windows Server 2003 R2 SP2. , а роутеры используйте как клиенты.
Очень странная реализация у вас, почему так? там где win2003 нету статики?
если не ошибаюсь то вам нужно маркировать трафик.
Спасибо! Но я не понимаю, что значит "маркировать".
Иными словами, с помощью сервиса определения ip-адреса мне нужно получить wan-ip роутера, при этом своего для каждого пользователя.
и вашему win2003 выдают адрес в одном том же логическом сегменте сети
Обижаете... В разных конечно....
Прописать в конфиге сервера openvpn PUSH-ROUTE "10.55.0.0/24"
Прописано подобное в конфигах роутера.
stvorl, Спасибо за совет!
Но, мне не важно по какому пути пойдет клиентский комп в интернет. Мне важно по какому пути пойдет в данный момент cервер с Win 2003.
(7) Shevon,
По идее, у вас даже с такой витиеватой топологией все должно работать, если подсети разведены.
Но, собственно, вы не изложили проблему. В смысле - нигде не сказали что конкретно не работает.
Может быть все и так хорошо, или все-таки можете привести конкретный пример с компьютерами, пингами, адресами и т.п?
По идее, у вас даже с такой витиеватой топологией все должно работать, если подсети разведены.
Но, собственно, вы не изложили проблему. В смысле - нигде не сказали что конкретно не работает.
Может быть все и так хорошо, или все-таки можете привести конкретный пример с компьютерами, пингами, адресами и т.п?
stvorl,
Имеем следующее:
Состояние подключений при двух подключениях VPN:
Таблица маршрутов при этом выглядит следующими образом:
Допустим, подключение "Poltava" создал "Пользователь 1", подключение "sphera" - "Пользователь 2". Эти оба пользователя одновременно работают в своих терминальных сессиях.
Если протрассировать, например гугловкий DNS-сервер (в данном случае неважно что).
Получится следующая картина (при двух подключенных в RDP пользователях):
Так вот хотелось, чтобы для пользователя "Пользователь 1", который при входе подымает подключение "sphera"
было
не зависимо от того, поднято ли в данный момент подключение "Poltava" пользователем "Пользователь 2".
Имеем следующее:
Состояние подключений при двух подключениях VPN:
Таблица маршрутов при этом выглядит следующими образом:
Таблица маршрутов |
---|
IPv4 таблица маршрута
============================================================ Список интерфейсов 0x1 ........................... MS TCP Loopback interface 0x2 ...00 ff ee da 83 7a ...... TAP-Windows Adapter V9 #2 0x3 ...00 ff a7 77 b0 d6 ...... TAP-Windows Adapter V9 0x10005 ...00 0c 29 92 0e f0 ...... Intel® PRO/1000 MT ёхЄхтюх яюфъы■ўхэшх ============================================================ ============================================================ Активные маршруты: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 0.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 1 - Poltava 0.0.0.0 128.0.0.0 10.8.11.5 10.8.11.6 1 - sphera 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.3 20 - Локальная сеть 10.8.0.0 255.255.255.0 10.8.0.5 10.8.0.6 1 - Poltava 10.8.0.1 255.255.255.255 10.8.0.5 10.8.0.6 1 - Poltava 10.8.0.4 255.255.255.252 10.8.0.6 10.8.0.6 30 - Poltava 10.8.0.6 255.255.255.255 127.0.0.1 127.0.0.1 30 - Poltava 10.8.11.0 255.255.255.0 10.8.11.5 10.8.11.6 1 - sphera 10.8.11.1 255.255.255.255 10.8.11.5 10.8.11.6 1 - sphera 10.8.11.4 255.255.255.252 10.8.11.6 10.8.11.6 30 - sphera 10.8.11.6 255.255.255.255 127.0.0.1 127.0.0.1 30 - sphera 10.255.255.255 255.255.255.255 10.8.0.6 10.8.0.6 30 - Poltava 10.255.255.255 255.255.255.255 10.8.11.6 10.8.11.6 30 - sphera 77.120.163.151(WAN "sphera") 255.255.255.255 192.168.1.1 192.168.1.3 1 93.78.155.254(WAN "Poltava") 255.255.255.255 192.168.1.1 192.168.1.3 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 128.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 1 128.0.0.0 128.0.0.0 10.8.11.5 10.8.11.6 1 192.168.1.0 255.255.255.0 192.168.1.3 192.168.1.3 20 192.168.1.3 255.255.255.255 127.0.0.1 127.0.0.1 20 192.168.1.255 255.255.255.255 192.168.1.3 192.168.1.3 20 224.0.0.0 240.0.0.0 10.8.0.6 10.8.0.6 30 - Poltava 224.0.0.0 240.0.0.0 10.8.11.6 10.8.11.6 30 - sphera 224.0.0.0 240.0.0.0 192.168.1.3 192.168.1.3 20 - Локальная сеть 255.255.255.255 255.255.255.255 10.8.0.6 10.8.0.6 1 - Poltava 255.255.255.255 255.255.255.255 10.8.11.6 10.8.11.6 1 - sphera 255.255.255.255 255.255.255.255 192.168.1.3 192.168.1.3 1 - Локальная сеть Основной шлюз: 10.8.0.5 ============================================================ Постоянные маршруты: Отсутствует |
Допустим, подключение "Poltava" создал "Пользователь 1", подключение "sphera" - "Пользователь 2". Эти оба пользователя одновременно работают в своих терминальных сессиях.
Если протрассировать, например гугловкий DNS-сервер (в данном случае неважно что).
Получится следующая картина (при двух подключенных в RDP пользователях):
Трассировка |
---|
Трассировка маршрута к google-public-dns-a.google.com [8.8.8.8]
с максимальным числом прыжков 30: 1 45 ms 47 ms 44 ms 10.8.0.1 - Шлюз (в данном случае для подкючения "Poltava") 2 49 ms 45 ms 45 ms 93.78.155.129 - WAN-адрес роутера, к которому подключатся "Poltava" 3 50 ms 52 ms 45 ms 77.121.10.44 4 49 ms 51 ms 52 ms v132-cr-1.pl.volia.net [77.121.10.249] 5 52 ms 51 ms 49 ms v-3325.cs-1.pl.voli.net [77.121.8.253] 6 53 ms 54 ms 51 ms v904.te0-4-0-3.cr-1.g50.kiev.volia.net [82.144.193.77] 7 55 ms 55 ms 54 ms be3-40g.cr-2.g50.kiev.volia.net [77.120.1.42] 8 54 ms 55 ms 55 ms 72.14.197.22 9 75 ms 69 ms 68 ms 209.85.248.105 10 * * * Превышен интервал ожидания для запроса. 11 85 ms 83 ms 88 ms 216.239.47.137 12 * * * Превышен интервал ожидания для запроса. 13 * * * Превышен интервал ожидания для запроса. 14 * * * Превышен интервал ожидания для запроса. 15 * * * Превышен интервал ожидания для запроса. 16 * * * Превышен интервал ожидания для запроса. 17 * * * Превышен интервал ожидания для запроса. 18 * * * Превышен интервал ожидания для запроса. 19 * * * Превышен интервал ожидания для запроса. 20 87 ms 87 ms 87 ms google-public-dns-a.google.com [8.8.8.8] Трассировка завершена. |
Так вот хотелось, чтобы для пользователя "Пользователь 1", который при входе подымает подключение "sphera"
вместо |
---|
1 45 ms 47 ms 44 ms 10.8.0.1 - Шлюз (в данном случае для подкючения "Poltava")
2 49 ms 45 ms 45 ms 93.78.155.129 - WAN-адрес роутера, к которому подключатся "Poltava" |
было
так |
---|
1 45 ms 47 ms 44 ms 10.8.11.1 - Шлюз для подкючения "Sphera"
2 49 ms 45 ms 45 ms 77.120.163.151 - WAN-адрес роутера, к которому подключается "Sphera" |
не зависимо от того, поднято ли в данный момент подключение "Poltava" пользователем "Пользователь 2".
(9) Shevon,
Вот.
Наконец то понятно что это. Зачем нужно, кажется понятно тоже.
Полагаю, что под каждым пользователем работает некий софт, экземпляры которого вы бы хотели выводить в инет под разными IP.
Боюсь, под win2003 вы это так не решите.
Поставьте гипервизор (например linux+xen, или hyper-v), разведите пользователей по виртуалкам с виндовс 7 или 8, поставьте им туда тот софт. Каждая виртуалка будет устанавливать свое openvpn-соединение и иметь только один основной шлюз. Лицензий правда потребуется много.
Если есть возможность в вашем софте прописать под каждым юзером прокси-серверы, то можете оставить свой вариант с единым win2003. Но тогда придется настроить отдельный комп на linux, там поставить хитрый прокси-сервер (ну или группу виртуальных прокси под гипервизором), который будет принимать соединения на разные порты, и с каждого порта заворачивать через свой openvpn-шлюз. Под linux это решабельно.
Серверу win2003 доступ в инет придется запретить, чтобы не было прямого "просачивания" в обход прокси.
Прокси - HTTP(s), SOCKS, если позволяет софт, или можно попытаться каждый экземпляр вашего софта "соксифицировать" специальным соксификатором. Сорри за каламбур, погуглите термин.
Вот.
Наконец то понятно что это. Зачем нужно, кажется понятно тоже.
Полагаю, что под каждым пользователем работает некий софт, экземпляры которого вы бы хотели выводить в инет под разными IP.
Боюсь, под win2003 вы это так не решите.
Поставьте гипервизор (например linux+xen, или hyper-v), разведите пользователей по виртуалкам с виндовс 7 или 8, поставьте им туда тот софт. Каждая виртуалка будет устанавливать свое openvpn-соединение и иметь только один основной шлюз. Лицензий правда потребуется много.
Если есть возможность в вашем софте прописать под каждым юзером прокси-серверы, то можете оставить свой вариант с единым win2003. Но тогда придется настроить отдельный комп на linux, там поставить хитрый прокси-сервер (ну или группу виртуальных прокси под гипервизором), который будет принимать соединения на разные порты, и с каждого порта заворачивать через свой openvpn-шлюз. Под linux это решабельно.
Серверу win2003 доступ в инет придется запретить, чтобы не было прямого "просачивания" в обход прокси.
Прокси - HTTP(s), SOCKS, если позволяет софт, или можно попытаться каждый экземпляр вашего софта "соксифицировать" специальным соксификатором. Сорри за каламбур, погуглите термин.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот