Можно ли изменить тип подключения в Windows 7? У меня есть соединение OpenVPN, которое идентифицируется как "неопознанная сеть", и я не хочу применять определенные правила ко всем неопознанным сетям в брандмауэре.
Как победить это?
Можно ли изменить тип подключения в Windows 7? У меня есть соединение OpenVPN, которое идентифицируется как "неопознанная сеть", и я не хочу применять определенные правила ко всем неопознанным сетям в брандмауэре.
Как победить это?
Вы должны добавить шлюз по умолчанию для сетевого интерфейса 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
перейдите в раздел «Политики диспетчера списка сетей».Таким образом, вам не нужно заботиться о 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 с использованием привилегий администратора.