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

Исходное сообщение
"VPN через NAT"

Отправлено harlan , 23-Фев-04 08:27 
Доброе время суток.

Есть: маршрутизатор на Linux RH 7.3 + iptables (включен NAT). eth1 "смотрит" во внутреннюю сетку (10.0.0.0/16), eth1 "смотрит в мир".
Во внутренней сети есть два клиента, которые должны работать с одним VPN-сервером, который находится "во вне". Соответственно, логины и пароли у них разные.

Вопрос: могут ли клиенты (при такой конфигурации сти) одновременно устанавливать сессии с указанным VPN-сервером, или пока один работает, второму доступа не будет?
На чём сделан VPN-сервер сказать не могу, но по некоторым прикидкам - Windows 2000.


Содержание

Сообщения в этом обсуждении
"VPN через NAT"
Отправлено Mike , 23-Фев-04 11:16 
Нет не смогут
назначай VPN серверу еще один адрес (alias)
И один клиент должен будет коннектиться на один адрес а другой клиент - на второй адрес.

>Вопрос: могут ли клиенты (при такой конфигурации сти) одновременно устанавливать сессии с
>указанным VPN-сервером, или пока один работает, второму доступа не будет?



"VPN через NAT"
Отправлено trin , 23-Фев-04 12:31 
Зачем VPN-серверу еще один адрес? Или для каждого клиента по адресу надо на сервере поднять? :) У человека нормальный pass-through VPN, все зависит только от используемых протоколов шифрования/аутентификации.

"VPN через NAT"
Отправлено Mike , 23-Фев-04 14:05 
>Зачем VPN-серверу еще один адрес? Или для каждого клиента по адресу надо
>на сервере поднять? :)
Поскольку все клиенты за NATом то именно так - для каждого клиента надо свой адрес VPN сервера. По крайней мере для PPTP точно.


"VPN через NAT"
Отправлено trin , 23-Фев-04 15:56 
>>Зачем VPN-серверу еще один адрес? Или для каждого клиента по адресу надо
>>на сервере поднять? :)
>Поскольку все клиенты за NATом то именно так - для каждого клиента
>надо свой адрес VPN сервера. По крайней мере для PPTP точно.
>
Откуда сведения? Ссылку на документацию можете дать?

спорить не стану, конкретно такой случай не пробовал. Но как тогда в "коробочных" nat-файрволлах класса soho организована поддержка нескольких десятков pass-through сессий? Никаких указаний на невозможность созждать из защищенной сети несколько туннелей на один сервер в документации нет...

Только что попробовал организовать два pptp тоннеля на один сервер с одного клиентского ip - все получается...


"VPN через NAT"
Отправлено Mike , 23-Фев-04 16:10 
Трудно сказать, напрашивается вопрос - указано ли прямо что такое возможно - именно на 1 сервер и на 1 адрес?
Во вторых - эти ограничения может накладывать и сам VPN сервер - с точки зрения сервера к нему идут нескольк коннекции с одного и того же адреса а от него требуется разрулить это в несколько разных туннелей - как он обработает такую ситуацию - непонятно... Это же не просто, как к примеру с почтовым сервером - пришло соединения на 25 или 100 порт - открыл сокет и погнали сувать туда почту ... Тут - то речь идет суть о создании нового адресного пространства и он должен знать что пришедший пакет на адрес такой -то нужно кинуть в другой сокет на адрес такой-то то есть вести таблицу соответсвия а между адресам условно внутреннеми и внешними ....
И в третих что самое менее верятное - ущербность iptables но в это, честно говоря, слабо вериться...


>Никаких указаний на невозможность созждать из защищенной сети несколько туннелей на
>один сервер в документации нет...



"VPN через NAT"
Отправлено trin , 23-Фев-04 16:37 
>Трудно сказать, напрашивается вопрос - указано ли прямо что такое возможно -
>именно на 1 сервер и на 1 адрес?
Не указано обратного :)
>Во вторых - эти ограничения может накладывать и сам VPN сервер -
В задачке не говорится о таком ограничении
>Это же не просто, как к примеру с почтовым сервером -
>пришло соединения на 25 или 100 порт - открыл сокет и
>погнали сувать туда почту ... Тут - то речь идет суть
>о создании нового адресного пространства и он должен знать что пришедший
>пакет на адрес такой -то нужно кинуть в другой сокет на
>адрес такой-то то есть вести таблицу соответсвия а между адресам условно
>внутреннеми и внешними ....
А в чем кардинальные отличия от любого прикладного протокола? Так же организуем сокет, только гоним по нему инкапсулированные пакеты для другого интерфеса - а уже система с ними сама разберется.

>И в третих что самое менее верятное - ущербность iptables но в
>это, честно говоря, слабо вериться...
А в чем они (iptables) ущербны?


"VPN через NAT"
Отправлено trin , 23-Фев-04 17:25 
сомнения мнея одолели, завтра попробую смоделировать. но даже, если ip47 как-то неправильно проходит через nat с одним  реальным адресом (маскарад), можно всегда второй внешний ip на nat-гейте и транслировать трафик этих двух клиентов адрес-в-адрес. imho :)

"VPN через NAT"
Отправлено trin , 23-Фев-04 12:28 
>Вопрос: могут ли клиенты (при такой конфигурации сти) одновременно устанавливать сессии с
>указанным VPN-сервером, или пока один работает, второму доступа не будет?
>На чём сделан VPN-сервер сказать не могу, но по некоторым прикидкам -
>Windows 2000.
Все зависит от того, какой протокол будет использоваться при создании тоннеля - если PPTP, то смогут. Если L2TP или проприетарные на основе ipsec - нет, потому как они через нат не пройдут (модификация заголовка или всего пакета при шифровании/подписывании)


"VPN через NAT"
Отправлено INM , 24-Фев-04 04:51 
Вообще то не вижу препятствий, если только твой шлюз не срежет gre-пакеты. Задачка будет несколько сложнее если одним из клиентов будет сам шлюз. При поднятии vpn(на шлюзе) создается виртуальный интерфейс и в маршрутке должен прописываться дефолтный гейт через него, и нат тоже надо поднимать под него же, следовательно все пакеты с внутренней сети пойдут к серверу через этот интерфейс. Т.е. в таком случае получается что клиент будет пытаться установить vpn через vpn, как это получится не знаю не пробовал. Но думаю стоит попробовать прописать маршрут к серверу vpn(после поднятия vpn интерфейса) на шлюзе через реальный интерфейс и тогда проблем быть не должно.
P.S. Возможно я ошибаюсь, поправте.
Интерес чисто академический - возможен ли vpn через vpn?



"VPN через NAT"
Отправлено trin , 24-Фев-04 12:16 
не прописывайте def gw через vpn интерфейс, пропишите простой маршрут на vpn сетку - и все будет нормально, потому как клиентский трафик для vpn сервера через гейт пойдет уже инкапсулированным. Пакеты из-за ната как ходили, так и будут.

а так, вполне возможно уложить один тоннель внутри другого - например, когда провайдер дает выход в инет через свой vpn гейт, а клиент организует тоннель на vpn сервер в инете - такая схема нормально работает, проверял.


"VPN через NAT"
Отправлено harlan , 24-Фев-04 12:32 
А как организовать VPN через VPN?
Наприпмер ситуация такая:
Гейт: Linux, eth0:1.2.3.4, eth1:172.16.1.1, NAT, pptpd
Клиент: Windows-XX, eth0:172.16.1.2
VPN-сервер: Windows, eth0:2.3.4.5, pptp.

Клиенту, для того, что бы получить доступ в интернет, необходимо установить VPN-сессию с гейтом, далее гейт начинает пропускать пакеты "во-вне". Далее клиенту нужно подключиться к VPN-серверу и тут получаем отлуп: "Модем используется другой программой" Вопрос: как установить
соединение с VPN-сервером, через гейт?


"VPN через NAT"
Отправлено trin , 24-Фев-04 14:14 
>А как организовать VPN через VPN?
>Наприпмер ситуация такая:
>Гейт: Linux, eth0:1.2.3.4, eth1:172.16.1.1, NAT, pptpd
>Клиент: Windows-XX, eth0:172.16.1.2
>VPN-сервер: Windows, eth0:2.3.4.5, pptp.
>
>Клиенту, для того, что бы получить доступ в интернет, необходимо установить VPN-сессию
>с гейтом, далее гейт начинает пропускать пакеты "во-вне". Далее клиенту нужно
>подключиться к VPN-серверу и тут получаем отлуп: "Модем используется другой программой"


>Вопрос: как установить
>соединение с VPN-сервером, через гейт?
Настройки каждого из vpn соединиений хорошо было бы увидеть. Что-то видимо не так настроено, должно работать. Там (в свойствах vpn-коннекта) даже можно настроить предварительное автоматическое подключение vpn-коннекта на интернет гейт (параметр "Очередность установления подключений")