Windows 7, сетевое соединение без шлюза по умолчанию: есть ли способ изменить статус «Неизвестная сеть»?


17

У меня есть компьютер под управлением Windows 7 Pro RTM. Этот компьютер имеет два сетевых подключения:

  • Подключение Wi-Fi к Интернету (через домашний маршрутизатор), которое работает просто отлично.
  • Подключение к виртуальной сети OpenVPN. Точнее, это виртуальное соединение Ethernet, которое ведет себя точно так же, как и физическое проводное соединение Ethernet.

Моя проблема в том, что «Центр управления сетями и общим доступом» показывает «Неизвестная сеть» для соединения OpenVPN. После некоторых исследований я обнаружил, что логические сети (вне домена) идентифицируются по MAC-адресу шлюза по умолчанию для соединения. Проблема в том, что у соединения OpenVPN нет шлюза по умолчанию: это частная сеть, поэтому она мне не нужна ...

Следовательно, «Неизвестная сеть» всегда считается общедоступной, поэтому брандмауэр всегда находится в «общедоступном режиме», чего я не хочу. Кроме того, я не могу переименовать «Неизвестное соединение» или что-нибудь (что имеет смысл), так что это довольно уродливо.

Моя цель - определить правильную логическую сеть для соединения OpenVPN с частным профилем. Я знаю некоторые обходные пути (отключите брандмауэр, измените политику безопасности, чтобы сделать все неизвестные сети «частными»), но они все еще обходные пути. Я просто хочу, чтобы мои клиенты подключались к VPN, не отключая настройки брандмауэра, не меняя глобальную конфигурацию с потенциальными побочными эффектами (решение «политика безопасности») и не глядя на уродливое «Неизвестное соединение» в сети. и центр обмена.

Есть ли способ, которым я могу сделать это? Я пытался проверить, что происходит в реестре (HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ NetworkList интересен), но я все еще не нашел способа «заставить» соединение OpenVPN назначаться логическому сеть.

Любая помощь будет принята с благодарностью.

Соответствующий вопрос появился в Superuser: /superuser/37355/windows-7-cant-identify-network/37422


2
Действительно интересный вопрос, я надеюсь, что он получит ответ.
Массимо

1
У меня нет способа проверить это прямо сейчас, но не могли бы вы добавить IP-адрес в качестве шлюза, направляя его на себя?
Jes

Хорошая попытка, но она не работает: Windows не позволяет мне установить адрес шлюза по умолчанию в IP-адрес сетевой карты. Это не показывает никакой ошибки, но когда я возвращаюсь в свойства соединения, шлюз по умолчанию все еще пуст.
Этьен Дечамс

Джес: после обсуждения в Superuser я попробовал это снова (установил собственный IP в качестве шлюза), и он работает ... пока интерфейс не отключен или компьютер не перезагрузится. Когда я снова включаю его, шлюз по умолчанию снова исчезает ... есть идеи?
Этьен Дечамс

Ответы:


4

Существует скрипт Powershell здесь , что выглядит , как это делает то , что вы хотите.


Удаление всех функций сетевой осведомленности на интерфейсе не было решением, которое я ожидал, но я должен признать, что он делает свое дело. Наверное, лучше, чем ничего. Я приму ваш ответ, по крайней мере, пока не придет лучший.
Этьен Дечам

3
ах, это мой сценарий (с сайта nivot.org)
x0n

9

Я просто хочу, чтобы мои клиенты подключались к VPN, не отключая настройки брандмауэра, не меняя глобальную конфигурацию с потенциальными побочными эффектами (решение «политика безопасности») и не глядя на уродливое «Неизвестное соединение» в сети. и центр обмена.

Есть ли способ, которым я могу сделать это?

Обходной путь, который мы используем, состоит в том, чтобы протолкнуть маршрут по умолчанию к клиенту через файл конфигурации OpenVPN, например, так:

# Dummy default gateway to work around Windows 'unidentified network'/'unknown network'
route-metric 512
route 0.0.0.0 0.0.0.0

Вы определенно хотите убедиться, что поставляемая метрика выше, чем ваш маршрут по умолчанию в Интернете , иначе весь трафик будет направляться через VPN (что может быть желательно в определенных случаях, но это другая тема).

Обратите внимание, что манипулирование конфигурацией сети в целом и маршрутизацией в частности может иметь всевозможные нежелательные побочные эффекты, если они выполнены неправильно, но если вы знаете, что делаете, вы сможете оценить влияние:

  • В частности, предоставленный обходной путь наличия двух шлюзов по умолчанию, подобных таким, считается, по крайней мере, некоторыми семантически неправильным, и Windows предупреждает вас соответствующим образом, если вы действительно конфигурируете это через пользовательский интерфейс.
  • См. Как сделать частную неопознанную сеть идентифицируемой и частной? для обсуждения этой темы, в частности, самого вопроса и постеров (Джейсон Р. Кумбс) разумной критики в отношении краткого резюме Стива Хэтэуэйса о методе шлюза по умолчанию вниз по странице.

Тем не менее, мы успешно использовали этот обходной путь в течение достаточно долгого времени без каких-либо проблем.


«маршрут 0.0.0.0 0.0.0.0» не будет работать. Шлюз по умолчанию должен быть достижимым (ARP) в соединении. Я согласен с другими частями вашего ответа, хотя.
Этьен Дечам

1
Ох, на самом деле, это работает. Это потому, что я неправильно понял синтаксис опции конфигурации "route" OpenVPN. Третий параметр по умолчанию - это шлюз VPN, поэтому Windows действительно удается получить «виртуальный» ARP-ответ от OpenVPN.
Этьен Дечам

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

1

Для OpenVPN AS (Access Server) вы можете добавить это в Дополнительные параметры VPN в поле Директивы конфигурации сервера :

push "route-metric 512"
push "route 0.0.0.0 0.0.0.0"

Затем обновите сервер и, например, Win7 получит gw по умолчанию на устройстве TAP и позволит вам изменить тип сети с Неизвестный на другие.

Спасибо @ Steffen-Opel за совет! :)


1

Я хотел бы оставить свой вклад. Посмотрите, что сработало в моем случае ... Windows 7 и Windows 8 ...

Я провожу много времени с этой проблемой клиентского соединения.

Отключение интерфейса TAP на брандмауэре работает нормально, но это почти то же самое, что отключить брандмауэр в контексте VPN. Машины VPN работают в разных контекстах безопасности, и некоторые из них могут влиять на другие.

Я попытался настроить «шлюз по умолчанию», который распознает сеть как «Рабочая сеть» (только в Win7, а не в Win8), и, тем не менее, не PING!

Вручную добавить запись «* NdisDeviceType» в реестр, также не работал на Win8.

Итак, внимательно осмотрев конфигурацию брандмауэра Windows, я увидел другую конфигурацию области, а не просто профили, поэтому я попытался запустить другую службу, а не PING, и каково было мое удивление, когда она работала должным образом, даже в «Неопознанных сетях» и «Общем профиле»!

Итак, я попытался изолировать проблему de PING, и конфигурация, которая заставляет его работать, была следующей: запись брандмауэра Windows по умолчанию, которая разрешает вне IPv4 PING, - «Общий доступ к файлам и принтерам (Echo Request - ICMv4-In)», поэтому в его Свойства, я нажал на «Область», а в «Удаленный IP-адрес» я изменил с «Локальная подсеть» на «Любой IP-адрес», и это заставило PING работать.


0

Эй, я смог заставить это работать. Я пошел в Центр управления сетями и общим доступом, затем нажал «Домашняя группа». На этом экране написано, что я не могу присоединиться к домашней группе, потому что сеть общедоступна. Затем я нажал на вопрос «Что такое сетевое расположение?» и это позволяет мне менять тип сети. Появится экран, сообщающий, что Windows не смогла изменить тип сети, но он изменится.


-2

Как насчет добавления другого Ip сегмента в качестве шлюза по умолчанию? Хотя он не будет запрашивать или касаться внешних адресов, он будет иметь шлюз по умолчанию, который должен удовлетворять Windows. Или измените ваш DHCP, чтобы обеспечить один, если это не так.


1
Я не очень понимаю. Если я назначу Windows шлюз по умолчанию для этого соединения, то Windows может использовать VPN-соединение в качестве маршрута по умолчанию. Это означает, что Windows будет использовать VPN-соединение для доступа в Интернет ... что, конечно, мне не нужно (в любом случае это не сработает).
Этьен Дечамс

-3

Попробуйте войти в «Центр управления сетями и общим доступом» при подключении к VPN, и вы увидите список сетей. Под каждой сетью будет статус, такой как «Рабочая сеть» или «Доменная сеть», вы должны быть в состоянии щелкнуть по нему и изменить тип сети.

J.Ja


2
Не для неизвестных сетей
Марк Хендерсон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.