Бюрократическое наше все

Понадобилось мне по причине открытия ИП, отыскать свой бланк ИНН (хотя по факту он и не нужен, но в списках документов явно фигурирует – Ксерокопия ИНН). Но вот незадача – посеял его где-то с переездом. Что делать? Как любой современный человек, иду на оффсайт налоговой и нахожу – выдача дубликата через 5 рабочих дней с уплатой госпошлины в размере 200 рублей , а выдача в  срочном порядке, в течении одного рабочего дня – госпошлина 400 рублей. Просветленный мудростью интернетов, надеясь сегодня же стать обладателем заветной бумаженции, направляюсь в свою межрайонную инспекцию, суюсь в окошко и от милой дамы получаю ответ – плати, мол мил человек в банке 200 рубликов, и приходи через недельку, будет тебе ИНН.  Постойте, говорю, а мне срочно, а я денег плачу, у вас на сайте указано что можно. Ну и что как указано, мне в ответ, у НАС в общем порядке и никак иначе. Мало ли что там в ваших интернетах написано. Нет никакой срочной выдачи. Ну мы люди-то простые, жизнью ученные, идем не чинясь, к начальнику отдела, и вопрошаем все о том-же. И ответ, что примечательно, все тот-же, мол никакой указивки не поступало, никаких срочных выдач нет, идите, пишите заявление и ждите в общем порядке. Никакие просьбы и мольбы о срочности не спасли. Даже о-о-о-очень прозрачные намеки на неположенное вознаграждение не возымели действия. Хм, думаю, на каждый газ есть свой противогаз… Требуем телефон высшего краевого руководства, звоним, растолковываем и … получаем ответ. Раз для вашей налоговой и сайт государственный не указ, и работать они не хотят правильно, звоните на горячую линию, телефончик на сайте присутствует,  и излагайте ситуацию. И научат их уму разуму в кратчайшие сроки. Вкратце, не передавая подробностей телефонного разговора со специалистом, на которого переключили в ходе разговора, выясняю – да, на сайте все верно, оплачивайте госпошлину в размере 400 рэ и возвращайтесь в отдел, все примут и все выдадут.  После звонка специалиста в данную конкретную инспекцию, через час я вышел со свежим бланком ИНН в руках, заплатив через банк 400 рублей.

Вот и скажите, господа хорошие – это у нас в норму уже превратилось, у наших милых бюрократиков, сначала полдня мозг повыносить, маскируя свою лень заниматься своим-же делом, за которое им государство зарплату платит (из наших, кстати налогов), а затем с натянутой улыбкой и слезами на глазах после втыка сверху, сделать за 15 минут то, что положено всеми инструкциями?

Резюмируя – господа прогрессивное сообщество, надо знать свои права и обязанности, и учится их отстаивать, уж об этом несчетно говорилось. Каждый гражданин, натыкаясь на такое вот самоуправство, что думает? Я сейчас на них пожалуюсь, своего добьюсь, а они мне потом будут палки в колеса вставлять, мне же с ними еще не раз …. и т.п. и т.д.  Как говорит мне мой опыт, после тычка сверху, носом в свои же, извиняюсь, какашки, данные индивидумы быстро вспоминают как надо работать. И в дальнейшем, все что с вами связано, выполняют вежливо, быстро и хорошо. Вы ж скандальная сволочь, с вами ж связываться нельзя, до фига знаете. А пока мы будем просто делать то, что сказано какими-то лентяюгами, мягко говоря, попуская этот беспредел своими же действиями,  не будет у нас нигде порядка.

Микрообзор процессора Intel Core i5-3450

Микрообзор процессора Intel Core i5-3450

Продукт Core i5-3450 – это популярный процессор третьего поколения Core i5 от компании Intel. Continue reading

Кратко о настройке Samba

Для расшаривания файлов с сервера под linux в сеть Windows используем Samba сервер.

Установка Samba:

sudo apt-get install samba

Настройка.
Самба хранит все свои настройки в файле /etc/samba/smb.conf. Откроем его для редактирования

sudo nano /etc/samba/smb.conf

Каждый раздел файла начинается с заголовка раздела: [global], [homes], [printers], и т.п.

В [global] определяются глобальные настройки для всего сервера.
Раздел [homes] позволяет удаленным пользователям иметь доступ к своим (и только своим) домашним директориям на сервере. Т. е., если к серверу подключиться пользователь user1, то он будет подключены к своему домашнему каталогу. Для этого он должен быть зарегистрированы на сервере.
В [printers] прописаны настройки для принтеров.

Глобальные настройки:

[global]
; куда записывать логи
log file = /var/log/samba/log.%m
; максимальный размер файла журнала
max log size = 1000

# имя самба сервера в сетевом окружении
netbios name = HomeServer
; коментарий самба сервера
server string = Home Server Ubuntu
; Рабочая группа
workgroup = WORKGROUP
; выступать как контролер домена
domain master = no

; привязка к интерфейсам, на каких слушать, если не указано
;слушает на все интерфейсах, можно указать ай-пи адреса
interfaces = lo, eth2

; подчиняться директивам учетных записей PAM и управлению сессиями
obey pam restrictions = yes
; шифрование паролей между сервером и клиентом
encrypt passwords = true
; параметр сообщают демону smbd что делать с запросами,
; которые не удалось аутентифицировать в UNIX
; bad user – запросы с неправильным паролем будут отклонены, если
; такое имя пользователя существует. Если не существует, то такие запросы
; будут считаться как попытки зайти гостем (guest account).
map to guest = bad user

; определяет будет ли демон nmbd делать запрос к DNS, если WINS
; не смог разрешить NetBIOS имя
dns proxy = no

; параметр заставляет синхронизировать пароль UNIX с паролем SMB при
; изменении зашифрованного пароля SMB в файле smbpasswd. При включении
; этого параметра (yes) от пользователя ROOT вызывается программа,
; определенная в параметре passwd program, что позволяет установить
; новый пароль UNIX без доступа к старому паролю UNIX
unix password sync = yes
; имя программы, которую можно использовать для смены паролей UNIX,
; любые вхождения %u будут заменены именем пользователя
passwd program = /usr/bin/passwd %u
; механизм для хранения информации о пользователях
passdb backend = tdbsam

; уровень отладки журналов событий, которые будут записываться
; в системный syslog, 0 - события LOG_ERR, 1 - LOG_WARNING,
; 2 — LOG_NOTICE, 3 - LOG_INFO.
syslog = 0

; режим работы Samba:
; share - уровень ресурсов,
; user - уровень пользователей, доступ по логин-паролю,
; domain - домен,
; server - сервер паролей,
; ads - Active directory
security = user

; не аутентифицированные пользователи получают доступ к общим
; ресурсам пользователей
usershare allow guests = yes

panic action = /usr/share/samba/panic-action %d
os level = 20

; если включено, для смены паролей будет использован PAM, вместо
; программы указанной в параметре passwd program
pam password change = yes

; разрешаем доступ для всех со своей подсетки и локалхоста
hosts allow = 192.168.10. 127.

; пользователь с root-правами
admin users = user1

; выступать сервером времени
time server = yes

Основные настройки сделаны. Теперь расшарим нужные папки.

Расшариваем домашние папки пользователей

[HOMES]
; комментарий
comment = Home directories
; путь к папке, %U = имя пользователя
path = /home/samba/homes/%U
; только для чтения?
read only = no
; вход с паролем?
public = no
; запись разрешена?
writable = yes
; права создаваемых файлов и папок
create mask = 0600
directory mask = 0700
; отображать в списке ресурсов в сетевом окружении?
browseable = no

Далее расшариваем нужные папки. Для каждой папки можно определить свои параметры доступа. Для этого дописываем в конец конфиг-файла smb.conf разделы как представлено в примере ниже.

Пример:

; создадим расшаренную папку files
[files]
; комментарий к создаваемой папке
comment = Media files
; путь к папке
path = /home/user1/files
; будем разрешать доступ только по паролю
public = yes
; не видно в сетевом окружении всем кроме владельцев
printable = no
; запрещаем запись всем
writable = no
; и разрешаем запись для user1 и пользователям из группы adm
write list = user1 @adm

По аналогии создаются все остальные шары.

Для добавления пользователей в Samba делаем следующее:
smbpasswd -a username

Вам будет предложено ввести пароль, пользователь будет добавлен в базу, теперь необходимо включить этого пользователя.
smbpasswd -e username

Для проверки правильности сделанных настроек выполните команду
testparm

если testparm сообщает об отсутствии проблем, то smbd правильно загрузит файл настроек.

Не забудьте перезапустить Samba после изменения конфиг-файла.
sudo /etc/init.d/samba restart

Если будете расшаривать внешние устройства, нтфс диски и т. д., не забудьте добавить пользователя в группу plugdev.

После того как вы настроите самбу как вам нужно, выполните в терминале команду
testparm
Результатом будет вывод состояния smb-сервера и список расшаренных ресурсов. Если настройки сделаны не правильно, вы увидите сообщение об ошибке, из которой легко поймете, где ошиблись.
Будем считать, что у вас есть сервер с ip-адресом 192.168.1.1 и ваш рабочий компьютер с адресом 192.168.1.2
Пропингуйте сервер с рабочего компьютера:
ping 192.168.1.1
Также пропингуйте рабочий компьютер с сервера:
ping 192.168.1.2
Если пинги идут, значит с сетью все в порядке. Если пинги не проходят, проверьте ваш файл /etc/hosts. Также проблема может быть в DNS-сервере (если он у вас установлен), в роутере, хабе, кабелях.

Если пинги идут, но вы все еще не видите расшаренные папки, выполните команду
smbclient -L 192.168.1.1
Вы должны увидить список доступных расшаренных ресурсов. Если вы получите сообщение «Bad password»,
проверьте, параметры hosts allow, hosts deny и valid users в файле smb.conf. Попробуйте временно закоментировать их.

Выполнение этих простых тестов, позволяет устранить большинство проблем, связанных с настройкой и использование Samba.

Автор статьи – Ильдар Галиуллин

Сервер видеонаблюдения на базе Ubuntu

motionСуществует множество решений для реализации сервера видеонаблюдения, но учитывая наличие уже работающего медиасервера на базе XBMCbuntu был выбран пакет motion работающий как и с дешевыми USB камерами, так и с платами видеозахвата, также он достаточно прост в настройке.

Подключим вебкамеру (можно использовать практически любую недорогую камеру), проверим, доступна ли она:

ls /dev/video*

В выводе команды видим строку /dev/video0. Если подключено несколько камер, соответственно каждая следующая будет идти по порядку video1, video2 и т. д. Если вместо этого видим строку:

ls: невозможно получить доступ к /dev/video*: Нет такого файла или каталога

значит ваша камера не подключена или не найден нужный драйвер. Необходимо поставить его отдельно.

Определившись с камерами, установим пакет motion:

sudo apt-get install motion

Приступим к настройке программы. Настраиваем захват видео с камеры при обнаружении движения в кадре. Т.е. запись в файл начинается, если motion фиксирует движение, экономим свободное пространство на винте.
Конфигурационный файл находится в /etc/motion/motion.conf
Открываем его текстовым редактором nano.

sudo nano /etc/motion/motion.conf

Конфиг подробно прокомментирован:

# Start in daemon (background) mode and release terminal (default: off)
#Старт как демон,по умолчанию он в off
daemon on# Videodevice to be used for capturing (default /dev/video0)
# for FreeBSD default is /dev/bktr0
#устройство для захвата должно быть по умолчанию /dev/video0 если несколько то соответственно /dev/video1 /dev/video2 и т.д.
videodevice /dev/video0

# Image width (pixels). Valid range: Camera dependent, default: 352
#Разрешение камеры  320х240, 640х480 …
width 640

# Image height (pixels). Valid range: Camera dependent, default: 288
height 480

# Maximum number of frames to be captured per second.
# Valid range: 2-100. Default: 100 (almost no limit).
# Определим количество fps;
framerate 30 (30 подойдет, но можете менять в зависимости от нагрузки на компьютер)

# Gap is the seconds of no motion detection that triggers the end of an event
# An event is defined as a series of motion images taken within a short timeframe.
# Recommended value is 60 seconds (Default). The value 0 is allowed and disables
# events causing all Motion to be written to one single mpeg file and no pre_capture.
gap 60

# Maximum length in seconds of an mpeg movie
# When value is exceeded a new mpeg file is created. (Default: 0 = infinite)
#ОЧЕНЬ ВАЖНЫЙ ПАРАМЕТР!
Продолжительность файла можно ограничить параметром max_mpeg_time, указав в качестве значения время в секундах.
max_mpeg_time 180

# Output ‘normal’ pictures when motion is detected (default: on)
# Valid values: on, off, first, best, center
# When set to ‘first’, only the first picture of an event is saved.
# Picture with most motion of an event is saved when set to ‘best’.
# Picture with motion nearest center of picture is saved when set to ‘center’.
# Can be used as preview shot for the corresponding movie.
#Тип скриншота с движением,по умолчанию on - сохранять все подряд - кушает много места
 ставим или best, или first
output_normal off

# Output pictures with only the pixels moving object (ghost images) (default: off)
#Оставим как есть
output_motion off

# Use ffmpeg to encode mpeg movies in realtime (default: off)
#ВАЖНЫЙ ПАРАМЕТР! Указывает motion что сохраняем видео,
#нам видео, по умолчанию стоит off переключаем на on
ffmpeg_cap_new on

# Codec to used by ffmpeg for the video compression.
# Timelapse mpegs are always made in mpeg1 format independent from this option.
# Supported formats are: mpeg1 (ffmpeg-0.4.8 only), mpeg4 (default), and msmpeg4.
# mpeg1 – gives you files with extension .mpg
# mpeg4 or msmpeg4 – gives you files with extension .avi
# msmpeg4 is recommended for use with Windows Media Player because
# it requires no installation of codec on the Windows client.
# swf – gives you a flash film with extension .swf
# flv – gives you a flash video with extension .flv
# ffv1 – FF video codec 1 for Lossless Encoding ( experimental )
# mov – QuickTime ( testing )
#тип используемого кодека.
ffmpeg_video_codec mpeg4

# Target base directory for pictures and films
# Recommended to use absolute path. (Default: current working directory)
#путь для сохранения видео и скринов.
target_dir /home/user/new

# The mini-http server listens to this port for requests (default: 0 = disabled)
#Это порт  доступа на localhost.
webcam_port 7777

# Quality of the jpeg images produced (default: 50)
#
webcam_quality 50

# Output frames at 1 fps when no motion is detected and increase to the
# rate given by webcam_maxrate when motion is detected (default: off)
#Поставим 20
webcam_motion 20

# Maximum framerate for webcam streams (default: 1)
#Поставим 20
webcam_maxrate 20

# Restrict webcam connections to localhost only (default: on)
#
webcam_localhost off

Настройка конфига закончена, запускаем motion (с правами суперпользователя обязательно):

sudo motion -n

Если не стартует, то заведем так:

LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so motion -n

если библиотека v4l2convert.so не установлена, то установим ее:

sudo apt-get install libv4l-0

Смотрим на вывод, видим лог запуска мини http-server.
Теперь откроем браузер и введем в адресной строке

http://localhost:7777

Теперь  камера наблюдает за происходящим, если в поле зрения попадает движущийся объект то сразу стартует запись, после того как объект выходит из поля зрения камеры, запись продолжается 180 секунд, далее ролик не пишется. Таким образом, motion ведет запись только в случае обнаружения движения.
Так же для более четкого отображения записей задаем параметры:

snapshot_filename %Y-%m-%d/snapshot/%H-%M-%S
jpeg_filename %Y-%m-%d/jpeg/%H-%M-%S-%q
movie_filename %Y-%m-%d/movie/%H-%M-%S-%v

Теперь каждые сутки пишутся в отдельные папки, что очень удобно для просмотра.

Настройка захвата
Секция “Motion Detection Settings”, находящаяся в самом конце конфигурационного файла, отвечает за настройку обнаружения движущихся объектов. Если камера стоит в комнате, и объект перекрывает объектив, проблем с обнаружением нет. Настройка нужна в том случае, когда камера контролирует значительную территорию, где объект имеет небольшой размер, и срабатывание может быть вызвано движением веток деревьев, проходящими машинами и другими помехами.

Параметры:

Threshold позволяет указать количество пикселей, меняющихся для срабатывания детектора, а minimum_motion_frames – количество кадров, в котором они зафиксированы. Подобрав эти значения, можно сделать так, что Motion не будет замечать пролетающую птицу, но без проблем реагировать на человека. Фильтры для сглаживания шума включаются при помощи despeckle. По умолчанию используется оптимальное значение EedDl. При появлении проблем следует поэкспериментировать, убирая буквы в сочетании EedDl и пробуя их в разных комбинациях (подробнее о despeckle смотри на WiKi Motion и на emit.demon.co.uk/motion).

Параметры noise_level, noise_tune, night_compensate и lightswitch отвечают за уровень порога шума и компенсацию темных и светлых участков.

Комбинация параметров pre_capture, post_capture и gap позволяет записать сцену, где будет зафиксирован объкт до и после того, как было обнаружено движение. Значение gap по умолчанию установлено в оптимальные 60 (секунд), если движение не будет обнаружено, то создается новый видеофайл, а старый удаляется. Чтобы захваченный файл не был большим, его продолжительность можно ограничить параметром max_mpeg_time, указав в качестве значения время в секундах.

Параметров в motion.conf очень много, лучший способ  – это вдумчивое курение man’а и тематических форумов, ну а в базовом варианте – простейшая система видеонаблюдения готова к эксплуатации.

Поддержка русского языка в дистрибутивах TurnKey linux

turnkey-linuxОбновился  релиз Turnkey Linux 12, в рамках которого имеется набор из 106 минималистичных сборок Debian, неплохо подходящих для запуска в качестве гостевых ОС в системах виртуализации VMware, Xen, OpenVZ, KVM, VirtualBox или для быстрого развертывания в Cloud-окружениях Amazon EC2. Обычный размер сборки – 200 Мб. Сразу после установки можно получить доступ к работоспособному из коробки рабочему окружению с LAMP (Linux, Apache, MySQL, PHP/Python/Perl), Ruby on Rails, Joomla, MediaWiki, WordPress, Drupal, Apache Tomcat, LAPP, Django, MySQL, PostgreSQL и т.д. Управление программным обеспечением производится через простенький web-интерфейс, в большинстве сборок доступен webmin. Сборки снабжены системой автоматического резервного копирования и средством для автоматической установки обновлений.

app_turnkey

Текущая версия отличается добавлением 61 новой сборки (в прошлом выпуске формировалось 45 сборок), переходом на пакетную базу Debian (ранее использовался Ubuntu 10.04) и подготовкой образов, оптимизированных для развёртывания в инфраструктуре на базе платформы OpenStack. Основными причинами перехода на пакетную базу Debian называются более широкий охват пакетов при подготовке исправлений проблем безопасности  и более высокая стабильность пакетной базы Debian. Из новых сборок Turnkey Linux можно отметить образы с готовыми для работы Node.js, Jenkins, Xoops, Typo3, Drupal 7, Plone, SugarCRM, punBB, OS Commerce, ownCloud, MongoDB, OpenLDAP, e107, gitlab, mambo, CouchDB.

Но, как и в предыдущих версиях, поддержку русского языка надо включать вручную:

Редактируем файл /etc/environment

nano /etc/environment

Вот как должен выглядеть вывод команды в «правильной» системе:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANGUAGE="ru_RU.UTF-8"
LANG="ru_RU.UTF-8"
LC_ALL="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"

Генерим русскую и английскую UTF-8 локали (Generating Russian & English UTF-8 Locales)

locale-gen ru_RU.utf8 && locale-gen en_US.utf8

Переконфигурируем локали (Reconfiguring locales)

dpkg-reconfigure locales

Определяем дефолтную локаль (Determine the default locale)

localedef ru_RU.UTF-8 -i ru_RU -f UTF-8

Для того, чтобы удалить из системы ненужные локали, заходим в папку

cd /var/lib/locales/supported.d

и правим, соответственно файлики en, ru и local.

echo "ru_RU.UTF-8 UTF-8" > ru
echo "en_US.UTF-8 UTF-8" > en
echo "ru_RU.UTF-8 UTF-8" > local

Перезагружаемся

reboot

После перезагрузки по SSH будет доступен русский язык.

Анализ сссылочной массы на сервисе solomono ru бесплатно.

Тест на русскость

Тест на русскость

rus_test

Вот настоящий тест на русскость. Было показано двум американским славистам, которые прекрасно владеют русским, и они не поняли. Хм… любому русскому – сразу все понятно…

Intel Itmanagerduels

Я играю в игру ИТ-менеджер: Дуэли, стратегический ИТ-симулятор, разработанный корпорацией Intel, и думаю, что она вам тоже понравится. Вы можете играть в однопользовательскую игру или, еще лучше, играть со мной в игру для двух игроков! Регистрация производится бесплатно. Перейдите по указанной ниже ссылке и создайте игровую учетную запись.

Присоединяйтесь здесь: https://itmanagerduels.intel.com/ru_ru/?rid=oEFKJBYcuS752UT-0dET

Я надеюсь сразиться с вами в игре (и, конечно, победить вас).
Рекомендую попробовать антивирус Доктор-Веб для защиты сервера, сам уже как 3 года пользуюсь, доволен.
Кстати, вот мое имя пользователя: targon, так что присоединяйтесь и, когда будете готовы, вызывайте меня на игру.

Настраиваем автоматическое подключение к WiFi при старте системы

  1. Определяем имя адаптера
    $ iwconfig
    lo no wireless extensions.

    eth0 no wireless extensions.

    wlan0     Auto  Access Point: Not-Associated
              Link Quality:0  Signal level:0  Noise level:0
              Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
              Tx excessive retries:0  Invalid misc:0   Missed beacon:0

  2. Получаем список доступных сетей
    $ ifconfig wlan0 up
    $
    iwlist wlan0 scan

    wlan0 Scan completed :
     Cell 01 - Address: 00:18:F3:98:E0:AA
     Channel:1
     Frequency:2.412 GHz (Channel 1)
     Quality=70/70 Signal level=-32 dBm
     Encryption key:on
     ESSID:"MyHomeWiFiRouterSSID"
     Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
     24 Mb/s; 36 Mb/s; 54 Mb/s
     Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
     Mode:Master
     Extra:tsf=0000010d317851d5
     Extra: Last beacon: 44292ms ago
     IE: Unknown: 000D656E6572676F70726F6A656374
     IE: Unknown: 010882848B962430486C
     IE: Unknown: 030101
     IE: Unknown: 2A0104
     IE: Unknown: 2F0104
     IE: Unknown: 32040C121860
     IE: Unknown: DD060010180205F0
     IE: WPA Version 1
     Group Cipher : TKIP
     Pairwise Ciphers (1) : TKIP
     Authentication Suites (1) : PSK
    
  3. Анализируем данные полученные после сканирования:
    – Ищем название точки, к которой хотим подключиться (MyHomeWiFiRouterSSID)
    – Определяем тип сети: Если значение “Encryption key” off – значит сеть открытая, если on – закрытая
    – Для закрытой сети определяем тип шифрования: Параметр “IE” содержит слово “WPA” – значит WPA, в другом случае установлено шифрование WEP
  4. Для закрытой сети с шифрованием WPA нужно сформировать значение psk
    $ wpa_passphrase "MyHomeWiFiRouterSSID" "enter_password_here"
    network={
            ssid="MyHomeWiFiRouterSSID"
            #psk="enter_password_here"
            psk=2ab8fc6da97c71cc91431d4689ecaf69f527242e78eaa141a63fab4c0faedc3d
    }
  5. Добавляем либо корректируем настройки беспроводного адаптера в файл /etc/network/interfaces
    auto wlan0

    Если IP адреса раздаются по DHCP:

    iface wlan0 inet dhcp

    Если IP адреса статические:

    iface wlan0 inet static
    address 192.168.1.101
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 192.168.1.1 192.168.1.2

    Для открытой сети или с шифрование WEP:

    wireless-mode managed
    wireless-essid MyHomeWiFiRouterSSID

    Для сети с WEP шифрованием:

    wireless-enc enter_password_here

    Для сети с WPA шифрованием:

    wpa-driver wext
    wpa-ssid MyHomeWiFiRouterSSID
    wpa-ap-scan 2
    wpa-proto RSN WPA
    wpa-pairwise CCMP TKIP
    wpa-group CCMP TKIP
    wpa-key-mgmt WPA-PSK
    wpa-psk psk_passphrase
  6. Если требуется немедленное подключение:
    К открытой сети:

    $ iwconfig wlan0 essid "MyHomeWiFiRouterSSID"

    К закрытой с шифрованием WEP:

    $ iwconfig wlan0 essid "MyHomeWiFiRouterSSID" key enter_password_here

    К закрытой с шифрованием WPA:

    $ wpa_passphrase "MyHomeWiFiRouterSSID" "enter_password_here" > /tmp/wpa-temp-file-254341.conf
    $ wpa_supplicant -Dwext -iwlan0 -c/tmp/wpa-temp-file-254341.conf
    $ rm -f /tmp/wpa-temp-file-254341.conf

    Для получения IP адресов динамически по DHCP:

    $ dhclient wlan0

    Для ввода статического IP адреса:

    $ ifconfig wlan0 inet 192.168.1.101 netmask 255.255.255.0

    Можно ещё вместо всего выше описанного в пункте 6 просто перезапустить службу выполнив команду:

    $ /etc/init.d/networking restart
  7. Чтобы работало автоматическое переподключение при обрыве связи с WiFi точкой, требуется установить NetworkManager
    $ apt-get install network-manager

    В файле /etc/NetworkManager/NetworkManager.conf установить значение managed = true

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м. Соседям с точками на подоконниках принесите свинцовой краски на окна… 🙂

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. Почему-то по сей день я сталкиваюсь с формулировками типа 2×2 MIMO или 3×3 MIMO. К сожалению, для 802.11n эта формулировка малополезна, т.к. важно знать еще количество пространственных потоков (Spatial Streams). Точка 2×2 MIMO может поддерживать только один SS, и не поднимется выше 150Mbps. Точка с 3×3 MIMO может поддерживать 2SS, ограничиваясь лишь 300Mbps. Полная формула MIMO выглядит так: TX x RX: SS. Понятно, что количество SS не может быть больше min (TX, RX). Таким образом, приведенные выше точки будут записаны как 2×2:1 и 3×3:2. Многие беспроводные клиенты реализуют 1×2:1 MIMO (смартфоны, планшеты, дешевые ноутбуки) или 2×3:2 MIMO. Так что бесполезно ожидать скорости 450Mbps от точки доступа 3×3:3 при работе с клиентом 1×2:1. Тем не менее, покупать точку типа 2×3:2 все равно стоит, т.к. большее количество принимающих антенн добавляет точке чувствительности (MRC Gain). Чем больше разница между количеством принимающих антенн точки и количеством передающих антенн клиента — тем больше выигрыш (если на пальцах). Однако, в игру вступает multipath.

[5.2] Как известно, multipath для сетей 802.11a/b/g – зло. Точка доступа, поставленная антенной в угол, может работать не самым лучшим образом, а выдвинутая из этого угла на 20-30см может показать значительно лучший результат. Аналогично для клиентов, помещений со сложной планировкой, кучей металлических предметов и т.д.
Для сетей MIMO с MRC и в особенности для работы нескольких SS (и следовательно, для получения высоких скоростей) multipath – необходимое условие. Ибо, если его не будет – создать несколько пространственных потоков не получится. Предсказывать что-либо без специальных инструментов планирования здесь сложно, да и с ними непросто. Вот пример рассчетов из Motorola LANPlanner, но однозначный ответ тут может дать только радиоразведка и тестирование.

Создать благоприятную multipath-обстановку для работы трех SS сложнее, чем для работы двух SS. Поэтому новомодные точки 3×3:3 работают с максимальной производительностью обычно лишь в небольшом радиусе, да и то не всегда. Вот красноречивый пример от HP (если копнуть глубже в материалы анонса их первой точки 3×3: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. Надеюсь, статья была вам интересна.