imho.ws |
|
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
19.11.2018, 15:21 | # 1 | |
Administrator
Регистрация: 06.05.2003
Адрес: Московская Подводная Лодка
Пол: Male
Сообщения: 12 037
|
OpenVPN Tap Device идентифицирует сеть как неопознанную/общественную
Столкнулся недавно с проблемой того, что соединение на OpenVPN Tap Device идентифицируется Windows (от Vista и далее) как неопознанная/общественная сеть со всеми вытекающими. Например, правильно настроенный виндовый фаер блочит пинги, SMB и прочие плюшки, открытые для внутренних сетей, и во имя которых как раз VPN зачастую и мутится.
Происходит это из-за того, что пока винда не видит шлюз для сети, она почему-то за нормальную сеть это не считает. Существует вариант прописать шлюз с какой-нибудь адской метрикой, но лично мне он не понравился. Более изящный способ: В ветке реестра Цитата:
После перезагрузки соединение из "Центра управления сетями и общим доступом" пропадает вообще (остается как адаптер в "Панель управления\Сеть и Интернет\Сетевые подключения") но начинает работать как частная сеть. Через этот же параметр реализован, например, виртуальный сетевой адаптер у VirtualBox, только там все это делается автоматом. Если влом искать раздел адаптера в рукопашную, есть пара скриптов: один - cmd, второй - powershell: tapfix.cmd Код:
FOR /F "USEBACKQ" %%A IN (`REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318} /K /F "*"`) DO (REG QUERY %%A /V DriverDesc | (FIND "TAP-Win" && REG ADD %%A /V *NdisDeviceType /T REG_DWORD /D 1 /F)) Код:
# see http://msdn2.microsoft.com/en-us/library/bb201634.aspx # # *NdisDeviceType # # The type of the device. The default value is zero, which indicates a standard # networking device that connects to a network. # # Set *NdisDeviceType to NDIS_DEVICE_TYPE_ENDPOINT (1) if this device is an # endpoint device and is not a true network interface that connects to a network. # For example, you must specify NDIS_DEVICE_TYPE_ENDPOINT for devices such as # smart phones that use a networking infrastructure to communicate to the local # computer system but do not provide connectivity to an external network. # # Usage: run in an elevated shell (vista/longhorn) or as adminstrator (xp/2003). # # PS> .\fix-vmnet-adapters.ps1 # boilerplate elevation check $identity = [Security.Principal.WindowsIdentity]::GetCurrent() $principal = new-object Security.Principal.WindowsPrincipal $identity $elevated = $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) if (-not $elevated) { $error = "Sorry, you need to run this script" if ([System.Environment]::OSVersion.Version.Major -gt 5) { $error += " in an elevated shell." } else { $error += " as Administrator." } throw $error } function confirm { $host.ui.PromptForChoice("Continue", "Process adapter?", [Management.Automation.Host.ChoiceDescription[]]@("&No", "&Yes"), 0) -eq $true} # adapters key pushd 'hklm:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}' # ignore and continue on error dir -ea 0 | % { $node = $_.pspath $desc = gp $node -name driverdesc if ($desc -like "*TAP-Win*") { write-host ("Found adapter: {0} " -f $desc.driverdesc) if (confirm) { new-itemproperty $node -name '*NdisDeviceType' -propertytype dword -value 1 } } } popd # disable/enable network adapters gwmi win32_networkadapter | ? {$_.name -like "*TAP-Win*" } | % { # disable write-host -nonew "Disabling $($_.name) ... " $result = $_.Disable() if ($result.ReturnValue -eq -0) { write-host " success." } else { write-host " failed." } # enable write-host -nonew "Enabling $($_.name) ... " $result = $_.Enable() if ($result.ReturnValue -eq -0) { write-host " success." } else { write-host " failed." } } ps. и не забываем установить высокий приоритет для сервиса OpenVPN: Код:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\OpenVPN] "priority"="HIGH_PRIORITY_CLASS"
__________________
все "спасибы" - в приват и в репутацию! не засоряйте форум!!!! ~~~~~~~~~~~~~~~~~~~~~~ The time has come it is quite clear, our antichrist is M.M.
|
|
Теги (метки) |
openvpn, tap, tap-device, vpn |
|
|