Информация
Настройка
Новости
Контакты
Новинка
Распродажа
Оплата
Доставка
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Отключить обновления Windows

    Отключить обновления Windows

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Отключить обновления Windows, RouterOS
     
    kaas
    Guest
    #1
    0
    17.05.2011 07:37:00
    Привет, я пытаюсь ограничить скорость обновлений Windows. Есть идеи? Я использую список адресов (но это не работает, потому что updates.windows.com постоянно меняет IP).

    Отмечаю соединение, использую простой очередь для ограничения соединения.

    ip firewall address-list print  
    Flags: X - отключено, D - динамический  
    LIST           ADDRESS  
    0   Updates    65.55.200.156  
    1   Updates    80.239.201.155  

    ip firewall mangle print  
    Flags: X - отключено, I - неверно, D - динамический  
    0   chain=prerouting action=mark-packet new-packet-mark=Update passthrough=yes protocol=tcp dst-address-list=Updates  

    /queue> simple print  
    Flags: X - отключено, I - неверно, D - динамический  
    0   name=“Updates” target-addresses=0.0.0.0/0 dst-address=0.0.0.0/0 interface=all parent=none packet-marks=Update direction=both priority=8 queue=default-small/default-small limit-at=64k/64k max-limit=64k/64k burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s total-queue=default-small

    Если кто-то сталкивался с таким, буду благодарен за советы!
     
     
     
    kaas
    Guest
    #2
    0
    04.11.2016 08:13:00
    Я использую такое решение, чтобы заставить пользователей пользоваться DNS от Mikrotik:

    /ip firewall nat add action=redirect chain=dstnat comment=“DNS Dictator” dst-port=53 in-interface=!ether1-WAN protocol=udp

    Расписание для получения IP-адресов из DNS с помощью скрипта:

    /system schedule add interval=2m name=microsoft on-event=“:foreach i in=[/ip dns cache all find where (name~"update.microsoft" || name~"windowsupdate" || name~"download.microsoft" || name~"wustat" || name~"ntservicepack") && (type="A") ] do={
        :local tmpAddress [/ip dns cache get $i address];
        delay delay-time=10ms
    # предотвращаем, чтобы скрипт не съедал весь процессорное время
       :if ( [/ip firewall address-list find where address=$tmpAddress] = "") do={
        :local cacheName [/ip dns cache get $i name];
        :log info ("added entry: $cacheName  $tmpAddress");
        /ip firewall address-list add address=$tmpAddress list=MS timeout=23:59:59 comment=$cacheName;
    }
    }” policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive start-date=jan/01/2016 start-time=00:01:00

    Дальше маркируем соединения:

    /ip firewall mangle add action=mark-packet chain=prerouting comment=“ms list dst” dst-address-list=MS new-packet-mark=ms passthrough=no  
    /ip firewall mangle add action=mark-packet chain=prerouting comment=“ms list src” new-packet-mark=ms passthrough=no src-address-list=MS

    И потом создаём очередь:

    /queue simple add max-limit=1M/1M name=MS packet-marks=ms target=ether1-WAN time=6h-23h59m59s,sun,mon,tue,wed,thu,fri,sat
     
     
     
    nborson
    Guest
    #3
    0
    06.11.2016 00:35:00
    Я бы хотел попробовать этот метод для ограничения обновлений Windows — спасибо, что поделились решением этой острой проблемы. Но у меня не получается часть с /system schedule, которая добавляет IP-адреса в списки адресов (у меня есть много кэшированных DNS-записей, соответствующих критериям). Не могли бы вы дать код, который я могу вставить в поле Source: в интерфейсе Winbox для нового скрипта? Я имею в виду перевести вот эту часть в скрипт:

    :foreach i in=[/ip dns cache all find where (name~"update.microsoft" || name~"windowsupdate" || name~"download.microsoft" || name~"wustat" || name~"ntservicepack") && (type="A") ] do={
    :local tmpAddress [/ip dns cache get $i address];
    delay delay-time=10ms
    #чтобы скрипт не загружал процессор полностью
    :if ( [/ip firewall address-list find where address=$tmpAddress] = "" ) do={
     :local cacheName [/ip dns cache get $i name];
     :log info ("added entry: $cacheName $tmpAddress");
     /ip firewall address-list add address=$tmpAddress list=MS timeout=23:59:59 comment=$cacheName;
    }
    }

    Спасибо и извините за моё неумение в скриптах RouterOS.
     
     
     
    stoser
    Guest
    #4
    0
    06.11.2016 13:44:00
    Пробовали использовать динамическую адресную функцию в IP/firewall/address-list? В поле адреса указывайте http-адрес, вместо числового IP. Тогда Mtik динамически создаст записи в списке адресов. @ZeroByte упоминал об этом в одном из постов, и для меня это было очень полезно. Надеюсь, и вам поможет. Эта возможность была недавно введена, в версии 6.3x, точно не помню какую, так что проверьте список изменений и убедитесь, что ваша версия поддерживает её. Конечно, надо знать текстовые адреса, которые использует обновление Windows… С наилучшими пожеланиями,
     
     
     
    TomjNorthIdaho
    Guest
    #5
    0
    06.11.2016 14:32:00
    Зачем кому-то ограничивать скорость загрузки обновлений Windows? Если вы делаете это из-за проблем с сетью, тогда лучше решите самую важную проблему — сеть. Если вы ограничиваете обновления для платящих клиентов, то рискуете получить судебный иск от них. Если уж нужно ограничивать скорость, то используйте политику или очередь, которая будет честно относиться ко всем сайтам в интернете и ко всем клиентам. Учтите, что можно ограничивать скорость клиентов до уровня, за который они платят.  
    North Idaho Tom Jones
     
     
     
    kaas
    Guest
    #6
    0
    07.11.2016 06:52:00
    Мы ограничиваем Windows Update, потому что у нас в Южной Африке интернет МЕДЛЕННЫЙ, и Windows забирает всю полосу пропускания. Я сделал это, чтобы продолжать пользоваться интернетом, когда Windows обновляется. Мне всё равно, если обновление WU займет 2 часа, главное — чтобы это не влияло на остальное.

    Wolter

    /ip firewall nat  
    add action=redirect chain=dstnat comment="DNS Dictator" dst-port=53 in-interface=!ether1-WAN protocol=udp  

    /system scheduler  
    add interval=2m name=microsoft on-event=":foreach i in=[/ip dns cache all find where (name~\"update.microsoft\" || name~\"windowsupdate\" || name~\"download.microsoft\" || name~\"wustat\" || name~\"ntservicepack\") && (type=\"A\")] do={
       :local tmpAddress [/ip dns cache get \$i address];
       delay delay-time=10ms  
       #предотвращаем полное использование CPU скриптом  
       :if ( [/ip firewall address-list find where address=\$tmpAddress] = \"\") do={
            :local cacheName [/ip dns cache get \$i name];
            :log info (\"added entry: \$cacheName  \$tmpAddress\");  
            /ip firewall address-list add address=\$tmpAddress list=MS timeout=23:59:59 comment=\$cacheName;  
       }  
    }" policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive start-date=jan/01/2016 start-time=00:01:00  

    /ip firewall mangle  
    add action=mark-packet chain=prerouting comment="ms list dst" dst-address-list=MS new-packet-mark=ms passthrough=no  
    add action=mark-packet chain=prerouting comment="ms list src" new-packet-mark=ms passthrough=no src-address-list=MS  

    /queue simple  
    add max-limit=1M/1M name=MS packet-marks=ms target=ether1-WAN time=6h-23h59m59s,sun,mon,tue,wed,thu,fri,sat
     
     
     
    freemannnn
    Guest
    #7
    0
    07.11.2016 07:22:00
    Это работает для обновлений Windows 10? Да, обновления Windows 10 съедают всю пропускную способность при загрузке, и ты даже не можешь нормально пользоваться интернетом. Вместо скрипта не могло бы это работать с адресным списком?
     
     
     
    kaas
    Guest
    #8
    0
    07.11.2016 08:07:00
    Работает на моём Windows 10. Серверы обновлений Windows не динамичные, поэтому я даю им таймаут в 24 часа.
     
     
     
    kaas
    Guest
    #9
    0
    07.11.2016 08:28:00
    Возможно, ты прав. Попробую этот способ и потом отпишусь тебе, Волтер.
     
     
     
    freemannnn
    Guest
    #10
    0
    07.11.2016 08:40:00
    Да, потому что в более поздних версиях списки адресов в ROS тоже стали динамическими. Если указать имя вместо IP, я точно не помню, с какой версии и после какого обновления эта функция появилась. Обновление... нашёл: 6.36 firewall — теперь можно добавлять доменные имена в списки адресов (динамические записи с разрешёнными адресами будут добавляться в указанный список); 6.36.1 address-list — разрешены DNS-имена с символом «_».
     
     
     
    kaas
    Guest
    #11
    0
    07.11.2016 08:44:00
    Похоже, это не работает, нужно иметь возможность добавить что-то вроде ~.update.microsoft.com, а он не принимает ~. или *. Wolter
     
     
     
    kaas
    Guest
    #12
    0
    07.11.2016 11:42:00
    Другой вариант — на уровне Layer 7 изменить ether1-WAN на ваш интернет-порт. НЕ ЗАБУДЬТЕ отключить defconf:fasttrack в файрволе, иначе очередь работать не будет.

    /ip firewall layer7-protocol  
    add name=MicrosoftUpdates regexp="^.+(update.microsoft|windowsupdate|download.microsoft|wustat|ntservicepack).*\$"

    /ip firewall mangle  
    add action=mark-packet chain=prerouting comment="ms list dst" layer7-protocol=MicrosoftUpdates new-packet-mark=ms passthrough=no

    /queue simple  
    add max-limit=1M/1M name=MS packet-marks=ms target=ether1-WAN time=6h-23h59m59s,sun,mon,tue,wed,thu,fri,sat
     
     
     
    kivimart
    Guest
    #13
    0
    07.11.2016 12:51:00
    Ещё один пример здесь.  
    /ip firewall layer7-protocol add name=WINUPDATE regexp=“^.*(download.*windowsupdate|l.windowsupdate|.*delivery.*mp.*microsoft)”  
    /ip firewall mangle add action=add-dst-to-address-list address-list=A9-WinUpdate address-list-timeout=15m chain=postrouting comment=WinUpdate dst-address-list=!A9-WinUpdate layer7-protocol=WINUPDATE out-interface=ether1 protocol=tcp  
    add action=mark-connection chain=postrouting dst-address-list=A9-WinUpdate new-connection-mark=WinUpdate-CON out-interface=ether1 passthrough=yes  
    add action=mark-packet chain=prerouting connection-mark=WinUpdate-CON in-interface=ether1 new-packet-mark=WinUpdate_IN passthrough=no  
    add action=mark-packet chain=postrouting connection-mark=WinUpdate-CON new-packet-mark=WinUpdate_OUT out-interface=ether1 passthrough=no  
    /queue tree add comment=Up limit-at=29M max-limit=29M name=Up parent=global queue=default  
    add comment=Down limit-at=198M max-limit=198M name=Down parent=global queue=default  
    add name=WindowsUpdate packet-mark=WinUpdate_IN parent=Down queue=default  
    add name=WindowsUpdate_U packet-mark=WinUpdate_OUT parent=Up queue=default
     
     
     
    TomjNorthIdaho
    Guest
    #14
    0
    07.11.2016 16:04:00
    Хорошо — сеть «лежит» или ужасно загружена и медленная. Если её не получается починить, стоит подумать о создании Squid-прокси-сервера с кэшированием. Правильно настроенный Squid может выдавать скорость до полной пропускной способности Ethernet-интерфейса при попадании в кэш, экономя тем самым интернет-трафик WAN. При промахе кэша Squid сохраняет данные, чтобы следующий пользователь, делающий то же самое, получил попадание в кэш. Северный Айдахо, Том Джонс
     
     
     
    kaas
    Guest
    #15
    0
    07.11.2016 18:02:00
    Понял тебя. С помощью squid тоже можно ограничить WU. Было, пробовал, майку получил. Прокси не решает проблему перегруженной линии, он всего лишь увеличивает трафик после того, как данные закэшированы. При первой загрузке всё равно нужно ограничивать скорость линии. Настроить squid как WSUS — это целое искусство (да и не всегда вообще работает). Обновления Windows 10 распространяются между машинами Win10 в локальной сети, поэтому использовать прокси-сервер для кеширования обновлений Win10 не имеет смысла. К тому же, с учётом того, что многие сайты переходят на https (443), кэшируется совсем мало. Wolter
     
     
     
    freemannnn
    Guest
    #16
    0
    07.11.2016 18:19:00
    Там, где я живу, есть ADSL и VDSL. В отелях скорость скачивания 5 Мбит/с и загрузки 1 Мбит/с, и мне приходится делить эту линию с клиентами, чтобы дать им бесплатный интернет. Да уж, обновления Windows всё-таки жрут полосу пропускания. Клиенты же не приходят в отель, чтобы обновлять свои ноуты или ПК, ха-ха.
     
     
     
    nborson
    Guest
    #17
    0
    10.11.2016 03:23:00
    У меня это работает отлично, спасибо! Я смог использовать протокол уровня 7, чтобы помечать пакеты и вписывать их в свою очередь. Теперь я могу спокойно серфить в интернете и проверять почту на своём интернет-соединении за 100 долларов в месяц с пропускной способностью 500 Кбит/с (да, это примерно 0,5 Мбит/с — решить проблему производительности покупкой более дорогого тарифа пока не по карману). Обновления Windows всё равно будут устанавливаться — как и должно быть — но из-за множества их TCP-соединений это не повлияет на мои основные задачи и интернет останется работоспособным.
     
     
     
    freemannnn
    Guest
    #18
    0
    10.11.2016 06:48:00
    /ip firewall layer7-protocol  
    add name=MicrosoftUpdates regexp="^.+(update.microsoft|windowsupdate|download.microsoft|wustat|ntservicepack).*\$" [/quote][/quote] Да, у меня это тоже работает. Когда мой домашний ПК с Windows 10 начинает скачивать обновления, даже интернет-радио перестаёт играть. Я просто сделал очередь с половиной от общей пропускной способности — и всё отлично работает. Класс!
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры