Можно ли изменить тип подключения в Windows 7? У меня есть соединение OpenVPN, которое идентифицируется как «неопознанная сеть», и я не хочу применять определенные правила ко всем неопознанным сетям в брандмауэре.
Как можно победить это?
Можно ли изменить тип подключения в Windows 7? У меня есть соединение OpenVPN, которое идентифицируется как «неопознанная сеть», и я не хочу применять определенные правила ко всем неопознанным сетям в брандмауэре.
Как можно победить это?
Ответы:
Посмотрите на «Драйвер TAP / идентифицированные против неопознанных сетей» или «Vista и Windows Server 2008 - Неопознанная сеть»
Вы должны добавить шлюз по умолчанию для сетевого интерфейса OpenVPN.
Я нашел способ добавления маршрута к целевому адресу 0.0.0.0 через сетевой интерфейс, использующий OpenVPN.
В этом примере у меня есть компьютер с физическим интерфейсом с IP-адресами 10.20.20.20 в сети 10.20.20.0/24 и интерфейс OpenVPN TAP с IP-адресом 10.1.1.10/24 в сети 10.1.1.0/24 (IP-адрес сервера включен Сеть VPN 10.1.1.1).
1) Узнайте ваши сетевые интерфейсы и информацию о текущем маршруте к 0.0.0.0:
C:\>route print -4
===========================================================================
Interface List
15...00 ff 6c 3f 5b 0c ......TAP-Win32 Adapter V9
11...00 0e 0c d9 b5 c8 ......Intel(R) PRO/1000 GT Desktop Adapter
===========================================================================
IPv4 Route table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.20.20.1 10.20.20.20 10
10.20.20.0 255.255.255.0 On-link 10.20.20.20 266
...
В настоящее время мы знаем, что номер вашего сетевого интерфейса OpenVPN - 15. Другая важная информация - это метрика текущего маршрута к 0.0.0.0. Новый маршрут к 0.0.0.0 для сети OpenVPN должен иметь более высокое значение показателя, чем текущий, чтобы избежать перенаправления всего сетевого трафика на ваше подключение OpenVPN вместо физической сети (в случае двух маршрутов с одинаковыми маршрутами будет выбран маршрут с более низкой метрикой) ,
2) Добавить маршрут к 0.0.0.0 через интерфейс OpenVPN:
route -p add 0.0.0.0 mask 0.0.0.0 10.1.1.1 metric 50 if 15
Эта команда добавляет маршрут к 0.0.0.0 через интерфейс 15 с метрикой не менее 50 и шлюзом 10.1.1.1. Замените шлюз своим (IP-адрес сервера в сети VPN). И, конечно же, замените номер интерфейса своим собственным.
Аргумент -p добавляет маршрут как постоянный, поэтому он будет сохранен после перезагрузки системы.
3) (Пере) подключиться к VPN-серверу и снова посмотреть таблицу маршрутов:
C:\>route print -4
...
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.20.20.1 10.20.20.20 10
0.0.0.0 0.0.0.0 10.1.1.1 10.1.1.10 80
...
И теперь сеть идентифицируется в Центре управления сетями и общим доступом, поэтому должно появиться окно «Установить местоположение ...» ;-)
Я не знаю, почему вышеуказанные решения настолько сложны, например, с использованием
route add -p commands
или даже добавление в файл OpenVPN server.conf
route 0.0.0.0 vpn_subnet_mask default_gateway
Ошибка может быть просто решена путем перехода к:
Control Panel\Network and Internet\Network Connections
(1) Щелкните правой кнопкой мыши на интерфейсе настройки / подключения OpenVPN и выберите «Состояние»> выберите «Детали»> запишите запись DHCP-сервера IPv4. вам нужно будет заполнить это как шлюз по умолчанию в (2).
(2) Щелкните правой кнопкой мыши интерфейс настройки / нажатия OpenVPN и выберите «Свойства»> открыть свойства TCP / IPv4> нажмите «Дополнительно». под шлюзами по умолчанию нажмите кнопку «Добавить» и введите точно такую же запись, которая используется в качестве DHCP-сервера, показатель «автоматический». Теперь подождите, пока адаптер волшебным образом не появится как приватный.
То, что вы только что сделали, точно так же, как в двух вышеупомянутых решениях - добавление постоянных маршрутов - но это даже лучше - оно сохраняется после перезагрузки, поскольку настроено в Windows. Вы можете на самом деле проверить cmd, набрав «route print», и вы увидите 1 запись, добавленную в таблицу маршрутизации, а также 1 запись в списке постоянных маршрутов. Если метрика нового маршрута меньше, чем у вашего физического адаптера, повторите (2) и измените метрику с «автоматического» на значение выше, чем у физического адаптера.
Если ваш шлюз (IP-адрес сервера openvpn) является статическим, добавление его (2) сделает работу.
Это хорошо работает с некоторыми VPN-соединениями, но, скажем, шлюз по умолчанию для вашей VPN постоянно меняется. Это означает, что каждый раз, когда вы перезагружаете компьютер, вы должны снова и снова использовать команду «добавить маршрут». Это недопустимо.
Исследуя проблему с VMware в Windows 7, я наткнулся на меч реестра, называемый * NdisDeviceType. Это говорит Windows о том, что не следует пытаться идентифицировать конкретный виртуальный сетевой адаптер. Все, что вам нужно сделать, это зайти в реестр и перейти к HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318
.
Оказавшись там, ищите в ключах строку, вызываемую DriverDesc
со значением «Tap-win». Это ключ к виртуальному адаптеру, который использует OpenVPN. Затем создайте слово с именем * NdisDeviceType и присвойте ему значение 1.
Наконец, перезагрузите компьютер. Теперь вы не должны видеть неопознанную сеть. Пожалуйста, не забудьте сделать резервную копию вашего реестра, прежде чем пытаться эту модификацию. Если вы используете OpenVPN, и вам это неудобно, вы можете скачать скрипт, который сделает это за вас.
Я думаю, что самый простой и лучший способ решить эту проблему - сделать это:
route 0.0.0.0 0.0.0.0 vpn_gateway 50
(не изменяйте vpn_gateway, это переменная окружения) и сохраните.secpol.msc
go в «Политики диспетчера списка сетей»Таким образом, вам не нужно заботиться о IP-адресе вашего VPN-шлюза, а также работать с динамическими VPN-шлюзами.
Это работает, но лучше, если вы сделаете еще один шаг, изменив настройки IP для адаптера TAP вручную. Используйте, ipconfig
чтобы выяснить правильные настройки и использовать шлюз для DNS-сервера.
Обновление : пропустите этот шаг - если вы сделаете это, ваш IP-адрес не будет замаскирован. Я не знаю, почему это так, но я сделал все, что мог придумать, чтобы полностью изменить ситуацию, но единственный способ - отменить то, что я сделал на этом шаге, и перезагрузить компьютер.
Обновление : проблема, с которой я столкнулся, заключается в том, что я настроил Windows 7 для запуска соединения при загрузке Windows. Иногда, когда я перезагружаюсь или выключаю компьютер, сеть возвращается к неизвестному. Маршрут все равно будет в таблице. Обходным путем было изменение файла конфигурации для клиента VPN, к которому я подключаюсь. Команда, которую я добавил, была:
#Dummy default gateway to work around Windows 'unidentified network'/'unknown network' (put a "#" in front of this)
route-metric 30
route 0.0.0.0 0.0.0.0 10.0.0.1.
Метрика получается путем чтения таблицы маршрутов, которая отображается с:
route print -4
10.0.0.1 - это шлюз, к которому подключается VPN. Например, когда я подключен к VPN, моя таблица маршрутов выглядит примерно так:
-------------------------------------------------------------------------
IPv4 Route Table
-------------------------------------------------------------------------
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.100 25
0.0.0.0 128.0.0.0 10.0.0.1 10.0.7.102 30
Первая запись - это маршрут к моему роутеру. Вторым является VPN-соединение. Теперь, когда я изменяю файл подключения VPN (в моем случае vpn.ovpn), я использую сетевое назначение и создаю маску сети 0.0.0.0, а в качестве шлюза использую 10.0.0.1. Затем я отмечаю, что для метрики установлено значение 30, а в файле конфигурации - 30.
Если вы завершили добавление шлюза по умолчанию (с помощью команд или графического интерфейса Windows ), вам все равно может понадобиться указать Windows, что вы хотите применить обозначение Private или Domain к сети. Возможно, вы случайно пометили сеть как общедоступную или по какой-либо причине у вас никогда не было возможности выбрать с помощью подсказки «Установить местоположение ...». Я столкнулся с этим сценарием на Windows 10.
Чтобы установить это через реестр , перейдите к ключу сетевых профилей, в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles
. Отсюда Profiles
ключ содержит список ключей с идентификаторами GUID, которые соответствуют всем сетям, сохраненным на вашем компьютере. Вы можете просмотреть эти ключи GUID и найти свою сеть, сопоставив ProfileName
значение в ключе. Как только вы нашли правильную сеть в Profiles
ключе, вы хотите изменить Category
значение для сетевого ключа.
Значение в Category
значении 0
указывает на общедоступную сеть. Вы можете изменить это значение на, 1
чтобы пометить сеть как частную или 2
назначить сеть как сеть домена. Чтобы применить это изменение, может потребоваться повторная инициализация сетевого подключения.
Все решения, упомянутые выше, на самом деле просто обходные пути, но, как говорится, у каждого товара / продукта есть свои покупатели.
Самое простое - удалить 0.0.0.0
созданный неизвестный маршрут, и тогда все должно вернуться на свое место. Просто запустите cmd.exe
(как администратор) из командной строки, а затем введите route delete 0.0.0.0
Вот и все.
Я не думаю, что регистрация нежелательных маршрутов и другого мусора или просто делать это наоборот и делать слона из мухи - это одна из величайших идей ... Удачи!
На моей машине с Windows 7 «Неопознанная сеть» была симптомом проблемы OpenVPN, а не причиной. В моем случае исправление заключается в запуске клиентского графического интерфейса OpenVPN с использованием привилегий администратора.