Изменение типа сети с Неопознанной сети на Частную сеть по соединению OpenVPN

56790
Filip Ekberg

Можно ли изменить тип подключения в Windows 7? У меня есть соединение OpenVPN, которое идентифицируется как «неопознанная сеть», и я не хочу применять определенные правила ко всем неопознанным сетям в брандмауэре.

Как победить это?

21

9 ответов на вопрос

18
kalwi

Вы должны добавить шлюз по умолчанию для сетевого интерфейса 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 ... 

И теперь сеть идентифицируется в Центре управления сетями и общим доступом, поэтому должно появиться окно «Установить местоположение ...» ;-)

Это правильный ответ. jnm2 12 лет назад 0
Будьте осторожны, держите вашу метрику больше, чем ваши обычные метрики интерфейса! В противном случае вы отключите ваш хост в автономном режиме, как я только что сделал. Linef4ult 9 лет назад 2
10
L. J.

Я не знаю, почему вышеуказанные решения настолько сложны, например, с использованием

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) сделает работу.

8
slhck
Это не позволило мне установить местоположение. Он просто говорит «Включено» вместо «Неопознанная сеть». Если вы хотите установить тип местоположения, см. [Этот ответ] (http://superuser.com/a/218509/85708). jnm2 12 лет назад 0
4
canadianprince

This works nicely with some VPN connections, but lets say the default gateway for your VPN constantly changes. That means, every time you reset the computer, you have to use the 'route add' command over and over again. That is unacceptable.

While researching an issue with VMware in windows 7, I came across a registry dword called *NdisDeviceType. What this does is, it tells windows not to try to identify a specific virtual network adapter. All you have to do is go in the registry and navigate to HKLM\SYSTEM\CurrentControlSet\Control\Class\' to change that.

1 3 3 1 52 2 

There's also the awk idiom, which does not require sorted input:

awk '; END { for(k in h) print k, h[k] }' 

Output:

1 3 52 2 3 1 

As the output here comes from a hash it will not be ordered, pass to sort -n if that is needed:

awk ' END { for(k in h) print k, h[k] }' | sort -n 

If you're using GNU awk, you can do the sorting from within awk:

awk ' END { n = asorti(h, d, "@ind_num_asc"); for(i=1; i<=n; i++) print d[i], h[d[i]] }' 

In the last two cases the output is:

1 3 3 1 52 2 
3
droidgren

I think the absolutely simplest and best way to solve this is to do this:

  1. Open your OpenVPN configuration file.
  2. Add this line: route 0.0.0.0 0.0.0.0 vpn_gateway 50 (don't change vpn_gateway, it's an environment variable) and save.
  3. Connect VPN
  4. If needed continue to step 5 and 6.
  5. Open run (Win+R) and type secpol.msc go to 'Network List Manager Policies'
  6. Right click on on your VPN network, and properties->Network location. Select Private Network.

This way you won't have to care about your VPN gateway IP, and also works with dynamic VPN gateways.

Вы также можете установить показатель (50) выше для VPN с разделенным туннелем, чтобы исправить это, не нарушая разделение. 500 работал на меня computergeek125 6 лет назад 0
2
Robert Martin

Это работает, но лучше, если вы сделаете еще один шаг, изменив настройки 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.

1
palswim

Если вы завершили добавление шлюза по умолчанию (с помощью команд или графического интерфейса Windows ), вам все равно может понадобиться указать Windows, что вы хотите применить обозначение Private или Domain к сети. Возможно, вы случайно пометили сеть как общедоступную или по какой-либо причине никогда не имели возможности выбрать с помощью подсказки «Установить местоположение ...». Я столкнулся с этим сценарием на Windows 10.

Чтобы установить это через реестр, перейдите к ключу сетевых профилей, в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles. The Profiles keyОтсюда Profilesключ содержит список ключей с идентификаторами GUID, которые соответствуют всем сетям, сохраненным на вашем компьютере. Вы можете просмотреть эти ключи GUID и найти свою сеть, сопоставив ProfileNameзначение в ключе. The Profile ID key and ProfileName valueКак только вы найдете правильную сеть в Profilesключе, вы хотите изменить Categoryзначение для сетевого ключа.The Category value in the Profile ID key

Значение в Categoryзначении 0указывает на общедоступную сеть. Вы можете изменить это значение на, 1чтобы пометить сеть как частную или 2назначить сеть как сеть домена. Чтобы применить это изменение, может потребоваться повторная инициализация сетевого подключения.

Если нам нужно удалить изображения из-за водяного знака «TenForums.com», не стесняйтесь редактировать мой вопрос или дайте мне знать. palswim 8 лет назад 0
0
Mister

Все решения, упомянутые выше, на самом деле просто обходные пути, но, как говорят, каждый товар / продукт имеет своих собственных покупателей.

Самое простое - удалить 0.0.0.0созданный неизвестный маршрут, и тогда все должно вернуться на свое место. Просто запустите cmd.exe(как администратор) из командной строки, а затем введите route delete 0.0.0.0Вот и все.

Я не думаю, что регистрация нежелательных маршрутов и другого мусора или просто делать это наоборот и делать слона из мухи - это одна из величайших идей ... Удачи!

0
Greg Glockner

On my Windows 7 machine, the "Unidentified Network" was the symptom of the OpenVPN problem, not the cause. In my case, the fix is to start the OpenVPN client GUI using Administrator Privileges.