Добрый .... , с прошедшими ... имеется ли возможность создать стандартный vpn server pptp через консоль на windows xp ??? например, через команду netsh ? либо по средством vbscript, vb6, делфи. с++ ? но не интерактивно, то есть не через эмуляцию действия юзера. заранее спасибо.
взять инсталлятор OpenVPN, установить, посмотреть какие файлы он извлекает, какие ключи реестра создает, и упаковать эти файлы в собственный инсталлятор. В принципе, делают как-то silent инсталляторы путем RAR SFX...
ну так это жесть сколько он весить будет .. хотя решение, оставлю на крайняк. неужели нет программного метода создания
tnirof Очень сомнваюсь что есть, хотя можно эмулировать нажатия клавишь, и скрывать окна... Кстате меня тут заинтересовала а можно программно создать VPN паодключение? или на худой конец подключить уже созданное?
скрытие окна + выключение моника при загрузке это не проблема, но вот эмулирование нажатия будет проходит ни всегда .. так как у каждой версии sp + при некоторых запущенных сервисах меняется и сама гуишка.
tnirof тебе еще и универсальный способ, это мечты.... Ну так скажи как подключение, а то могу тебе написать а не намека не ссылки нечего
Код (Text): .386 .model flat, stdcall option casemap :none include \masm32\include\windows.inc include \masm32\include\user32.inc includelib \masm32\lib\user32.lib include \masm32\include\kernel32.inc includelib \masm32\lib\kernel32.lib include \masm32\macros\strings.mac include \masm32\include\masm32.inc includelib \masm32\lib\masm32.lib include \masm32\include\rasapi32.inc includelib \masm32\lib\rasapi32.lib include \masm32\include\msvcrt.inc includelib \masm32\lib\msvcrt.lib _RASENTRYA STRUCT dwSize DWORD ? dwfOptions DWORD ? dwCountryID DWORD ? dwCountryCode DWORD ? szAreaCode db RAS_MaxAreaCode + 1 dup(?) szLocalPhoneNumber db RAS_MaxPhoneNumber + 1 dup(?) dwAlternateOffset DWORD ? ipaddr RASIPADDR <> ipaddrDns RASIPADDR <> ipaddrDnsAlt RASIPADDR <> ipaddrWins RASIPADDR <> ipaddrWinsAlt RASIPADDR <> dwFrameSize DWORD ? dwfNetProtocols DWORD ? dwFramingProtocol DWORD ? szScript db MAX_PATH dup(?) szAutodialDll db MAX_PATH dup(?) szAutodialFunc db MAX_PATH dup(?) szDeviceType db RAS_MaxDeviceType + 1 dup(?) szDeviceName db RAS_MaxDeviceName + 1 dup(?) szX25PadType db RAS_MaxPadType + 1 dup(?) szX25Address db RAS_MaxX25Address + 1 dup(?) szX25Facilities db RAS_MaxFacilities + 1 dup(?) szX25UserData db RAS_MaxUserData + 1 dup(?) dwChannels DWORD ? dwReserved1 DWORD ? dwReserved2 DWORD ? dwSubEntries DWORD ? dwDialMode DWORD ? dwDialExtraPercent DWORD ? dwDialExtraSampleSeconds DWORD ? dwHangUpExtraPercent DWORD ? dwHangUpExtraSampleSeconds DWORD ? dwIdleDisconnectSeconds DWORD ? dwType DWORD ? dwEncryptionType DWORD ? dwCustomAuthKey DWORD ? guidId GUID <> szCustomDialDll db MAX_PATH dup(?) dwVpnStrategy DWORD ? dwfOptions2 DWORD ? dwfOptions3 DWORD ? szDnsSuffix db 256 dup(?) dwTcpWindowSize DWORD ? szPrerequisitePbk db MAX_PATH dup(?) szPrerequisiteEntry db RAS_MaxEntryName + 1 dup(?) dwRedialCount DWORD ? dwRedialPause DWORD ? _RASENTRYA ENDS RASCREDENTIALS STRUCT dwSize DWORD ? dwMask DWORD ? szUserName db UNLEN + 1 dup(?) szPassword db PWLEN + 1 dup(?) szDomain db DNLEN + 1 dup(?) RASCREDENTIALS ENDS .code CreatVPN proc User:dword,Pass:dword local re:_RASENTRYA local crd:RASCREDENTIALS invoke memset,addr re,0,00000B44h mov re.dwSize,00000B44h mov re.dwfOptions,3c000710h mov re.dwCountryID,0 mov re.dwCountryCode,0 invoke lstrcpy,addr re.szLocalPhoneNumber,$CTA0("127.0.0.1") mov re.dwAlternateOffset,0 mov re.dwFrameSize,0 mov re.dwfNetProtocols,4 mov re.dwFramingProtocol,1 invoke lstrcpy,addr re.szDeviceType,$CTA0("vpn") invoke lstrcpy,addr re.szDeviceName,$CTA0("WAN Miniport (L2TP)") mov re.dwIdleDisconnectSeconds,00000000h mov re.dwType,00020000h mov re.dwEncryptionType,00030000h mov re.dwfOptions2,01040000h mov re.dwRedialPause,00000300h mov re.dwVpnStrategy,00020000h invoke RasSetEntryProperties,0,$CTA0("internet"),addr re,00000B44h,0,0 .if eax == 0 invoke lstrcpy,addr crd.szUserName,User invoke lstrcpy,addr crd.szPassword,Pass mov crd.dwMask,3 mov crd.dwSize,sizeof RASCREDENTIALS + 2 invoke RasSetCredentials,0,$CTA0("internet"),addr crd,0 .if eax == 0 .endif .endif ret CreatVPN endp start: invoke CreatVPN,$CTA0("username"),$CTA0("password") invoke ExitProcess,0 end start
tnirof спасибо, прост запарел стандартный "создаватель" и "подключатель" надо свой написать простенький хоть. all И еще дайте мне котонить strings.mac а то почемуто слил с wasm'а масм10 и там нету, в гугле тоже не нашел, странно. Ну и вопрос на всякий пожарный RasDial точно работает с VPN соединениями?
Дабы не создавать еше один топик,вопрос. Пытаюсь поднять nat через netsh.В наличии виртуальная машина с win2k3 на борту,две подсети соответственно 172.16.4.0/24 локальная сеть(local), 192.168.0.0/24 виртульная сеть(vmnet).На основном компьютере стоит winxp. Нужно настроить трансляцию конкретного адреса (к примеру,172.16.4.100) И ТОЛЬКО ЕГО! на интерфесе local для виртуальной подсети (vmnet),что нужно вводить дальше?