Paul Arakelyan wrote:
On Wed, Jun 13, 2007 at 05:42:47PM +0300, Oleg Cherevko wrote:
Имеется следующая задачка. Есть Win XP Pro, на которой создан клиентский VPN connection (PPTP) к некому серверу. Сервер выдает клиенту IP адреса динамически, каждый раз разные. По условию задачи, на это поведение сервера повлиять нельзя. "на _это_ нельзя" - а на какое можно? ("ни на какое!"? Угадал?)
Угадал. :) Я эту ситуацию сознательно сформулировал как задачу, которая должна быть решена client-only средствами. В таком виде она нередко встречается (судя по множеству аналогичных вопросов, нагугленных мною в процессе), и потому хорошее решение может иметь практическую пользу не только для меня одного.
Их идея состоит в том, чтобы тупо "в лоб" распарсить вывод команды "ipconfig /all" после того, как VPN поднялся, и добыть оттуда IP адрес, используя априорное знание того, какой префикс будет у полученного VPN'ом динамического IP. Это работает. Но... как-то оно коряво.
Концептуально никаких других быть не должно - тебе или всё нужное дадут по dhcp, или неправильно дадут, или сам руками (пусть и .bat-файлом) ковыряй.
Ну да, как раз про "сам руками" и вопрос. Собственно, сводится-то он, по сути, к тому, как максимально дешево и максимально надежно выяснить 2 вещи: 1) установилось ли определенное VPN-соединение и 2) какой IP при этом получил наш конец VPN-туннеля. У меня было подозрение, что может можно каким-нибудь там, скажем, относительно несложным VBScript'ом подергать, например, за RAS API, чтобы все это узнать, или еще чем-нибудь за что-нибудь эдакое, но примеров подобного я пока не нашел, а лезть в мрачные виндовые глубины, чтобы измыслить такое самостоятельно, пока лениво. Так что по состоянию "на сейчас" я написал немного более навороченную версию этого же bat-файлового решения и успокоился. Но если у кого появятся альтернитивные идеи -- you are welcome. Если же кому мое bat-решение нужно -- скажите, выдам. (Кстати, как оказалось, некоторые даже специально сделанные для этой цели программы пишут и даже продают: http://www.muconsulting.com/rasdialpro/ )
Теперь собственно вопрос -- может кто знает способ поуниверсальнее?
Ага. Сей способ зовётся VMWare server и any *nix inside, с которым совладаешь.
Это понятно. Но это явный overkill. Для себя, "для души" можно и не так еще извратиться, но как технологическое решение для одной этой задачи -- слишком громоздко. Хочется вариант попроще. -- Olwi =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message