Админская фамилия

Make Sysadmins Great Again

Как Windows работает с несколькими шлюзами по умолчанию

Для обеспечения отказоустойчивости сетей применяется практика использования нескольких шлюзов по умолчанию. В таком случае при доступности одного из шлюзов, трафик будет идти через него (шлюзы не эквивалентны, постоянно активен только один). При отказе этого шлюза, трафик пойдет через второй шлюз. С соединениями по TCP проблем это не создаст. Единственное, TCP коннект должен будет пересоединиться по новому маршруту после завершения таймаута соединения. С трафиком же UDP могут возникнуть проблемы при переключении шлюза - телефония начнет заикаться, видео будет пропадать. Но по прошествии какого-то времени проблема исчезнет. А как Windows определяет доступность шлюза? Об этом ниже.Когда TCP-соединение маршрутизируется через основной шлюз, хост пытается отправить пакет к получателю столько раз, сколько указано в ключе реестра TcpMaxDataRetransmissions, деленное пополам. И если ответ от получателя за это количество попыток ни разу не пришел, то алгоритм меняет Route Cache Entry (RCE) (кэш маршрутов). Наше соединение (отправившее TcpMaxDataRetransmissions/2 пакетов и не получившее ни одного ответа) переключается на шлюз, указанный вторым в настройках адаптера. Когда 25% TCP-соединений переключатся на второй шлюз, он становится шлюзом по умолчанию. Новый шлюз по умолчанию будет использоваться до возникновения аналогичных проблем с ним, либо до перезагрузки системы.Вольный перевод KB171564


Почему нужно продумывать самые безумные варианты

Здесь  история о том, как один окурок разрушил город. Выводом ко всей этой истории напрашивается одно: продумывайте все варианты развития событий! Никто не может гарантировать вам такой сервис, какой вы ожидаете. И пусть даже в SLA все красиво. Относится не только к айтишному, но и ко всем сферам жизни. И под .“сервисом” я понимаю не только предоставление услуг для вас, но и работу любого вашего решения.


Параметры STP в D-Link

Мой вольный перевод параметров STP Reference Guide DGS-3120Edge Port - порт, напрямую подключенный к сегменту, где STP-петля заведомо не может существовать. Например, акцесс-порт до ПК.P2P Port - эти порты способны к быстрому переключению. Используются для соединения с другими бриджами (?). В RSTP/MSTP все порты, находящиеся в режиме full-duplex по дефолту становятся p2p портами. Можно изменить вручную.External Cost - метрика, показывающая относительную стоимость пересылки пакетов на порт. По дефолту коммутатор устанавливает 20000 для гигабитных линков и 200000 для 100 Мб. Чем меньше значение, тем более вероятно, что порт будет использоваться для форвардинга.Restricted Role - ограниченный порт. При значении True порт никогда не может быть Root.


А знали ли Вы, что...

Первые три бита в байте Type of Service в IP пакете было предназначено для специальных приложений Министерства обороны США (RFC 1122)


Интересные RFC

В этом посте буду собирать номера RFC, интересующие меня. Это сети и безопасность. Пост будет периодически дополняться.RFC 1180 - учебник по TCP/IP. Для маленькихRFC 1122 - Требования к хостам Internet - коммуникационные уровниRFC 1122 - Требования к хостам Internet - прикладные и служебные протоколы.RFC 1009 - Требования к маршрутизаторамRFC 1011 - Официальные протоколы ИнтернетаRFC 791 - протокол IPRFC 792 - протокол ICMPRFC 793 - протокол TCPRFC 826 - протокол ARPRFC 894 - стандарт передачи дейтаграмм IP в сетях EthernetRFC 1042 - стандарт передачи дейтаграмм IP в сетях IEEE 802RFC 950 - стандартные процедуры организации подсетей IPRFC 1112 - Расширение IP Multicasting (IGMP)


Список дешевых VPS

http://lowendstock.com/http://serverbear.com/compare?Sort=Monthly+Cost&Order=asc&Server+Type=VPS&Monthly+Cost=-&HDD=-&RAM=-&Virtualization=http://httpzoom.com/http://lowendbox.com/http://vds.menu/


Mikrotik RouterOS. Winbox грузит CPU на 100%

Обнаружил баг в RouterOS, установленной на x86 под QEMU. Процессор нагружается на 100%, винбоксом что-то делать нереально. Подключаюсь по ssh, открываю /tool profile и вижу, что проц грузится на 90-100% винбоксом. Смотрю в /user active print detail и вижу себя, подключенного по ssh и сессию винбокса с севера мониторинга The Dude. Хотя все винбоксы я уже закрыл. Видимо, дудка не всегда корректно закрывает винбоксы, запущенные в её интерфейсе и процесс остается крутиться на сервере. Захожу на сервер, перезапускаю службу The Dude и нагрузка падает.Но это всего лишь снятие нагрузки с проца, в следующий раз при запуске винбокса ситуация повторяется. В её корнях ещё предстоит разобраться.


Насколько тяжело шифрование

АТЭНШН!! Пост писался очень давно. Не доведен до логического завершения. Пощу просто для того, чтобы видеть графикиИзмерил пропускную способность на Mikrotik’ах.Условия тестирования:Mikrotik RB1100AHx2Mikrotik 751G-2HnDRouterOS на обоих версии 6.15 Между ними оптика пропускной способностью 100 Mbps.Было произведено 5 замеров скорости:Без VPN. От интерфейса до интерфейса по оптикеSSTP с шифрованиемSSTP без шифрованияPPTP с шифрованиемPPTP без шифрованияПервая картинка - роутер, измеряющий скорость. График скорости и загрузка системы.Вторая картинка - клиент. Загрузка системы и объем трафика на интерфейсе.Тест номер 1. Без VPN. Между интерфейсами оптика. Как видим по прямому соединению результаты великолепны: скорость порядка 100 Mbps в обоих направлениях, система отдыхает.Тест номер 2. SSTP с шифрованием.Тут всё намного хуже - процессор клиентского роутера загружен на 100%, благодаря шифрованию.Скорость на отдачу 13 Mbps, на прием 2 Mbps.


SMS оповещения из The Dude

Какой смысл в мониторинге ключевых устройств, если об их некорректной работе будет знать только сама система мониторинга? Именно поэтому система мониторинга должна оповещать админа о некорректной работе. Я работаю Mikrotik’ами, поэтому использую фирменную систему мониторинга The Dude. И сейчас мы научим её слать почту и смс.По умолчанию The Dude умеет отправлять email, но для этого ей нужен SMTP сервер без авторизации. Что нам поднимать конечно же не имеет смысла. В общем, разработчики поленились сделать кошерно.Пытливые умы же научились отправлять почту сторонним приложением.Качаем SMTP-клиент mailsendКладем его, допустим, сюда C:\Program Files (x86)\Dude\mailsend\mailsend.exe (не забудьте переименовать экзешник)Создаём файлик mailsend.cmd следующего содержания:  :: Send email notifications from Dude via Gmail:: set mailsenderdir=C:\Program Files (x86)\Dude\mailsendset mailsender=mailsend.exeset smtpsender=username@gmail.comset smtpsenderfullname=usernameset smtpserver=smtp.gmail.comset smtpport=465set smtpuser=username@gmail.comset smtppwd=passwordset mailto=username@gmail.com::::"%mailsenderdir%%mailsender%" -smtp %smtpserver% -port %smtpport% -ssl -auth -user %smtpuser% -pass %smtppwd% -t %mailto% -f %smtpsender% -name “%smtpsenderfullname%” +cc +bc -q -sub %1 -M %2::::pause::Эти параметры меняем на свои: smtpsender - ящик, с которого будут отправляться письма, smtpsenderfullname - имя пользователя этого ящика, smtpuser - опять ящик, smtppwd - пароль к нему, mailto - ящик админа (на который будем слать алерты)4. Создаем новое уведомление в The Dude:Имя: mailТип: execute on serverКоманда: “C:\Program Files (x86)\Dude\mailsend\mailsend.cmd” “Service [Probe.Name] on [Device.Name] is now [Service.Status]” “Service [Probe.Name] on [Device.Name] is now [Service.Status] ([Service.ProblemDescription])"После нажатия кнопки Test письмо должно упасть на почту.С почтой разобрались. Теперь нужно научить Дудку отправлять СМС. Саму мониторилку мы больше мучать не будем - СМС умеет отправлять гуглопочта.Итак, что нужно для начала: у вас должен быть привязан телефонный номер к Google Calendar, как это сделать написано вот тут — Регистрация мобильного телефона:support.google.com/calendar/bin/answer.py?hl=ru&hlrm=en&answer=45351Создайте новый ярлык в Gmail с именем, например, SMSnotify (или любым другим, по вашему усмотрению). Как это сделать написано вот тут – Использование ярлыков:support.google.com/mail/bin/answer.py?hl=ru&hlrm=ru&answer=118708#0Создайте фильтр, который будет применять ярлык SMSnotify к письмам от системы мониторинга ( From: username@gmail.com). Как это сделать, написано вот тут – Использование фильтров:support.google.com/mail/bin/answer.py?hl=ru&hlrm=ru&answer=6579#0Войдите в Google Drive и создайте новую электронную таблицу (Spreadsheet). Откройте созданную таблицу и в верхнем меню выберите Tools > Script Editor.Нужно создать доп. календарь и настроить SMS уведомления: установить по-умолчанию для всех новых встреч вот так:Настройки->Календари->Уведомления->По умолчанию->SMS->%% минВ этом примере имя календаря будет “email"Вставляем следующий код:function my_notification() { var calendar = CalendarApp.getOwnedCalendarsByName(‘email’)[0]; //открываем календарь с именем “email” var threads = GmailApp.getUserLabelByName(‘SMSnotify’).getThreads(); //переменная, в которой хранится коллекция цепочек с ярлыком SMSnotify var now = new Date(); if(threads == 0) return; // прекращение выполнения, если новых цепочек нет for(i in threads) // создаем события { calendar.createEvent(threads[i].getFirstMessageSubject(), new Date(now.getTime()+60000), new Date(now.getTime()+60000)); } GmailApp.getUserLabelByName(‘SMSnotify’).removeFromThreads(threads); //снимаем метки “SMSnotify” с цепочек}6.  После того, как вы ввели код, нужно создать триггер по которому и будет запускаться скрипт. Для этого кликаем на меню “Ресурсы”, а в нем на “Триггеры текущего скрипта”. 7.  Нам нужен time-driven триггер с частотой повторения одна минута.Этот скрипт будет проверять входящие от с ярлыком SMSnotify (от юзера username@gmail.com). И, в случае наличия новых писем создавать событие в календаре и снимать ярлык с уже обработанного письма. СМС будет слать сам календарь.Статья написана методом копипаста! Навеяно этим: отправка email уведомлений, отправка СМС из гуглопочты


RouterOS DNS failure

В RouterOS 6.27 добавили несколько фич в DNS резолвер. В некоторых ситуациях адреса просто не резолвятся (DNS failure). Выход простой - в IP-DNS вместо нулей в строках  Query Server Timeout и Query Total Timeout прописываем 2. И DNS снова в строю!