
Я разработчик и знаю только то, что знаю о системном администрировании, сетях и т. д., чему научился за всю свою жизнь, занимаясь вычислительной техникой и разработкой (не так уж и мало, но я очень далек от эксперта в этом вопросе).
Я настраиваю 3 новых (размещенных, выделенных) сервера Windows Server 2012 (не в домене) и не могу понять, как сделать внутреннюю сеть частной (кажется, это будет проще всего и достаточно безопасно, если говорить о настройке брандмауэра для различных межсерверных коммуникаций).
Для подключений у меня есть первичная сетевая карта, настроенная на внешние IP-адреса, вторичная сетевая карта на IP-адрес частной подсети и VIP-подключение, настроенное на внешние IP-адреса балансировщика нагрузки (адаптер — Microsoft KM-TEST Loopback Adapter).
Только для основного сетевого соединения указан шлюз, и, насколько я понял, именно поэтому два других соединения указаны как неопознанные.
Я пробовал зайти в Local Security Policy в Network List Manager Policies и разрешить пользователям менять местоположение для All Networks, но, похоже, это не дало никакого эффекта. Опять же, из того, что я прочитал, даже если бы это дало эффект, если Windows не может определить сеть, она не сможет повторно применить местоположение после изменений, таких как перезагрузка или отключение.
Я не могу принудительно сделать все неопознанные сети частными, поскольку это будет включать VIP-соединение, предназначенное для публичного трафика, проходящего через балансировщик нагрузки.
EDIT: Я также попробовал два предложения оттехнет, добавление DNS-суффикса для соединения, что не дало никакого заметного эффекта, и редактирование реестра для отключения NLA на адаптере, что имело некоторые странные последствия - соединение больше не отображалось в центре управления сетями и общим доступом, и я не мог понять, как он классифицировал соединение.
Возможно, если бы я добавил шлюз к VIP- или вторичным соединениям, я бы мог их различать и применять частное местоположение только к вторичным, но я не уверен, какие проблемы это может вызвать, кроме того, что это не рекомендуется.
Я бы предпочел не проходить и не настраивать каждую маленькую дыру в брандмауэре, которая мне нужна для 3 серверов во внутренней сети, но, возможно, это то, что мне действительно следует сделать? Как еще я могу сделать соединение Secondary NIC только частным?
решение1
В настоящее время я не могу добавлять комментарии, поэтому вот комментарий в форме ответа...
Вы упоминаете добавление шлюза к одному из других сетевых адаптеров. Не делайте этого. Только один сетевой адаптер должен иметь шлюз по умолчанию; весь остальной трафик должен направляться (маршрутизироваться) с использованием статических операторов маршрутизации.
Установите шлюз по умолчанию на сетевом адаптере, который будет иметь самые удаленные целевые сети. Таким образом, вы минимизируете количество статических маршрутов, которые вам нужно определить. В такой ситуации, как ваша, вы обычно устанавливаете шлюз по умолчанию на публичном сетевом адаптере, потому что он может общаться с многочисленными «неизвестными» сетями. Затем вы устанавливаете статические маршруты для вашего хорошо известного/хорошо понятного внутреннего диапазона адресов.
Надеюсь, это имеет смысл.
В качестве альтернативы не указывайте шлюзы по умолчанию и делайте все через статические маршруты (неразумно!).
Но возвращаясь к вашему изначальному вопросу, вам нужна помощь с аспектом Network Location Awareness (NLA) в Windows. Некоторые аспекты этого можно настроить с помощью NETSH, но мне придется самому это гуглить, так что, боюсь, тут мало помощи.
решение2
Я нашел способ определить вторичные сети здесьhttps://superuser.com/a/218509/36752.
По сути, вам необходимо указать для соединения шлюз по умолчанию, чтобы Windows могла его идентифицировать, а указание маршруту более высокой метрики позволяет избежать проблем с несколькими шлюзами по умолчанию.
Чтобы добавить шлюз по умолчанию с более высокой метрикой маршрута, используйте командную строку для ввода команды следующим образом:
route -p add 0.0.0.0 mask 0.0.0.0 10.1.1.1 metric 50 if 15
Замените IP-адрес 10.1.1.1 на адрес другого устройства в подключении/сети, которое вы хотите идентифицировать (Windows использует MAC-адрес шлюза в качестве идентификатора). Используйте значение метрики, которое выше, чем другой маршрут по умолчанию, и используйте соответствующий if # (как if #, так и текущие метрики маршрута можно просмотреть с помощью route print -4
).