Неуёмное желание Windows 8 лезть в сеть
by
, 11-11-2013 at 13:17 (30100 Views)
Вспомнил первое впечатление после перехода с Symbian на Android — в последнем без учётной записи gmail делать нечего. По этой же причине я не смог ужиться с Win8: в ней даже локальный аккаунт заводится не очевидно, через отказ от Live ID. Каждый второй виджет Metro'шного интерфейса ломится в интернет для обновления своего содержимого, а скайп не установишь, не побывав в Магазине приложений. Мне правда не нравится онлайновые сервисы, которые я не просил. От Майкрософта мне нужна только работа скайпа.
Предлагаемый ниже скрипт блокирует на роутере все обращения на IP-адреса, принадлежащие Майкрософту, оставляя работоспособным только скайп. Это два набора ipset, последовательно:
- запрещающих все IP Майкрософта,
- разрешающих обращения к IP-адресам, необходимым для работы скайпа.
Формируем список подсетей Майкрософта:
Формируем список ip-адресов, необходимых для работы скайпа:Code:wget -q -O - "http://list.iblocklist.com/?list=bt_microsoft&fileformat=p2p&archiveformat=gz" | \ gunzip | cut -d: -f2 | grep -E "^[-0-9.]+$" > microsoft.lst
Code:opkg install bind-dig bashЗагружаем необходимые модули ipset:Code:#!/opt/bin/bash for ip in $(for i in {0..20} ; do dig +short dsn$i.d.skype.net; done | sort -u | grep -E "^[1-9]") do echo $ip >> skype.lst done
Заводим сеты и последовательно вносим в них сформированные списки:Code:for module in ip_set ip_set_nethash ip_set_iphash ipt_set do insmod $module done
Осталось добавить правила iptables для блокировки первого списка и разблокировки второго:Code:ipset -N Microsoft iptreemap for IP in $(cat microsoft.lst) do ipset -A Microsoft $IP done ipset -N Skype iptreemap for IP in $(cat skype.lst) do ipset -A Skype $IP done
Приведённый выше синтаксис ipset адаптирован для asuswrt-merlin, для энтузиасткой прошивки последние две строчки будут выглядеть так:Code:iptables -I FORWARD -m set --set Microsoft src,dst -j DROP iptables -I FORWARD -m set --set Skype src,dst -j ACCEPT
Готовые скрипты для работы с сохранением настроек и автоматизированным применением этих правил после перезагрузки роутера\переподключения WAN приведены в архиве ниже. Для его использования необходимо в asuswrrt-merlin разрешить JFFS и выполнить:Code:iptables -I FORWARD -m set --match-set Microsoft src,dst -j DROP iptables -I FORWARD -m set --match-set Skype src,dst -j ACCEPT
Code:сd /jffs wget -O - http://files.ryzhov-al.ru/Routers/Block%20MS%2C%20enable%20Skype/block_ms_not_skype.tgz | tar -xvz