[ОТВЕТИТЬ]
Опции темы
10.12.2014 10:35  
OlegON
Собственно, вопрос.
Есть список адресов, как заблокировать их штатной стенкой из консоли? Желательно, чтобы правила шли первыми. Т.е. если в стенке разрешено подключение на 3389 порт, то вновь добавляемый запрет был с бОльшим приоритетом.
 
10.12.2014 11:25  
Micle
Цитата:
Сообщение от OlegON
Собственно, вопрос.
Есть список адресов, как заблокировать их штатной стенкой из консоли? Желательно, чтобы правила шли первыми. Т.е. если в стенке разрешено подключение на 3389 порт, то вновь добавляемый запрет был с бОльшим приоритетом.
netsh advfirewall firewall add rule name="HTTP"
protocol=TCP localport=80 action=allow dir=IN

Google на тему "netsh advfirewall firewall" должен помоч
Помимо этого, cmd весьма охотно откликается на "netsh advfirewall firewall ?"
 
10.12.2014 12:13  
OlegON
Спасибо, только у меня не на чем попробовать, винды нет. Я сейчас черный список адресов оформлю, хотел выгружать его сразу в виде cmd-файла, чтобы людям оставалось только запустить...
 
10.12.2014 12:27  
KirillHome
Боюсь, в этом случае - как минимум придётся проверять версию Windows - в XP и в 2003 нет netsh advfirewall
Код:
C:\>netsh advfirewall
Команда advfirewall не найдена.
В 2008 - есть.
 
10.12.2014 12:32  
OlegON
В 2003 точно было, может, не advfirewall, a firewall... Но буду благодарен именно за полную строку, т.е.

Цитата:
netsh ..... <ip> ....
в двух вариантах, т.е. для 2003 и 2008, например, которые бы блокировали адрес полностью и поверх всех других правил.
Кстати, а большие списки (5000, например) сеть винде вообще не положат?
 
10.12.2014 12:55  
KirillHome
Пока справку положу, посмотрю попозже

Код:
C:\>netsh firewall add portopening /?

add portopening

      [ protocol = ] TCP|UDP|ALL
      [ port = ] 1-65535
      [ name = ] имя
      [ [ mode = ] ENABLE|DISABLE
        [ scope = ] ALL|SUBNET|CUSTOM
        [ addresses = ] адреса
        [ profile = ] CURRENT|DOMAIN|STANDARD|ALL
        [ interface = ] имя ]

  Добавляет конфигурацию порта брандмауэра.

  Параметры:

  protocol - Протокол порта.
      TCP - Протокол TCP(Transmission Control Protocol).
      UDP - Протокол UDP (User Datagram Protocol).
      ALL - Все протоколы.

  port - Номер порта.

  name - Имя порта.

  mode - Режим порта (необязательно).
      ENABLE  - Пропускать через брандмауэр (по умолчанию).
      DISABLE - Не пропускать через брандмауэр.

  scope - Область порта (необязательно).
      ALL    - Пропускать через брандмауэр весь трафик (по умолчанию).
      SUBNET - Пропускать через брандмауэр только трафик локальной сети
               (подсети).
      CUSTOM - Пропускать через брандмауэр только указанный трафик.

  addresses - Область действия адресов (необязательно).

  profile - Профиль конфигурации (необязательно).
      CURRENT  - Текущий профиль (по умолчанию).
      DOMAIN   - Профиль домена.
      STANDARD - Стандартный профиль.
      ALL      - Все профили.

  interface - Имя интерфейса (необязательно).

  Примечание: параметры "profile" и "interface" не могут быть указаны вместе.
              Параметры "scope" и "interface" не могут быть указаны вместе.
              Параметр "scope" должен иметь значение "CUSTOM", чтобы задать
              адреса.

  Примеры:

      add portopening TCP 80 MyWebPort

      add portopening UDP 500 IKE ENABLE ALL

      add portopening ALL 53 DNS ENABLE CUSTOM

          157.60.0.1,172.16.0.0/16,10.0.0.0/255.0.0.0,LocalSubnet
      add portopening protocol = TCP port = 80 name = MyWebPort

      add portopening protocol = UDP port = 500 name = IKE mode = ENABLE scope =
 ALL
      add portopening protocol = ALL port = 53 name = DNS mode = ENABLE

          scope = CUSTOM addresses =
          157.60.0.1,172.16.0.0/16,10.0.0.0/255.0.0.0,LocalSubnet
Это - для XP, ну и, скорее всего, 2003
 
10.12.2014 14:04  
KirillHome
Для семёрки, 2008 - подсмотрел здесь

Цитата:
Save this as blockit.bat:

Код:
@echo off
if "%1"=="list" (
  netsh advfirewall firewall show rule Blockit | findstr RemoteIP
  exit/b
)

:: Deleting existing block on ips
netsh advfirewall firewall delete rule name="Blockit"

:: Block new ips (while reading them from blockit.txt)
for /f %%i in (blockit.txt) do (
  netsh advfirewall firewall add rule name="Blockit" protocol=any dir=in action=block remoteip=%%i
  netsh advfirewall firewall add rule name="Blockit" protocol=any dir=out action=block remoteip=%%i
)

:: call this batch again with list to show the blocked IPs
call %0 list
Create a blockit.txt with your IPs to block and run blockit.

You can run blockit list to check which IPs are blocked at the moment.

Note: This needs to be run as Administrator.

Edit: Didn't know if you wanted outgoing or incoming traffic blocked so i added both dir=in and dir=out. You can delete one or the other (or leave them both for both directions).
 
"Спасибо" KirillHome от:
12.12.2014 08:01  
OlegON
А если не влом - попробуйте, что работает на 2008
Цитата:
netsh advfirewall firewall add rule name="Blockit" protocol=any dir=in action=block remoteip=адрес
и на 2003
Цитата:
netsh firewall firewall add rule name="Blockit" protocol=any dir=in action=block remoteip=адрес
суть - попробовать, что строка не только выполняется, но и работает.
 
 
Опции темы



Часовой пояс GMT +3, время: 03:54.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.