Просмотр полной версии : Программная настройка VPN-подключения
Задача заключается в следующем: пользователь запускает программу/скрипт/etc и у него устанавливается VPN соединение с сервером. (логин пароль естественно он вводит в эту прогу, но это не суть)
Вопрос: можно ли программно установить VPN-соединение и если да, то как?
SpangeBoB
08.03.2009, 13:12
Connection Manager Administrator Kit (CMAK)
KaZ@NoVa
08.03.2009, 13:29
http://www.winline.ru/forum/forum1/topic2335/messages/ --http://www.cyberguru.ru/operating-systems/windows-server2008/server2008-cmak.html
SpangeBoB
08.03.2009, 13:33
Дали бы документация на производителя,которая гораздо лучше и полнее,а то приводят не пойми кого.
http://technet.microsoft.com/en-us/library/cc739464.aspx
Я так понял, что CMAK распространяется только с вин сервером? Дело в том, что вин сервера нет, и ставить не планируется..
Слышал я о такой программе у одного инет-провайдера, вообщем, она прописывается в реестре и VPN устанавливается автоматом при включении компа.. Т.е юзер не знает ни логина, ни пароля.. Как такое можно сотворить?
SpangeBoB
08.03.2009, 14:24
Плохо когда не хотят читать,а бросаются на форум .Все подробно расписанно в документации приведенной выше.
To install the CMAK wizard on a computer running Windows XP Professional, you must install the Windows Server 2003 Administration Tools Pack. To install the Administration Tools Pack:
Insert the installation CD for a member of the Windows Server 2003 family into the CD-ROM drive of the computer running Windows XP Professional.
Click Perform additional tasks.
Click Browse this CD.
Double-click the I386 folder.
Double-click the Adminpk.msi file and follow the instructions on your screen.
нету вин сервера.
другие варианты, кроме CMAKа есть?
SpangeBoB
08.03.2009, 15:13
Ладно если и читать не хотите,правельные решения,то
You need a batch script to connect to a VPN that is set up on the base machine. I had a similar problem to deal with a while ago and I found this and this link to be helpful. I have used this solution (first link) in the past so it works but I don't have the batch script anymore.
1.) Include rasphone.pbk in your script (under C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\ in XP. under C:\Users\USERNAME\AppData\Roaming\Microsoft\Networ k\Connections\Pbk in Vista)
2.) Set working directory to a variable name so you can return to it
3.) Move to the directory where the phonebook is stored using variable names based on the user profile
4.) Test that the phone book is there, if it is, rename it to rasphone.pbk.bk, then xcopy from the script location (as saved in variable) the new phone book to the new place.
5.) Connect.
6.) When ready, disconnect and overwrite the phone book with your settings in with the original file if it is there, else simply delete the phone book.
Перечитал еще раз документацию. Не нашел ничего похожего.
Чувствую, что сложилось некоторое непонимание между нами:
Мне нужно следующее: я хочу написать программу, или бат файл, чтобы дать ее тупому юзеру, он бы ее запустил и у него создалось подключение к VPN, чтобы он не трахался с ручной настройкой. Как это сделать?
Маздайного сервера нет и не будет.
SpangeBoB
08.03.2009, 18:18
Дайте настройки пользователю в картинках.Вы не хотите ни слушать ,ни читать что вам говорят,вбили в голову не понятно что нужен сервер и все тут.И тупой сдесь вы,а не пользователь,ему это не надо.
Мануал в картинках есть, даже видео. А юзеры не могут настроить. Я если бы не знал, я бы не спрашивал.
На *** спрашивается маздайный сервер? Меня вполне устраивает сервак под линухом. И я бы не написал в этот раздел, если бы юзеры не сидели бы под окнами.
Мне нужен bat файл, чтобы человек его запустил и у него создалось бы подключение. И я спрашиваю, как это сделать?
PS если нечего сказать, лучше промолчать
SpangeBoB
08.03.2009, 19:20
Мануал в картинках есть, даже видео. А юзеры не могут настроить. Я если бы не знал, я бы не спрашивал.
На *** спрашивается маздайный сервер? Меня вполне устраивает сервак под линухом. И я бы не написал в этот раздел, если бы юзеры не сидели бы под окнами.
Мне нужен bat файл, чтобы человек его запустил и у него создалось бы подключение. И я спрашиваю, как это сделать?
PS если нечего сказать, лучше промолчать
Посадите рядом с собой кто умеет читать.
Чтобы установить мастер CMAK на компьютер под управлением Windows XP Professional., необходимо установить средства администрирования Windows Server 2003 (Administration Tools Pack).
Если прочитать,то не требуется сервер Windows Server 2003.
Взять Tools Pack можно сдесь - http://www.microsoft.com/downloads/details.aspx?familyid=c16ae515-c8f4-47ef-a1e4-a8dcbacff8e3&displaylang=en
P.S не надо писать матные слова,про сервера linux,никто не виноват ,что вы плохо читаете.
Bat эту задачу решить нельзя.
Прошу прощения за свое такое поведение :( я был не прав...
Попробовал CMAK, действительно, почти получилось..
Но осталось одно НО: подключение создается, но пытается соединиться с VPN-сервером через dial-up модем. Если в настройках выбрать "у меня уже есть соединение с Интернетом", то все работает. Как это автоматизировать?
[NiGHT]DarkAngel
13.03.2009, 10:32
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objWshSpecialFolders = WshShell.SpecialFolders
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(objWshSpecialFolders("AllUsersDesktop") & "\..\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pb k", 8, true)
file.WriteLine("[vpn]")
file.WriteLine("Encoding=1")
file.WriteLine("Type=2")
file.WriteLine("AutoLogon=0")
file.WriteLine("UseRasCredentials=1")
file.WriteLine("DialParamsUID=8015285")
file.WriteLine("Guid=D4D883519D4D964194E7B9669482A6FD")
file.WriteLine("BaseProtocol=1")
file.WriteLine("VpnStrategy=2")
file.WriteLine("ExcludedProtocols=0")
file.WriteLine("LcpExtensions=1")
file.WriteLine("DataEncryption=8")
file.WriteLine("SwCompression=1")
file.WriteLine("NegotiateMultilinkAlways=0")
file.WriteLine("SkipNwcWarning=0")
file.WriteLine("SkipDownLevelDialog=0")
file.WriteLine("SkipDoubleDialDialog=0")
file.WriteLine("DialMode=1")
file.WriteLine("DialPercent=75")
file.WriteLine("DialSeconds=120")
file.WriteLine("HangUpPercent=10")
file.WriteLine("HangUpSeconds=120")
file.WriteLine("OverridePref=15")
file.WriteLine("RedialAttempts=3")
file.WriteLine("RedialSeconds=60")
file.WriteLine("IdleDisconnectSeconds=0")
file.WriteLine("RedialOnLinkFailure=0")
file.WriteLine("CallbackMode=0")
file.WriteLine("CustomDialDll=")
file.WriteLine("CustomDialFunc=")
file.WriteLine("CustomRasDialDll=")
file.WriteLine("AuthenticateServer=0")
file.WriteLine("ShareMsFilePrint=1")
file.WriteLine("BindMsNetClient=1")
file.WriteLine("SharedPhoneNumbers=0")
file.WriteLine("GlobalDeviceSettings=0")
file.WriteLine("PrerequisiteEntry=")
file.WriteLine("PrerequisiteEntry")
file.WriteLine("PrerequisitePbk=")
file.WriteLine("PreferredPort=VPN4-0")
file.WriteLine("PreferredDevice=Минипорт WAN (L2TP)")
file.WriteLine("PreferredBps=0")
file.WriteLine("PreferredHwFlow=1")
file.WriteLine("PreferredProtocol=1")
file.WriteLine("PreferredCompression=1")
file.WriteLine("PreferredSpeaker=1")
file.WriteLine("PreferredMdmProtocol=0")
file.WriteLine("PreviewUserPw=1")
file.WriteLine("PreviewDomain=0")
file.WriteLine("PreviewPhoneNumber=0")
file.WriteLine("ShowDialingProgress=0")
file.WriteLine("ShowMonitorIconInTaskBar=1")
file.WriteLine("CustomAuthKey=-1")
file.WriteLine("AuthRestrictions=608")
file.WriteLine("TypicalAuth=2")
file.WriteLine("IpPrioritizeRemote=1")
file.WriteLine("IpHeaderCompression=0")
file.WriteLine("IpAddress=0.0.0.0")
file.WriteLine("IpDnsAddress=0.0.0.0")
file.WriteLine("IpDns2Address=0.0.0.0")
file.WriteLine("IpWinsAddress=0.0.0.0")
file.WriteLine("IpWins2Address=0.0.0.0")
file.WriteLine("IpAssign=1")
file.WriteLine("IpNameAssign=1")
file.WriteLine("IpFrameSize=1006")
file.WriteLine("IpDnsFlags=0")
file.WriteLine("IpNBTFlags=1")
file.WriteLine("TcpWindowSize=0")
file.WriteLine("UseFlags=0")
file.WriteLine("IpSecFlags=0")
file.WriteLine("IpDnsSuffix=")
file.WriteBlankLines(1)
file.WriteLine("NETCOMPONENTS=")
file.WriteLine("ms_server=1")
file.WriteLine("ms_msclient=1")
file.WriteLine("ms_psched=1")
file.WriteLine("cntx_vpcnets2=1")
file.WriteBlankLines(1)
file.WriteLine("MEDIA=rastapi")
file.WriteLine("Port=VPN4-0")
file.WriteLine("Device=Минипорт WAN (L2TP)")
file.WriteBlankLines(1)
file.WriteLine("DEVICE=vpn")
file.WriteLine("PhoneNumber=217.114.0.1") // Тут уберешь комент и пропишешь адрес vpn сервера
file.WriteLine("AreaCode=")
file.WriteLine("CountryCode=1")
file.WriteLine("CountryID=1")
file.WriteLine("UseDialingRules=0")
file.WriteLine("Comment=")
file.WriteLine("LastSelectedPhone=0")
file.WriteLine("PromoteAlternates=0")
file.WriteLine("TryNextAlternateOnFail=1")
file.WriteBlankLines(2)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
//настройки сетевки если не надо уберай
strIPAddress = Array("10.0.135.223")
strSubnetMask = Array("255.255.255.0")
arrDNSServerSearchOrder = Array("217.114.10.10")
strGateway = Array("10.0.135.1")
strGatewayMetric = Array(1)
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDNS = objNetAdapter.SetDNSServerSearchOrder(arrDNSServer SearchOrder)
If errEnable = 0 Then
End If
Next
// вот посюда убираешь
'WshShell.Run "%SystemRoot%\explorer.exe ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{7007acc7-3202-11d1-aad2-00805fc1270e}"
WScript.Echo "VPN соединение было успешно создано.."
WshShell.Run "%windir%\system32\rasphone.exe -d vpn"
вот попробуй может пригодиться настройка vpn скриптом даже сетевку автоматом можно настроить :) ... настройки автоматического логина и пароля можно в гугле найти ...
Только если для висты будешь делать поменяй
\..\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pb на путь как в висте,выше в теме он был приведен ...
был файлик для создания соединения впн под хр и сейчас появилась необходимость сделать ещё и для vista & 7, но столкнулся с проблемой :(
как не редактировал путь (сопостовлял пути хр и виста), скрипт в итоге выдает ошибку : Путь не найден
спасибо за внимание.
SpangeBoB
06.10.2009, 23:42
был файлик для создания соединения впн под хр и сейчас появилась необходимость сделать ещё и для vista & 7, но столкнулся с проблемой :(
как не редактировал путь (сопостовлял пути хр и виста), скрипт в итоге выдает ошибку : Путь не найден
спасибо за внимание.
Файл и скрипт приложите.
Файл и скрипт приложите.
содержимое скрипта :
Set WshShell = WScript.CreateObject("WScript.Shell")
Dim Res,Text,Title
Text="Автоматическая настройка VPN-соединения для доступа в Интернет."
Title="Автоматическая настройка VPN-соединения"
Res=MsgBox(Text,vbOkCancel+vbInformation+vbDefault Button2,Title)
If Res=vbOk Then
Else
WScript.Quit()
End If
Const ForReading = 1, ForWriting = 2, ForAppend = 8
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objWshSpecialFolders = WshShell.SpecialFolders
fileName = objWshSpecialFolders("AllUsersDesktop") & "%ALLUSERSPROFILE%\AppData\Roaming\Microsoft\Networ k\Connections\Pbk\rasphone.pbk"
Set file = fso.OpenTextFile(fileName, ForAppend, True)
file.WriteLine("[vpn]")
file.WriteLine("Encoding=1")
file.WriteLine("Type=2")
file.WriteLine("AutoLogon=0")
file.WriteLine("UseRasCredentials=1")
file.WriteLine("DialParamsUID=5180937")
file.WriteLine("Guid=0FED071028B61744930E8D867D61A247")
file.WriteLine("BaseProtocol=1")
file.WriteLine("VpnStrategy=2")
file.WriteLine("ExcludedProtocols=0")
file.WriteLine("LcpExtensions=1")
file.WriteLine("DataEncryption=8")
file.WriteLine("SwCompression=1")
file.WriteLine("NegotiateMultilinkAlways=0")
file.WriteLine("SkipNwcWarning=0")
file.WriteLine("SkipDownLevelDialog=0")
file.WriteLine("SkipDoubleDialDialog=0")
file.WriteLine("DialMode=1")
file.WriteLine("DialPercent=75")
file.WriteLine("DialSeconds=120")
file.WriteLine("HangUpPercent=10")
file.WriteLine("HangUpSeconds=120")
file.WriteLine("OverridePref=15")
file.WriteLine("RedialAttempts=3")
file.WriteLine("RedialSeconds=60")
file.WriteLine("IdleDisconnectSeconds=0")
file.WriteLine("RedialOnLinkFailure=0")
file.WriteLine("CallbackMode=0")
file.WriteLine("CustomDialDll=")
file.WriteLine("CustomDialFunc=")
file.WriteLine("CustomRasDialDll=")
file.WriteLine("AuthenticateServer=0")
file.WriteLine("ShareMsFilePrint=1")
file.WriteLine("BindMsNetClient=1")
file.WriteLine("SharedPhoneNumbers=0")
file.WriteLine("GlobalDeviceSettings=0")
file.WriteLine("PrerequisiteEntry=")
file.WriteLine("PrerequisitePbk=")
file.WriteLine("PreferredPort=VPN4-0")
file.WriteLine("PreferredDevice=Минипорт WAN (L2TP)")
file.WriteLine("PreferredBps=0")
file.WriteLine("PreferredHwFlow=1")
file.WriteLine("PreferredProtocol=1")
file.WriteLine("PreferredCompression=1")
file.WriteLine("PreferredSpeaker=1")
file.WriteLine("PreferredMdmProtocol=0")
file.WriteLine("PreviewUserPw=1")
file.WriteLine("PreviewDomain=0")
file.WriteLine("PreviewPhoneNumber=0")
file.WriteLine("ShowDialingProgress=1")
file.WriteLine("ShowMonitorIconInTaskBar=1")
file.WriteLine("CustomAuthKey=-1")
file.WriteLine("AuthRestrictions=608")
file.WriteLine("TypicalAuth=2")
file.WriteLine("IpPrioritizeRemote=1")
file.WriteLine("IpHeaderCompression=0")
file.WriteLine("IpAddress=0.0.0.0")
file.WriteLine("IpDnsAddress=0.0.0.0")
file.WriteLine("IpDns2Address=0.0.0.0")
file.WriteLine("IpWinsAddress=0.0.0.0")
file.WriteLine("IpWins2Address=0.0.0.0")
file.WriteLine("IpAssign=1")
file.WriteLine("IpNameAssign=1")
file.WriteLine("IpFrameSize=1006")
file.WriteLine("IpDnsFlags=0")
file.WriteLine("IpNBTFlags=1")
file.WriteLine("TcpWindowSize=0")
file.WriteLine("UseFlags=0")
file.WriteLine("IpSecFlags=0")
file.WriteLine("IpDnsSuffix=")
file.WriteBlankLines(1)
file.WriteLine("NETCOMPONENTS")
file.WriteLine("ms_server=1")
file.WriteLine("ms_msclient=1")
file.WriteBlankLines(1)
file.WriteLine("MEDIA=rastapi")
file.WriteLine("Port=VPN4-0")
file.WriteLine("Device=Минипорт WAN (L2TP)")
file.WriteBlankLines(1)
file.WriteLine("DEVICE=vpn")
file.WriteLine("PhoneNumber=10.10.10.30")
file.WriteLine("AreaCode=")
file.WriteLine("CountryCode=1")
file.WriteLine("CountryID=1")
file.WriteLine("UseDialingRules=0")
file.WriteLine("Comment=")
file.WriteLine("LastSelectedPhone=0")
file.WriteLine("PromoteAlternates=0")
file.WriteLine("TryNextAlternateOnFail=1")
file.WriteBlankLines(2)
file.Close
WScript.Echo " VPN соединение создано!"
WshShell.Run "%windir%\system32\rasphone.exe -d vpn"
п.с. путь там уже тот который пытался подобрать после экспериментов...
SpangeBoB
07.10.2009, 09:59
Проверьте точно путь "%ALLUSERSPROFILE%\AppData\Roaming\Microsoft\Networ k\Connections\Pbk.
Я бы подставил:
Set WshSysEnv = WshShell.Environment("Process")
filename = WshSysEnv("SYSTEMDRIVE")+ WshSysEnv("HOMEPATH")+ "\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pb k"
Проверьте точно путь "%ALLUSERSPROFILE%\AppData\Roaming\Microsoft\Networ k\Connections\Pbk.
Я бы подставил:
Set WshSysEnv = WshShell.Environment("Process")
filename = WshSysEnv("SYSTEMDRIVE")+ WshSysEnv("HOMEPATH")+ "\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pb k"
спасибо, вроде подошло :)
буду проверять.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot