Tcp подключения windows server 2012

Обновлено: 03.07.2024

Компонент балансировки сетевой нагрузки (Network Load Balancing, NLB) в Windows Server 2012 распределяет сетевой трафик по нескольким серверам с помощью протокола TCP/IP. Группируя два и более сервера в единый виртуальный кластер, NLB повышает доступность и масштабируемость серверных приложений.

NLB умеет выполнять балансировку нагрузки любых приложений и служб, использующих сетевой протокол TCP/IP и связанных с определенным TCP- или UDP-портом. Использовать балансировку сетевой нагрузки целесообразно для обеспечения работы приложений, выполняемых без учета состояния, например для веб-, FTP- или служб удаленных рабочих столов (Remote Desktop).

Также NLB может пригодиться и в менее очевидных ситуациях. К примеру, с помощью этого механизма можно обеспечить повышенную избыточность веб-серверов front-end на базе SharePoint 2010, а при использовании Exchange 2010 выравнивание сетевой нагрузки можно применять в целях создания CAS-массивов для роли сервера клиентского доступа (Client Access Server).

Принцип работы

Кластер NLB представляет из себя группу серверов, называемых узлами кластера. На каждом узле выполняется собственная копия приложения. Механизм NLB занимается тем, что распределяет входящие запросы между узлами в соответствии с заданными правилами. При этом можно настроить нагрузку для каждого узла, а если нужно обработать дополнительную нагрузку, узлы можно добавлять к кластеру динамически. Кроме того, технология балансировки сетевой нагрузки может направлять весь трафик на один определенный узел, называемый узлом по умолчанию.

NLB дает возможность обращаться ко всем серверам в кластере по единому IP-адресу, а также поддерживает набор уникальных IP-адресов для каждого узла. При сбое на узле или его отключении нагрузка автоматически перераспределяется между работающими серверами. При внезапном отключении все активные подключения к такому серверу будут потеряны, однако если работа узла завершается намеренно, есть возможность обслужить все активные подключения до отключения компьютера. В любом случае отключенный компьютер, когда он будет готов к работе, может снова присоединиться к кластеру в рабочем режиме и взять на себя часть нагрузки, что позволит снизить объем данных, приходящийся на другие узлы кластера.

• выявляют узлы, оставшиеся активными членами кластера;
• назначают узел с наивысшим приоритетом узлом по умолчанию;
• обеспечивают обработку новых запросов клиентов работающими узлами.

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

Установка

NLB устанавливается как стандартный компонент Windows и не требует для запуска и работы каких-либо изменений в оборудовании. Тем не менее при планировании NLB кластера необходимо учесть некоторый моменты:

• В кластер может входить до 32 узлов;
• Все узлы кластера должны располагаться в одной подсети;
• Количество сетевых адаптеров на каждом узле не ограничено, при этом различные узлы могут иметь разное число адаптеров;
• Все сетевые адаптеры в одном кластере необходимо использовать либо в одноадресном (Unicast), либо в многоадресном (Multicast) режиме. Балансировка сетевой нагрузки не поддерживает смешанную среду одноадресной и многоадресной рассылки внутри одного кластера;
• При использовании одноадресного режима сетевой адаптер, задействованный для нужд кластера, должен поддерживать программное изменение MAC-адреса;
• Сетевой адаптер, на котором включается NLB, может использовать только протокол TCP/IP. Нельзя добавлять для этого адаптера другие протоколы (например IPX);
• IP-адреса серверов в составе кластера должны назначаться статически. NLB не поддерживает протокол DHCP и отключает его на каждом настраиваемом интерфейсе;
• NLB не работает совместно со службой Failover Clustering. Если сервер является частью отказоустойчивого кластера, то задействовать на нем балансировку сетевой нагрузки не получится.

Если все условия соблюдены, то приступаем к развертыванию кластера. Первым делом необходимо установить сам компонент балансировки сетевой нагрузки. Для этого открываем Server Manager и запускаем мастер установки ролей и компонентов. Переходим на вкладку Features и отмечаем компонент Network Load Balancing.

установка компонента NLB

Также NLB можно установить с помощью PowerShell, следующей командой:

Install-WindowsFeature -Name NLB -IncludeManagementTools

Создание нового NLB кластера

Установив компонент NLB приступим к созданию кластера, для чего воспользуемся оснасткой Network Load Balancing Manager. Открыть ее можно из Server Manager, кликнув по кнопке Tools и выбрав соответствующий пункт меню. Как вариант, можно нажать Win+R и ввести команду nlbmgr.

запуск оснастки NLB Manager

Для создания нового кластера в NLB Manager выбираем пункт Cluster -> New.

создание нового NLB кластера

В открывшемся окне указываем имя (или IP-адрес) компьютера, которому предстоит стать первым узлом кластера и жмем «Connect». Выбираем сетевой интерфейс, который будет задействован для нужд кластера.

выбор сетевого интерфейса

Примечание. Балансировка сетевой нагрузки может быть привязана к нескольким сетевым адаптерам, что позволяет настроить несколько независимых NLB-кластеров на каждом узле. Поддержка нескольких сетевых адаптеров — это не то же самое, что виртуальные кластеры, в которых можно настраивать несколько кластеров на одном сетевом адаптере.

Дальше идут настройки узла:

выбор параметров хоста

задаем IP адрес кластера

Задаем имя кластера (Full Internet name) соответствующее указанному IP-адресу. В принципе это имя ни на что не влияет, но правильнее будет вписать сюда FQDN-имя, по которому клиенты будут обращаться к кластеру. Также не забудьте создать в DNS соответствующую запись.

Указываем режим работы кластера, который определяет, будет ли для операций кластера использоваться встроенный MAC-адрес адаптера:

При использовании одноадресного режима всем узлам кластера назначается один и тот же IP и MAC-адрес. Поскольку все узлы кластера разделяют один MAC-адрес, а оригинальный MAC-адрес адаптера не используется, использовать адаптер кластера для других целей кроме кластерных (например для управления сервером) становится проблематично. Эту проблему можно обойти, используя несколько сетевых адаптеров: один для кластерного трафика, второй для управления.

При этом у адаптера остается оригинальный, встроенный MAC-адрес, что дает возможность использовать оба IP-адреса: кластера для трафика клиент-кластер, а выделенный для остального сетевого трафика, специфичного для компьютера. Обратите внимание, что режим Multicast обязательно должен поддерживаться сетевым оборудованием, кроме того может потребоваться дополнительная настройка на коммутаторе.

задаем режим работы кластера

Переходим к следующему экрану. Настройку правил портов (Port Rules) сейчас производить не будем, поэтому просто жмем «Finish». Первый этап создания NLB кластера завершен.

завершаем создание кластера

Добавление узла в кластер

Итак, мы имеем NLB кластер, состоящий из одного узла. Добавим остальные. Kликаем на имени кластера правой клавишей и выбираем пункт «Add Host To Cluster».

добавление нового узла к кластеру

Процедура добавления практически аналогична предыдущей. Указываем имя сервера, жмем «Connect» и выбираем сетевой интерфейс, который будет использоваться кластером.

подключение и выбор интерфейса узла кластера

Задаем host ID и указываем выделенный IP-адрес узла, а также состояние узла по умолчанию.

настройка параметров нового узла

И жмем «Finish». Таким же образом добавляем остальные сервера в кластер.

завершение добавления узла в кластер

Создать кластер и добавить в него узлы можно и с помощью PowerShell. Команда для создания кластера:

Для добавления узла в кластер:

создание кластера с помощью PowerShell

В результате у нас получился NLB кластер, состоящий из трех узлов.

готовый NLB кластер

Настройка параметров кластера

После добавления всех узлов можно приступать к настройке кластера. Кликаем правой клавишей на имени кластера и переходим на пункт «ClusterProperties».

настройка параметров кластера

На вкладке Cluster IP Addresses можно изменить существующий адрес кластера или добавить новый. Балансировки сетевой нагрузки позволяет настроить для одного кластера несколько IP-адресов, для каждого адреса назначить собственное имя и настроить правила обработки трафика. Для этого не требуется выделять отдельный адаптер, так что можно настраивать несколько виртуальных NLB кластеров на одном сетевом адаптере.

изменение\добавление IP адреса кластера

На вкладке Cluster Parameters можно настроить соответствие имени и IP-адреса кластера и изменить режим его работы.

изменение режима работы кластера

И на вкладке Port Rules настраиваются правила обработки трафика всеми узлами кластера. При создании кластера создается правило по умолчанию, которое надо изменить, поэтому выделяем его и жмем «Edit».

добавление правил портов

Правило порта включает в себя следующие настройки:

Также обратите внимание на чекбокс Timeout minutes. Установка галки включает режим расширенного сходства (Extended Affinity), который обеспечивает привязку в отсутствие активных текущих подключений от клиента к узлу, а также позволяет клиентам сохранять соответствие с узлом при изменении конфигурации кластера. Здесь мы можем указать время, в течение которого клиент будет привязан к определенному узлу при отсутствии активного текущего подключения с его стороны.

редактирование правила для кластера

При создании правил порта нужно учесть, что:

• Правила на всех узлах кластера должны быть идентичны. При попытке присоединить к кластеру узел с иными правилами или с другим числом правил он не будет принят в кластер;
• Чтобы балансировка сетевой нагрузки корректно обрабатывала IP-фрагменты, не следует использовать значение None для сходства, если выбран протокол UDP или Both;
• Если NLB используется для балансировки нагрузки трафика VPN (напр. PPTP/GRE или IPSEC/L2TP), то для правил порта используйте режим сходства Single или Network.

Настройка параметров отдельного узла

Кроме настройки всего кластера есть возможность настраивать параметры отдельных его узлов. Для этого выбираем узел, кликаем на нем правой клавишей и выбираем «Host Properties».

настройка параметров хоста

В окне Host Parameters мы сможем:

изменение параметров хоста

Также заглянем в правила портов. Здесь нас интересуют два пункта:

Обратите внимание, что сумма значений Load Weight для каждого узла параметра не обязательно должна составлять 100 процентов. Реальная часть трафика для каждого узла рассчитывается динамически как частное от деления процента, заданного для узла, на суммарный процент для всего кластера.

редактирование правила для хоста

Управление кластером

И немного об управлении кластером NLB. Управление можно осуществлять как на уровне отдельного узла, так и на уровне всего кластера. Для управления узлом кликаем на нем и выбираем «Control Host». Дальше на выбор, можно:

Для того, чтобы совсем удалить узел из кластера, надо выбрать пункт «Delete Host».

управление состоянием отдельного узла кластера

Выбрав пункт «Control Ports» можно управлять действием правил: включить (Enable), отключить (Disable) или приостановить обработку новых подключений (Drain). Это может потребоваться для того, чтобы временно исключить узел из обработки трафика кластера, например в целях диагностики.

включение и отключение правил для отдельного хоста

управление состоянием кластера

В заключение несколько советов, которые могут пригодиться при настройке NLB кластера.

1) Не смотря на название, NLB не отслеживает реальную загрузку (потребление процессорного времени, памяти, дисковой подсистемы и т.д.) на каждом узле. Под нагрузкой в NLB подразумевается только количество активных подключений к узлу. Учитывайте этот момент при настройке распределения нагрузки.
2) NLB не обеспечивает отказоустойчивость клиентских приложений. Механизм NLB отслеживает только наличие сигналов heartbeat между узлами, мониторинг отдельных служб он не осуществляет. Проще говоря, если на одном узле кластера отвалится клиентский сервис, а сетевой интерфейс останется доступен, то NLB этого не заметит и продолжит отправлять клиентов на неработоспособный узел.
3) Как в режиме Unicast, так и в Multicast (за исключением IGMP) трафик кластера распространяется по всем портам коммутатора. Чтобы изолировать этот широковещательный трафик, все IP адреса кластера желательно вынести в отдельную подсеть.
4) Вопреки расхожему мнению режим Unicast можно использовать даже при наличии одного сетевого адаптера на узле. При этом узлы вполне нормально могут общаться между собой, так как NLB преобразует ARP-таблицу внутри каждого узла, назначая каждому узлу уникальный MAC-адрес. А вот снаружи подключиться к узлу кластера не получится, для управления узлом к нему необходим физический доступ либо механизм удаленного управления типа iLo от HP.

В данной статье пошагово со скриншотами рассмотрим самые базовые настройки Windows Server 2012 R2 (любых версий: Standard, Datacenter, Essentials). В них входит настройка AD, DNS, DHCP, а так же лицензирование терминального сервера (настройка сервера RDP). Эти настройки как правило подходят для большинства задач и являются стандартными для использования их в Windows Server.

С процессом установки и самой начальной настройки как активация сервера, и получение обновлений Windows Server 2012 R2 можете ознакомиться в нашей прошлой статье.

1) Итак, начнем. Для начала нам нужно задать имя сервера, чтобы оно было в последующем корректно указано в различных настройках для подключений. Зайдем в меню "Свойство системы" => Изменить параметры => Далее в окне "Имя компьютера" нажимаем кнопку "Изменить" => После в строке ввода "Имя сервера" задаем имя в произвольном порядке. У нас оно будет просто Server.




Чтобы настройки применились перезагрузите Ваш компьютер.


2) Следующая, тоже очень важная процедура - это задать локальный статический IP адрес серверу. Для быстроты переходим в меню "Пуск", далее в поиске вводим ncpa.cpl.


На Вашем основном сетевом адаптере щелкаем правой кнопкой мыши => Свойства


Выделяем протокол IPv4 и нажимаем "Свойства".


И задаете серверу статический IP адрес в зависимости от Вашей сети. (далее в статье рассмотрим настройку DHCP, чтобы Ваш сервер сам мог раздавать свой диапазон IP адресов). Чтобы посмотреть текущий локальный IP адрес и шлюз - Вам нужно открыть командную строку, в поиске введите "Cmd" => Далее введите команду "ipconfig". Как DNS сервера в предпочтительных можем оставить IP адрес Вашего шлюза (роутера, маршутизатора), а как альтернативный адрес Google - 8.8.8.8

После применяете настройки и проверяете Ваше соединение с интернетом, если все работает, значит Ваши настройки корректные.

3) С настройками IP адресов пока закончено, перейдем к добавлению ролей и компонентов. Заходим в диспетчер серверов. Меню "Панель мониторинга" => Добавить роли и компоненты


Переходим в пункт "Тип установки" и выбираем "Установка ролей или компонентов".


Выбираете Ваш сервер в меню выбора серверов.


В ролях сервера мы в данном случае выбираем самые стандартные роли, которые используются как правило в большинстве задач. Можете сделать так же.


В компонентах оставляем все по стандарту. За исключением того, если у Вас сервер будет работать по Wi-FI, т.е в нем будет какой-либо Wi-Fi адаптер, то без компонента "Службы беспроводной локальной сети" - беспроводное соединение работать не будет. Отмечаете галкой его, если Вам требуется такой функционал.


Далее доходим до меню "Службы ролей" для удаленных рабочих столов. Отмечаем галкой то, что нужно для работы с RDP.


В службах "Удаленный доступ" по желанию можете выбрать работу с VPN и прокси-сервером, это как правило многим не нужно. На Ваш выбор.


Доходим до пункта "Подтверждение", отмечаем галкой автоматический перезапуск после установки и жмем "Установить". Ожидаем пока все установится.



4) Теперь переходим к настройкам тому, что мы только что устанавливали. В конкретном случае к настройкам DNS. Заходим снова в меню "Диспетчер серверов" => Нажимаем на флажок => И выбираем пункт "Повысить роль этого сервера до контроллера домена".


В конфигурации развертывания отмечаем пункт "Добавить новый лес" и придумываем имя корневого домена. В вашем случае это может быть абсолютно любое название, которое Вам понравится, мы назовем как пример "soft.com".


В параметрах контроллера придумываем Ваш пароль для Вашего домена и жмем "Далее".


Теперь можем дойти сразу до предварительной проверки всех настроек. Все будет корректно если у Вас будет в окне указано, что "Все проверки готовности к установке выполнены успешно . ". Нажимаем установить. После установки перезагружаем сервер.


После перезагрузки как будете вводить пароль администратора, Вы можете заметить, что Ваш сервер уже добавлен в домен.


Но это еще не все, нам нужно его до конца настроить. Снова переходим в "Диспетчер серверов" => меню "Свойства" => DNS


Мы перешли в "Диспетчер DNS". Разворачиваем дерево DNS => SERVER (Имя Вашего сервера) => Зоны обратного просмотра => Щелкаем правой кнопкой мыши и нажимаем на пункт "Создать новую зону".


Выбираем "Основная зона" и отмечаем галкой "Сохранять зону в Active Directory . ".


Следующим окном выбираем пункт "Для всех DNS-серверов, работающих на контроллерах домена в этом домене: "ваш домен"".


Далее выбираем пункт с IPv4 соответственно.


В индефикаторе сети для данного DNS выбираем Ваш IP диапазон или имя зоны. Мы на примере выберем DNS по IP диапазону.


Разрешим динамические обновления, т.к это рекомендуемый параметр для настроек AD.


На этом все, нажимаем готово.


5) Теперь рассмотрим настройки DHCP (чтобы Ваш сервер мог раздавать свой диапазон IP адресов). Переходим в меню "Диспетчер серверов" и выбираем пункт "Завершение настройки DHCP".



В меню "Авторизация" для удобства выбираем пункт "Использовать учетные данные текущего пользователя". И нажимаем "Фиксировать".




Теперь заходим в меню "Средства" => DHCP.


Разворачиваем дерево DHCP => "Имя вашего домена" => нажимаем на IPv4 правой кнопкой мыши => Создать область.


Задаем имя области, как пример "Basic", Вы можете задать любое название.


Теперь прописываем диапазон IP адресов, который будет раздавать Ваш сервер путем DHCP. Например 192.168.1.1/245. Диапазон задается по Вашему желанию.


В следующем окне можете исключить какой-либо диапазон, например определенные IP адреса. На примере мы его пропустим.


Задаем срок действия IP адреса для устройства, после которого динамически он сменится на другой. Можете задать любой срок в зависимости от Ваших задач, мы поставим 30 дней как пример.



Можете добавить Ваш маршутизатор в эту область, либо пропустить этот шаг.


Укажите имя Вашего домена как родительский.




6) Теперь Вам можно уже настроить удаленные рабочие столы для пользователей. Для этого на Вашем сервере нужно лицензировать сервер удаленных рабочих столов. С инструкцией как происходит настройка RDP на сервере можете ознакомиться в нашей прошлой статье на следующей странице. Приобрести ключ активации для лицензирования Windows Server User/Device CAL можете в нашем каталоге. Быстрая доставка ключа в течении нескольких часов на Вашу электронную почту.

7) Теперь, после того как Вы успешно лицензировали сервер удаленных рабочих столов, можно добавить первого пользователя для подключения по RDP. Заходим в "Диспетчер серверов" => Средства => Пользователи и компьютеры Active Directory.


Разворачиваем дерево "Пользователи и компьютеры" => Правой кнопкой мыши на название Вашего домена или просто имя сервера => Создать => Подразделение.


Чтобы было понятно, что за подразделение можете задать ему имя "Пользователи", или "Клиенты".


Далее в новом разделе "Пользователя" (в зависимости от того, как Вы назвали Ваше подразделение). Нажимаете на него правой кнопкой мыши => Создать => Пользователь.


Теперь в карточке пользователя задаем параметры для пользователя, его имя, фамилию, имя для входа на латинице.


Задаем пароль для входа пользователю на сервер. Так же, по желанию, можете запретить смену пароля пользователям (желательно), поставить неограниченный срой действия пароля, чтобы в дальнейшем заново не задавать его.


Добавление пользователя закончено. Теперь по RDP пользователь может подключиться к серверу со своими данными.

В данной статье я расскажу как добавить разрешающее правило в Брандмауэр Windows Server 2012 R2 (в Windows Server 2008 R2 действия аналогичны). Правило будем добавлять на примере работы сервера 1С:Предприятие 8.х (необходимо открыть порт 1541 для менеджера кластера, порты 1560-1591 для рабочих процессов и порт 1540 для агента сервера).

Некоторые программы и службы при работе через сетевые протоколы используют определенные порты для обмена данными. По умолчанию включенный брандмауэр Windows блокирует подобную сетевую активность. В частности, если попытаться подключиться с клиентской машины к серверу 1С:Предприятие 8.х можно натолкнуться на ошибку:

dobavlenie_pravila_v_firewall_windows_server_2012_1c_001

Данная ошибка означает, что по указанному адресу не найден сервер «1С:Предприятия», ну или на сервере закрыт порт (в данном случае порт 1541).

Для открытия порта, заходим на компьютер, где установлен сервер «1С:Предприятия» (в моем примере это компьютер с адресом 10.192.128.15 и установленной на нем операционной системой Windows Server 2012 R2).

dobavlenie_pravila_v_firewall_windows_server_2012_1c_003

dobavlenie_pravila_v_firewall_windows_server_2012_1c_004

dobavlenie_pravila_v_firewall_windows_server_2012_1c_005

dobavlenie_pravila_v_firewall_windows_server_2012_1c_006

dobavlenie_pravila_v_firewall_windows_server_2012_1c_007

dobavlenie_pravila_v_firewall_windows_server_2012_1c_008

dobavlenie_pravila_v_firewall_windows_server_2012_1c_009

dobavlenie_pravila_v_firewall_windows_server_2012_1c_010

dobavlenie_pravila_v_firewall_windows_server_2012_1c_002

dobavlenie_pravila_v_firewall_windows_server_2012_1c_011

dobavlenie_pravila_v_firewall_windows_server_2012_1c_012

Ну а клиент «1С:Предприятия» должен без ошибок подключиться к серверу. Если же потребуется подключаться к этом серверу через консоль администрирования серверов «1С:Предприятия», то необходимо также открыть порт 1540.

Аналогичным образом добавляются правила для для исходящих подключений (Outbound Rules), запрещающие правила, правила для определенных программ и протоколов. Также любое правило можно изменить, открыв его свойства из данной оснастки.

Смотрите также:

Ниже будет рассказано о том, как добавить новое правило в Брандмауэр Windows Server 2008 R2. А конкретнее, будем добавлять разрешающее правило для порта 1433, который использует Microsoft SQL Server 2008 R2 или, как…

Ниже приведена небольшая инструкция об изменении политики паролей в Microsoft Windows Server 2012 R2. По умолчанию политика паролей определена таким образом, что все пароли учетных записей пользователей должны удовлетворять следующим…

date

27.07.2021

directory

PowerShell, Windows 10

comments

комментария 3

Многие администраторы для отображения информации о сетевых подключениях TCP/IP, открытых TCP портах в Windows привыкли использовать консольную утилиту netstat или графическую TCPView. В PowerShell для замены утилиты netstat можно использовать командлет Get-NetTCPConnection, который можно довольно гибко использовать для получения информации об активных сетевых соединениях в Windows, открытых сетевых портах и запушенных процессах, которые используют TCP протокол. Благодаря тому, что PowerShell это объектно-ориентированный язык, вы можете довольно удобно делать сложные скрипты для получения информации и мониторинга открытых портов, процессах и установленных сетевым соединениях.

Попробуйте запустить командлет Get-NetTCPConnection без параметров.

Get-NetTCPConnection - powershell командлет для получения списка сетевых подключений

Команда по аналогии с netstat вывела список всех активных подключений с указанием локального и удаленного адреса, порта, состояния подключения (Listen, Established Internet, TimeWait, Bound, CloseWait, SynReceived, SynSent, TimeWait) и идентификатор процесса (PID), которые использует это TCP подключение.

Можно вывести список локальных портов, которые слушаются (открыты) на вашем компьютере:

Get-NetTCPConnection -State Listen | Select-Object -Property LocalAddress, LocalPort, RemoteAddress, RemotePort, State | Sort-Object LocalPort |ft

вывести список открытый портов в windows

Для получения информации об использовании протокола UDP, открытых портов используется командлет Get-NetUDPEndpoint .

Можно вывести только внешние (Интернет) подключения:

Get-NetTCPConnection -AppliedSetting Internet

Для всех сетевых TCP подключений можно вывести DNS имена удаленных хостов и имена процессов.

Данный PowerShell скрипт выполнил разрешение всех IP адресов хостов в DNS имена, и для каждого соединения указал имя процесса, который его использует.

список активных сетевых подключений и процессов в Windows 10 с помощью powershell

По имени PID родительского процесса можно вывести список связанных имен служб Windows, которые используют сеть:

Get-WmiObject Win32_Service | Where-Object -Property ProcessId -In (Get-NetTCPConnection).OwningProcess | Where-Object -Property State -eq Running | Format-Table ProcessId, Name, Caption, StartMode, State, Status, PathName

Можно вывести только сетевые подключения, которые инициированы определенным процессом. Для этого можно использовать такой PowerShell скрипт:

$TrackProcessName = “*firefox*”
$EstablishedConnections = Get-NetTCPConnection -State Established |Select-Object -Property LocalAddress, LocalPort,@>,RemoteAddress, RemotePort, State,@>, OffloadState,CreationTime
Foreach ($Connection in $EstablishedConnections)
If ($Connection.ProcessName -like $TrackProcessName)
$Connection|ft
>
>

Ареал применения командлета Get-NetTCPConnection очень широкий. Например, вы можете создать простой PowerSHell скрипт, который должен отслеживать установку соединения с определенного IP адреса на указанный локальный порт и выводить всплывающее уведомление администратору.

В следующем примере PowerShell скрипт проверяет, когда появится соединение с указанного IP адреса по порту RDP порту 3389. Если такое подключение появится в списке, он выведет всплывающее уведомление и логирует дату и время подключения в текстовый файл:

$TrackingIP = “192.168.10.50”
$TrackingPort =”3389”
$log = "C:\ps\rdp_connection_log.txt"
$EstablishedConnections = Get-NetTCPConnection -State Established
Foreach ($Connection in $EstablishedConnections)
If (($Connection.RemoteAddress -eq $TrackingIP) -and ($Connection.LocalPort -eq $TrackingPort))
Add-Type -AssemblyName System.Windows.Forms
$global:balmsg = New-Object System.Windows.Forms.NotifyIcon
$path = (Get-Process -id $pid).Path
$balmsg.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($path)
$balmsg.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Warning
$balmsg.BalloonTipText = "К вашему компьютеру подключились по RDP c $($Connection.RemoteAddress)"
$balmsg.BalloonTipTitle = "Новое RDP подключение с $($Connection.RemoteAddress)"
$balmsg.Visible = $true
$balmsg.ShowBalloonTip(10000)
(Get-Date).ToString() + ' ' + $Connection.RemoteAddress + ' установлено RDP подключение ' >> $log
>
>

powershell скрипт для оповещения об удаленном подключении к компьютеру windows

Аналогичным образом можно отслеживать и логировать сетевые подключения по любому другому протоколу, например SSH, SMB, FTP, SMTP и т.д. Такой PowerShell скрипт можно оформить в виде службы Windows, которая будет запускаться автоматически.

Данный скрипт можно использовать совместно с рассмотренным ранее скриптом защиты RDP от подбора паролей с блокировкой IP правилами Windows Firewall.

С помощью PowerShell remoting командлетов (Enter-PSSession и Invoke-Command) вы можете получить список открытых TCP портов и подключений на удаленных компьютерах.

Invoke-Command -ComputerName host1

Командлет Get-NetTCPConnection (также как и Test-NetConnection) может быть крайне полезен для мониторинга и диагностики сетевых подключений в Windows.

Читайте также: