По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Windows включает в себя надежный (в целом 🙄), но простой в использовании, брандмауэр с расширенными возможностями. А с помощью PowerShell 7 можно легко настроить его из командной строки. В этой статье описываются общие команды, используемые в межсетевом экране Windows, а также возможные способы их использования. Модуль NetSecurity хорошо задокументирован. Учтите, что эта статья относится только к операционной системе Windows. Для других операционных систем существуют другие инструменты командной строки, которые могут использоваться для выполнения тех же задач, такие как UFW или IPTables в Linux. Вызов модуля NetSecurity Предустановленный в системе модуль NetSecurity обладает всем необходимым функционалом для управления правилами межсетевого экрана Windows. Чтобы задействовать данный модуль, достаточно импортировать его показанным ниже способом (конечно же команду запускаем в PowerShell): Import-Module -Name 'NetSecurity' Вывод списка правил Командлет Get-NetFirewallRule выводит список настроенных правил. В системе большое количество предварительно настроенных правил, но для примера мы выбрали первые 10: Get-NetFirewallRule | Select-Object DisplayName, Enabled, Direction, Action -First 10 По умолчанию, командлет выводит все параметры, но на примере выше мы выбрали всего четыре из них (они, собственно, перечислены в команде). А получить все параметры можно командой: Get-NetFirewallRule | Select-Object * -First 1 Создание нового правила Создать новое правило позволяет команда New-NetFirewallRule. Основные параметры, которые нужно передать команде следующие: DisplayName - название правила; Direction - Направление трафика, которое нужно блокировать. Может быть либо входящим (Inbound), либо Исходящим (Outbound); Action - Действие правила. Правило может быть либо Разрешающим (Allow), либо Запрещающим (Block). $Params = @{ "DisplayName" = 'Block WINS' "Direction" = 'Inbound' "Action" = 'Block' "RemoteAddress" = 'WINS' } New-NetFirewallRule @Params Если не указан параметр Name, система сгенерирует случайный GUID. DisplayName может быть читабельным, но сам Name будет сгенерирован случайным образом. Изменение существующего правила Что если нужно изменить какой-то параметр правила, не удаляя и пересоздавая его? Для этого нужно задействовать командлет Set-NetFirewallRule. $Params = @{ "DisplayName" = 'Block WINS' "Action" = 'Allow' } Set-NetFirewallRule @Params Данная команда также позволяет вносить изменения в несколько правил сразу. Это можно сделать, передав команде одно из трех параметров правила: Name - Параметр по умолчанию. Если команде переданы несколько параметров Name в виде строки или же через пайплайн (|), изменения коснутся каждого из правил; DisplayName - так же, как и в случае с параметром Name, команде можно передать нескольких правил, чтобы изменить их; DisplayGroup или Group - Если несколько правил сгруппированы, то команде можно передать название этой группы и внести изменения во все члены указанной группы. Удаление правила И, наконец, мы хотим удалить правило, которое больше не нужно. Для этого запускаем командлет Remove-NetFirewallRule. Также при удалении часто рекомендуется использовать параметр WhatIf, который позволяет убедиться в том, что будет удалено нужное правило. Remove-NetFirewallRule -DisplayName "Block WINS" Следует отметить, что данный командлет позволяет удалять несколько правил сразу. На примере ниже мы удаляем все отключенные правила, которые содержит групповая политика firewall_gpo в домене ad.local.test. Remove-NetFirewallRule -Enabled 'False' -PolicyStore 'ad.local.test\firewall_gpo' Запущенный сам по себе командлет Remove-NetFirewallRule достаточно полезный, но в то же время опасный, так как удаляет все локально созданные правила. Если есть доменная групповая политика, определяющая правила межсетевого экрана, данная команда удалит все локальные правила, конфликтующие с правилами групповой политики. Дополнительные возможности Модуль NetSecurity включает в себя множество других команд, которые мы не затронули в данной статье. Поэтому ниже приводим список и возможности данных команд. Copy-NetFirewallRule - данная команда копирует существующее правило и все связанные с ними фильтры в то же или другое хранилище политик; Disable-NetFirewallRule - отключает ранее созданное правило. Отключенное правило не удаляется из базы, но уже никак не влияет на трафик. Если запустить эту команду без параметров, то она отключит все активные правила на целевой машине. Поэтому если не указано конкретное правило или группа правил, рекомендуется всегда запускать данную команду с параметром WhatIf; Enable-NetFirewallRule - в противовес предыдущей команде, данный командлет включает все отключенные правила. Если не указано конкретное правило, то данную команду также рекомендуется запускать с параметром WhatIf; Get-NetFirewallProfile - эта команда отображает параметры, настроенные для указанного профиля, например, профилей Domain, Private или Public; Get-NetFirewallSettings - глобальные параметры брандмауэра можно получить с помощью команды Get-NetFirewallSettings. Это такие параметры, как параметры сертификатов, организация очередей пакетов или списки авторизации; Rename-NetFirewallRule - данная команда позволяет переименовать существующее правило. Это полезно, если правило было создано без указания имени, таким образом получив случайный GUID в качестве название, и предпочтительно назначить читабельное название; Set-NetFirewallProfile - для установки определенных параметров отдельных профилей можно использовать команду Set-NetFirewallProfile. Это позволяет каждому профилю иметь различные настройки; Set-NetFirewallSettings - позволяет настроить поведение межсетевого экрана независимо от используемого профиля сети; Show-NetFirewallRule - эта вспомогательная команда отображает правила брандмауэра и связанные с ними объекты в виде отформатированного списка. Данный модуль также включает расширенные возможности для управления IPSec. Указанные выше команды управляют стандартными настройками межсетевого экрана Windows. Заключение Существует множество команд для управления межсетевым экраном Windows. В этой статье рассматриваются только некоторые из них, наиболее важные команды для быстрого вывода списка, создания, изменения и удаления правил брандмауэра. Но с помощью модуля NetSecurity можно сделать настройки и посложнее.
img
В предыдущей части нашей серии OSPF мы рассмотрели варианты ручной фильтрации маршрутов. Теперь мы обсудим маршруты по умолчанию и сравним OSPFv2 с OSPFv3. Предыдущие статьи: Расширенные возможности OSPF: Области OSPF: создание конкретных типов областей Ручная фильтрация маршрутов OSPF Маршрут по умолчанию (Default Routes) Мы изучили с вами, что OSPF может автоматически генерировать маршрут по умолчанию, когда это необходимо. Это происходит с некоторыми специальными типами областей. Например, если вы настраиваете totally stubby area, требуется маршрут по умолчанию, и OSPF генерирует этот маршрут автоматически из ABR. Чтобы повысить гибкость ваших проектов, маршруты по умолчанию, вводимые в нормальную область, могут быть созданы любым роутером OSPF. Для создания маршрута по умолчанию используется команда default-information originate. Эта команда содержит два варианта: Вы можете объявлять 0.0.0.0 в домен OSPF, при условии, что объявляемый роутер уже имеет маршрут по умолчанию. Вы можете объявлять 0.0.0.0 независимо от того, имеет ли объявляемый роутер уже маршрут по умолчанию. Этот второй метод выполняется путем добавления ключевого слова always к default-information originate Рисунок 1 - топология OSPF Используя нашу простую топологию из рисунка 1 еще раз, давайте настроим ATL2 для введения маршрута по умолчанию в нормальную, не магистральную область 1. ATL2#conf t Enter configuration commands, one per line. End with CNTL/Z . ATL2 (config)#router ospf 1 ATL2 (config-router)#default-information originate always ATL2 (config-router)#end ATL2# Обратите внимание, что в этом примере мы используем ключевое слово always, чтобы убедиться, что ATL2 генерирует маршрут по умолчанию независимо от того, есть ли у устройства уже маршрут по умолчанию в его таблице маршрутизации. Вот проверка на ORL: show ip route Сравнение OSPFv2 и OSPFv3 Каким бы удивительным ни был OSPFv2, он не может маршрутизировать префиксы IPv6 для нас. Это работу выполняет OSPFv3. Хорошей новостью для вас является тот факт, что вы можете использовать почти все, что вы узнали о OSPFv2 при переходе на протокол OSPFv3. Полная перестройка протокола не проводилась, и было сохранено как можно больше функциональных возможностей и этапов настройки. Как вы узнаете далее, OSPFv3 предлагает использование семейств адресов в конфигурации, что делает этот протокол подходящим для переноса префиксов IPv6 или даже префиксов IPv4 с соответствующим семейством адресов. В конце этой статьи демонстрируется «стандартная» конфигурация OSPFv3, а также конфигурация семейства адресов. Важно иметь представление о ключевых сходствах и различиях между v2 и v3 протоколов OSPF. Вот сходства, которые описаны ниже: В OSPFv3 процесс маршрутизации не создается явно. Включение OSPFv3 на интерфейсе приведет к созданию процесса маршрутизации и связанной с ним конфигурации. Идентификатор маршрутизатора по-прежнему является 32-разрядным значением в OSPFv3, и процесс выбора идентификатора маршрутизатора остается таким же. OSPF автоматически предпочитает loopback интерфейс любому другому виду, и он выбирает самый высокий IP-адрес среди всех loopback интерфейсов. Если никаких loopback интерфейсов нет, то выбирается самый высокий IP-адрес в устройстве. Вот некоторые ключевые отличия: Эта функция отличается от OSPF версии 2, в которой интерфейсы косвенно включены с помощью режима конфигурации устройства. При использовании nonbroadcast multiaccess интерфейса в OSPFv3 необходимо вручную настроить устройство со списком соседей. Соседние устройства идентифицируются по их идентификатору устройства. В IPv6 можно настроить множество префиксов адресов на интерфейсе. В OSPFv3 все префиксы адресов на интерфейсе включены по умолчанию. Вы не можете выбрать определенные префиксы адресов для импорта в OSPFv3; либо импортируются все префиксы адресов в интерфейсе, либо никакие префиксы адресов в интерфейсе не импортируются. В отличие от OSPF версии 2, несколько экземпляров OSPFv3 могут быть запущены на линии. Традиционная (стандартная) настройка OSPFv3 Чтобы продемонстрировать (и попрактиковать) конфигурацию OSPFv3 часть настроек мы отбросили. Вот конфигурация нашей магистральной области (область 0) и не магистральной области (область 1) с использованием «традиционного» подхода OSPFv3. ATL# configuration terminal Enter configuration commands, one per line . End with CNTL/Z . ATL(config)#ipv6 unicast-routing ATL(config)#interface fa0/0 ATL(config-if)#ipv6 address 2001:1212:1212::1/64 ATL(config-if)#ipv6 ospf 1 area 0 ATL(config-if)#interface loopback0 ATL(config-if)#ipv6 address 2001:1111:1111::1/64 ATL(config-if)#ipv6 ospf 1 area 0 ATL(config-if)#end ATL# Обратите внимание, насколько знакомым кажется этот подход к настройке, он аналогичен настройке OSPFv2. Обратите внимание также, что мы должны глобально включить возможность одноадресной маршрутизации IPv6 на устройстве. Это не является действием по умолчанию. Вы также должны понять, что это не требуется для запуска IPv6 на интерфейсах, это просто требование сделать маршрутизацию трафика IPv6 на роутере. Вот конфигурация наших двух других устройств: ATL2#conf t Enter configuration commands, one per line. End with CNTL/Z . ATL2 (config)#ipv6 unicast-routing ATL2 (config)#int fa0/0 ATL2 (config-if)#ipv6 address 2001:1212:1212::2/64 ATL2 (config-if)#ipv6 ospf 1 area 0 ATL2 (config-if)# *Mar 28 09:23 :25 .563 : %0SPFv3-5-ADJCHG: Process 1, Nbr 192.168.20.1 on FastEthernet0/0 from LOADING to FULL, Loading Done ATL2 (config-if)#int fa1/0 ATL2 (config-if)#ipv6 address 2001:2323:2323::2/64 ATL2 (config-if)#ipv6 ospf 1 area 1 ATL2 (config-if)#end ATL2# ORL#conf t Enter configuration commands, one per line . End with CNTL/Z . ORL(config)#ipv6 unicast-routing ORL(config)#int fa1/0 ORL(config-if)#ipvб address 2001:2323:2323::3/64 ORL(config-if)#ipvб ospf 1 area 1 ORL(config-if)#end ORL# Теперь настало время для проверки. Обратите внимание, что я выполню все это на устройстве ORL для краткости. Обратите внимание еще раз на все замечательные сходства с OSPFv2: show ipv6 route show ipv6 ospf neighbor show ipv6 ospf database Конфигурация Семейства Адресов OSPFv3 Давайте завершим эту статью изучением стиля конфигурации семейства адресов OSPFv3. Помните, что это позволит нам использовать этот единый протокол для передачи префиксов IPv4 и IPv6. Вот пример подхода к конфигурации семейства адресов OSPFv3: BOS (config)#ipv6 unicast-routing BOS (config)#router ospfv3 1 BOS (config-router)#address-family ipv6 unicast BOS (config-router-af)#area 1 range 2001:DB8:0:0::0/128 BOS (config-router-af)#end BOS#conf t BOS (config)#interface fa1/0 BOS (config-if)#ipv6 ospf 1 area 1 Важно то, что если вы уже знакомы с семействами адресов из другого протокола (например, BGP), то эта настройка покажется вам очень простой. Также учтите, что подход к настройке OSPFv3 на подинтерфейсах не меняется.
img
Любая программа – это набор инструкций, будь то добавление 2 чисел или отправка запроса по сети. Компиляторы и интерпретаторы берут понятный для человека код и переводят его на машинный язык, который может прочесть компьютер. В компилируемом языке целевая машина переводит программу самостоятельно. В интерпретируемом языке исходный код не переводится самой машиной; его читает и выполняет другая программа (интерпретатор). Подробное объяснение Представьте ситуацию: вы решили приготовить хумус. Но имеющийся у вас рецепт написан на древнегреческом. У вас, как человека не знающего этого языка, есть два варианта. Вариант 1: кто-то уже перевел этот рецепт на ваш язык. Поэтому вы (и любой человек, знающий ваш язык) сможете прочесть рецепт в переводе и приготовить хумус. Переведенный рецепт и будет компилированной версией. Есть и другой вариант: у вас есть друг, который знает древнегреческий. Поэтому, решив приготовить хумус, вы пригласили этого друга к себе. Друг сидит рядом и переводит рецепт – строчка за строчкой, – а вы занимаетесь готовкой. Ваш друг – это интерпретатор (переводчик) для интерпретируемой версии рецепта. Компилируемые языки Компилируемые языки сразу переводятся в машинный код, который может выполнить процессор. В результате они выполняются быстрее и эффективнее, чем интерпретируемые языки. Кроме того, в таких языках разработчик лучше контролирует аппаратные средства (управление памятью, использование ЦП и т.д.). Компилируемым языкам требуется дополнительный этап «сборки», при котором их сначала компилируют вручную. Каждый раз при внесении изменений вам нужно будет «пересобирать» программу. Вернемся к примеру с хумусом. Перевод рецепта делался до того, как попал к вам в руки. Если автор рецепта захочет изменить тип оливкового масла, то весь рецепт придется переводить заново, а затем повторно отправлять вам. Примеры истинных компилируемых языков: C, C++, Erlang, Haskell, Rust и Go. Интерпретируемые языки Интерпретаторы проходятся по каждой строке программы и выполняют все команды. Если автор из нашего примера захочет заменить оливковое масло, то он просто зачеркнет старую запись и добавит новую. А затем ваш друг-переводчик сразу увидит это изменение и переведет его вам. Интерпретируемые языки гораздо медленнее компилируемых. Но с появлением JIT-компиляции (динамической компиляции) эта разница начинает сокращаться. Примеры популярных интерпретируемых языков: PHP, Ruby, Python и JavaScript. Небольшое пояснение В большинстве языков программирования есть компилируемые и интерпретируемые реализации, а сам язык необязательно относится только к компилируемым или интерпретируемым. Но для простоты и удобства их принято относить к тому или иному типу. Например, Python можно выполнять как компилируемую программу или интерпретируемый язык в интерактивном режиме. А большинство инструментов командной строки, интерфейсов командной строки и оболочек чисто теоретически относятся к интерпретируемым языкам. Плюсы и минусы Плюсы компилируемых языков Обычно программы, скомпилированные в машинный код, выполняются быстрее интерпретируемых. Это связано с тем, что при переводе кода в процессе его выполнения увеличивается потребление ресурсов, что, в свою очередь, замедляет программу. Минусы компилируемых языков Основные недочеты компилируемых языков: нужно больше времени для завершения полной компиляции перед тестированием; сгенерированный двоичный код зависит от платформы. Плюсы интерпретируемых языков Интерпретируемые языки более гибкие и чаще предлагают такие возможности, как динамическая типизация и меньший размер программы. Кроме того, исходный код программы выполняют интерпретаторы, поэтому сам код не зависит от платформы. Минусы интерпретируемых языков Самый главный недочет этих языков – скорость выполнения. Она обычно ниже, чем в компилируемых языках.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59