From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <4alt@mail.ru> Date: Fri, 2 Jun 2006 18:34:00 +0300 From: Dank Bagryantsev <4alt@mail.ru> X-Priority: 3 (Normal) Message-ID: <1303323366.20060602183400@lugaport.net> To: ALT Linux sysadmin discuss In-Reply-To: <200606021813.10097.dnsmaster@yandex.ru> References: <200605281723.55650.dnsmaster@yandex.ru> <200606021116.16534.dnsmaster@yandex.ru> <673878580.20060602160855@lugaport.net> <200606021813.10097.dnsmaster@yandex.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Subject: Re: [Sysadmins] =?koi8-r?b?UFB0UDog0sHaztnFIGxvY2FsaXAsIM/Qw8nPzsHM?= =?koi8-r?b?2M7PIE1QUEU=?= X-BeenThere: sysadmins@lists.altlinux.org X-Mailman-Version: 2.1.7 Precedence: list Reply-To: Dank Bagryantsev <4alt@mail.ru>, ALT Linux sysadmin discuss List-Id: ALT Linux sysadmin discuss List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Jun 2006 15:34:20 -0000 Archived-At: List-Archive: Здравствуйте, ABATAPA. Вы писали пятница 2 июня 2006 г., 17:13:09: A> 2 июня 2006 17:08, Dank Bagryantsev написал: >> Правильного, да не было. Но был костыль: сделать два pptpd-сервера с >> разными параметрами шифрования на разных IP. A> Ну, это мне и самому очевидно. A> Но это не то, чего хочется, т.к. разные сети + шифрование/без... Не много ли!? >> >> а точно у Вас оборудование не работает с require-mppe-40 ? A> Пробовал. Не получилось. PocketPC 2003. >> Может не поддерживает строгое шифрование (require-mppe-128), а обычное >> (require-mppe-40) поддерживает? A> См. выше. >> Какое шифрование пароля применяете/доступно? A> Все. Ибо (читайте ранее) без MPPE (с теми же паролями) все работает. "Все" - это pap, chap, mschap, mschap-v2 ? если _не_ mschap-v2 MPPE может быть недоступно, проверьте. >> А OpenVPN Вам не подойдет? Там кстати, очень просто можно на клиентов >> "проталкивать" маршруты... A> OpenVPN на PocketPC? A> Не знаю.. К тому же, FreeNibs... >> После подключения клиент имеет уже еще и IP 10.0.0.2/255.255.255.0 и >> соответственно у него должна автоматически возникнуть в >> таблице/подсистеме маршрутизации запись, что сеть 10.0.0.0/24 доступна >> через туннель. A> Почему?! A> Вы же сами писАли: >>"на eth1 172.16.2.1/255.255.255.0 и клиенты 172.16.1.0/24 в одном случае >>указывают VPN-сервер 172.16.1.1, в другом 172.16.2.0/24 - 172.16.2.1" A> Как будет доступен 10.0.0.1, если из сети 172.16.x.x маршрутизации нет?! A> Через VPN? Но это невозможно. >> Я имел ввиду (для случая WinXP клиентов) установленную опцию >> "Использовать основной шлюз в удаленной сети" >> в свойствах VPN-соедиенния, т.е. маршрут по умолчанию через >> VPN-туннель. A> Вы путаете что-то. Причем тут это? Говорится о том, что переданный PPtP A> сервером адрес своей стороны, например, 10.0.0.1, _доступен не будет_. A> А именно туда станут отправляться GRE-пакеты. Неа, неправильно. См. ниже. >> И кстати, опять таки для WinXP-клиентов, после подключения >> VPN-соединения, default route переопределяется, т.е. связь не рвется. A> Связь рвется, когда сервер не доступен по указанному адресу. Из-за чего он A> может быть недоступен - см. выше. >> IMHO, меняются метрики/приоритеты маршрутов по умолчанию. >> IMHO, такой же подход (разные метрики маршрутов по умолчанию) можно >> применять и в linux. A> "Такой же" подход применять нет необходимости, достаточно добавить маршрут на A> VPN-сервер отдельной строкой. И это многократно (в том числе - мной) A> говорилось. >> >> Или чего Вы хотите добиться вообще? >> У меня pptpd смотрит в несколько интерфейсов/изолированных сетей, на >> VPN-сервере в pptpd.conf в localip один IP, в options.pptpd >> require-mppe-40. Через радиус, клиентам (WinXP) выдаются IP в другой сети, >> чем localip. На клиентах в опциях VPN-соедиенения стоит >> "Использовать основной шлюз в удаленной сети". Все работает. >> Чем такая маршрутизация Вас не устраивает? (если отбросить вопрос с >> шифрованием) A> У вас выдаются адреса, с которых localip доступен и так. Я прав? Нет. localip доступен _только_ через VPN-туннель. A> Т.е. у вас есть localip (скажем, 172.16.0.1), этот же адрес указан у клиетов A> как адрес VPN-сервера, клиентам выдается, скажем, 172.16.1.xx/24, сервер A> 172.16.0.1 доступен от них через маршрутизатор 172.16.1.1. Так? A> Это есть у всех, и так и работает. В том числе и у меня. A> Но я хочу в роутере, "смотрящем" в _уже имеющиеся_ сети с _уже имеющейся_ A> адресацией (без возможности сменить что-либо) и без маршрутизации поднять A> общий VPN сервер. A> Попробуйте в приведенном выше примере закрыть доступ к 172.16.0.1, или A> отключить маршрутизацию. И что? Все. >> >> Уточните, у Вас IP интерфейса КПК и IP интерфейса VPN-сервера в одной >> сети? И IP интерфейса VPN-сервера доступен без записи default route в >> таблице маршрутизации на КПК? A> Если бы все было так просто - я бы не мучился, правда? A> Еще раз "уточню" - сервер смотрит в несколько различных сетей. A> Скажем, у него на одной сетевой 172.16.0.1, на другой - 172.16.30.xx A> (динамический), на третьей - 192.168.0.1, на четвертой - 81.xx.yy.zz , и т.д. A> КПК, скажем, через WiFi может получить адрес только по DHCP из блока A> 172.16.30.xx, и он видит ТОЛЬКО свою сеть. Да, он (разумеется!) видит адреса A> 172.16.30.xx, и может начать PPtP-сессию с сервером, но у того только ОДИН A> параметр localip (можно перечислить насколько, но он выдает их как адреса из A> пула - вне связи с интерфейсом, _по одному на каждого клиента_ - так сказано A> в доке), и получив этот IP при установлении протакола, клиенты отправляют A> пакеты на него, но они не доходят более до сервера (да и не должны!). Но A> стОит только поменять localip на 172.16.30.xx (т.е. выдавать доступный A> адрес), как все работает (без шифрования), но... A> Сетей-то много, сразу проблемы возникают у других. A> Теперь понятно? интерфейс сервера с 172.16.30.xx сделайте статичным (IMHO, лучше будет) КПК обращается к этому интерфейсу как к VPN-серверу? маска 255.255.255.0 ? >> IMHO, проблема не в localip на VPN-сервере, а в маршрутизации на КПК. A> Да? А по-моему, в другом. Так же себя будут вести и Windows-клиенты, и Linux. A> Адрес туннеля-то передается сервером! >> Если есть возможность, прикрутите к pptpd FreeRADIUS и >> поэкспериментируйте с аттрибутом: >> Framed-Route (использование см. в rfc2865.txt в поставке FreeRADIUS) - >> можно передавать клиенту маршрут(ы ?). A> Там уже все "прикручино". И что мне это даст? Причем тут выставленный ПОСЛЕ A> поднятия VPN маршрут куда-либо, если localip в той сети не будет доступен, A> какой бы маршрут не выставлялся (я не могу менять параметры той сети, A> настройки firewall, маршрутизацию, и т.д.)? >> Также могут быть полезны Framed-IP-Address и Framed-IP-Netmask. A> ЧЕМ!? Например, "играя" Framed-IP-Netmask можно регулировать "видимость" подсетей. A> Извините, но Вы чего-то не понимаете. См. ниже. A> VPN (в частности, PPtP) - это туннель (в нашем случае - GRE) + управляющей A> tcp-соединение, которые работают ПО ИМЕЮЩИМУСЯ IP. Чем мне помогут эти A> параметры (к тому же, ip можно менять и без Radius)?! Они позволяют назначить A> IP для УСТАНАВЛИВАЕМОГО соединения, а не изменить параметры имеющейся сети! A> Вот смотрите: A> 1. Изолированная сеть. A> 2. Клиент 10.0.0.10 в настройках VPN-подключения имеет адрес сервера 10.0.0.1 A> и тип - pptp. A> 3. Он открывает tcp-соединение на порт 1723 (pptp) сервера 10.0.0.1. A> 4. Сервер егр авторизует, и выдает ему IP, маску, gateway etc, для нового A> подключения, а так же - _адрес своей стороны_ туннеля (фактически, это A> параметр для pppd). И пусть это адрес он быдал из другой сети - 192.168.0.1 A> (прописан в localip, т.к. сервер смотрит и в ту сеть, и там все работает). A> 5. В сети нет маршрутизации (или все закрыто файрволом), и посланные A> GRE-пакеты (src - 10.0.0.10, dst - 192.168.0.1) _не находят_ получателя. ВОТ ОНО!!! :) GRE-пакеты _должны_ продолжать ходить между 10.0.0.10 <-> 10.0.0.1 (src - 10.0.0.10, dst - 10.0.0.1 и обратно) IMHO, GRE является транспортом туннеля, т.е. VPN работает поверх GRE-пакетов (если я правильно помню). Если не верите, проверьте tcpdump'ом как работает рабочий туннель. A> 6. Через некоторое время (короткое) клиент (или сервер) рвут соединение, при A> этом, они в управляющем соединении вполне могут уведомить другую сторону об A> этом - соединение-то установлено между 10.0.0.1 и 10.0.0.10, и оно A> по-прежнему работает. Совершенно верно. Классический признак неверной маршрутизации (IMHO, 90% в этом проблема). Вам нужно выяснить, почему GRE-пакеты клиент пытается передать "внутри" туннеля, когда должен "снаружи". Сниффер в выяснении подобных проблем первейший инструмент :) A> Вот ЧЕМ бы мне помогла возможность указать на VPN-интерфейсе клиента другой A> адрес!? Помочь может смена значения адреса сервера, которое отдается клиенту. A> Есть еще новая опция компиляции pptpd "--with-pppd-ip-alloc", но про нее в A> документации говорится лишь: A> "if using pppd-ip-alloc, manager runs more efficiently - made pptpctrl able to A> have a none, one or both of local/remote addresses rather than only both or A> none - great code simplicication - re-did IP parser" A> Но с ней не все ясно. 8( -- С уважением, Dank