MadWiFi First Time User HowTo

Материал из NNLUG Wiki.

Перейти к: навигация, поиск

MadWiFi 'Первое использование' HOWTO

Оригинал: http://madwifi-project.org/wiki/UserDocs/FirstTimeHowTo
Перевод: Азовцев Юрий aka gumanoed

Доброе пожаловать в HOWTO MadWiFi 'Первое Использование'. Этот документ призван быть полным собранием инструкций по получению, установке и использованию последней версии драйверов MadWifi. Для использования этого документа наличие какого либо опыта настройки беспроводных сетей под Linux не обязательно.


Это howto описывает процесс ручной сборки драйверов MadWifi. Ваш дистрибутив Linux может включать в себя уже собранные (но старые версии) драйвера MadWifi. Так же, дистрибутивы могут предлагать свой собственный способ сборки модулей ядра для интеграции в свою пакетную систему. Загляните в UserDocs/Distro.


Заметка: Это руководство описывает лишь процесс настройки режима Managed (Известного так же как station mode). За более подробной информацией, о других режимах, обратитесь к UserDocs.


Содержание

Требования

Для операционной системы Debian от имени root выполните: #apt-get install build-essential


Убедитесь что у вас установлены заголовочные файлы ядра: sudo apt-get install linux-headers-$(uname -r)


(если заголовочных файлов в системе нет — при компиляции вы получите ошибку /lib/modules/2.6.24-19-server/build is missing, please set KERNELPATH).


Пожалуйста, проверьте наличие необходимых компонентов до начала процесса сборки. Это так же включает в себя наличие установленного в системе чипа Atheros.


Получение исходных кодов MADWIFI

Загрузите стабильную версию MadWifi с сайта sourceforge.net и распакуйте полученный архив. Запустите shell из директории с исходными кодами MadWifi.

Удаление старых модулей

На этом этапе вы должны быть в системе с правами пользователя root. Сначала «опустите» все ваши MadWifi устройства:

ifconfig eth0 down
ifconfig wifi0 down
# Повторите эти две команды для каждого MadWifi устройства в вашей системе (eth1 и т.д.)


Считаем что вы находитесь в директории с исходными кодами MadWifi. Выполните следующие скрипты для удаления старых модулей из системы и выгрузки их из памяти:


cd scripts
./madwifi-unload 
./find-madwifi-modules.sh $(uname -r) 
cd .. 


В процессе выполнения вам будет задан вопрос о том уверенны ли вы что хотите удалить старые модули.


Сборка новых модулей MadWifi

Теперь, когда у вас есть исходные коды MadWifi самое время скомпилировать их в настоящие драйвера. Благо, это просто.

При условии что вы удовлетворили все требования, изложенные выше и находитесь в директории с исходными кодами MadWifi, можете просто набрать:


make


Команда начнет процесс сборки. От вас потребуется следить за появлением возможных вопросов, на которые потребуется дать ответ. После завершения процесса быстро просмотрите все выведенное во время компиляции на предмет наличия ошибок. Если все прошло по плану — вы можете перейти к следующему шагу. Убедитесь что в вашей системе установлено все необходимое для сборки иначе процесс может может завершиться с ошибкой.


Установка MadWifi

На этом этапе собранные модули MadWifi будут установлены в систему. Make еще раз выполнит всю работу за вас.


Этот этап должен быть выполнен от имени root. Так что наберите su и введите пароль root'a. Если вы используете Ubuntu, добавьте в начало команды префикс sudo.


Для установки драйверов наберите:


make install


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


Загрузка MadWifi модулей

На этом этапе мы загрузим модули MadWifi в память рабочей системы. Это позволит всем другим программам узнать как работать с вашим MadWifi оборудованием.

На этом шаге требуется выполнение команд с правами пользователя root. Наберите команду su и введите пароль root'а, либо, если вы используете Ubuntu, наберите вначале команды префикс sudo.


Для загрузки модулей драйвера наберите:


modprobe ath_pci


Если у вас возникли проблемы со сборкой драйверов MadWifi, пожалуйста, обратитесь к разделу документации UserDoc/BuildProblems.


Создание интерфейсов

MadWifi поддерживает режим virtual access points (виртуальные точки доступа), что означает возможность создания более одного беспроводного устройства на вашей сетевой карте. По умолчанию создается Виртуальная Точка Доступа в режиме sta, заставляющая работать виртуальное MadWifi устройство в режиме managed mode.


Если вы использовали исходные коды из svn новее r1407 от 23 января 2006 года, то можете пропустить этот шаг:

Если нет, выполните следующие инструкции для создания нормального интерфейса в режиме station. Наберите (как root):


wlanconfig ath0 create wlandev wifi0 wlanmode sta


Если iwconfig не сработал, вам следует повторить команду после выполнения 'wlanconfig ath0 destroy'.

Теперь, если вы наберете iwconfig — должны увидеть следующее:


eth0      no wireless extensions. 
 
 
lo        no wireless extensions. 
 
wifi0     no wireless extensions. 
 
ath0      IEEE 802.11g  ESSID:"" 
          Mode:Managed 
 
Frequency:2.457 
GHz 
 
Access 
Point: 
00:00:00:00:00:00 
          Bit Rate:0 kb/s   Tx-Power:20 dBm   Sensitivity=0/3 
          Retry:off   RTS thr:off   Fragment thr:off 
          Power Management:off 
          Link Quality=0/94  Signal level=-95 dBm  Noise level=-95 dBm 
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0 
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0 


Теперь нам нужно «поднять» беспроводной интерфейс. Вы можете это сделать командой (от root'а):

ifconfig ath0 up 


Больше информации о создании беспроводных интерфейсов смотрите в UserDocs.


Поиск точек доступа

Если вам известно о наличии точек доступа поблизости от вас, быстрое сканирование может стать отличным способом для получения информации о них, и стать информацией о правильной работе оборудования и драйверов.


Первым шагом загрузите модуль сканирования. Наберите (от имени root):


modprobe wlan_scan_sta 


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


Первый способ специфичен для модулей MadWifi и выдаст вам красивую succinct таблицу результатов.


Это можно сделать командой (опять же от имени root):


wlanconfig ath0 list scan 


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


SSID            BSSID              CHAN RATE  S:N   INT CAPS 
eddie           00:06:25:e8:3a:05    6   54M 36:0   100 EPs 


Второй способ более обычен (работает с другими типами беспроводных карт). Вы получите больше информации но ее несколько сложнее читать. Команда для второго способа сканирования:


iwlist ath0 scan


Она выведет вам информацию в следующем виде:

ath0      Scan completed : 
          Cell 01 - Address: 00:06:25:E8:3A:05 
                    ESSID:"eddie" 
                    Mode:Master 
                    Frequency:2.437 GHz (Channel 6) 
                    Quality=37/94    Signal  level=-58  dBm    Noise  level=-
95 dBm 
                    Encryption key:on 
                    Bit Rate:1 Mb/s 
                    Bit Rate:2 Mb/s 
                    Bit Rate:5.5 Mb/s 
                    Bit Rate:11 Mb/s 
                    Bit Rate:18 Mb/s 
                    Bit Rate:24 Mb/s 
                    Bit Rate:36 Mb/s 
                    Bit Rate:54 Mb/s 
                    Bit Rate:6 Mb/s 
                    Bit Rate:9 Mb/s 
                    Bit Rate:12 Mb/s 
                    Bit Rate:48 Mb/s 
                    Extra:bcn_int=100 

Особенно полезна строка Encryption key:on, говорящая о наличии на точке доступа шифрования типа WEP.


Если вы получаете сообщение:


ath0      Failed to read scan data : Resource temporarily unavailable 


вместо результата сканирования и вы находитесь в зоне действия сети с 'shared encription key', попробуйте использовать команду:


iwconfig ath0 key <Ваш ключ> 
iwpriv ath0 authmode 2


Это даст карте команду карте использовать ключ, сообщенный вами командой iwconfig, для работы в защищенной сети с shared-key.

Для использования open system key (который считается более безопасным) используйте iwpriv authmode 1:


iwconfig ath0 key <Ваш ключ> 
iwpriv ath0 authmode 1 


После этого можете перезапустить команду сканирования, и она выдаст нужный результат.


Подключение к открытой Точке Доступа (Access Point, AP)

Если результаты сканирования, выполненные вами ранее, выдали результат "Encryption key:off", возможно вам ничего не предется делать для ассоциации с точкой доступа. Драйвер MadWifi автоматически подключается к точке доступа с наилучшим сигналом. Но все же, не лишним будет узнать как указать AP/Сеть для подключения.


Наберите (как root):


iwconfig ath0 essid "eddie" 


Эта команда подключит вас к точке доступа с ESSID (именем сети) eddie.

Вы так же можете указать к какой точке доступа подключиться используя ее MAC адрес (при сканировании сетей первым это поле BSSID, во втором способе это поле Address).

Для выбора точки доступа (AP) по его MAC/BSSID, наберите:


iwconfig ath0 ap 00:06:25:E8:3A:05 


Если в дальнейшем вы решите дать драйверу возможность автоматически выбирать точку доступа для подключения наберите:


iwconfig ath0 ap any 


Или


iwconfig ath0 ap auto 


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


Во первых, вам нужно узнать есть ли в сети, куда вы только что подключились, DHCP-сервер (это сервер автоматически выдающий вам сетевой адрес, сообщающий как получить доступ в интернет и куда производить DNS запросы).


Есть несколько способов проверить есть ли в сети DHCP-сервер:

  • Если вы использовали беспроводную карту в Windows (в этой сети) и устанавливали опцию 'получать IP адрес автоматически', то DHCP-сервер в сети определенно есть.
  • Если вы использовали беспроводную карту в Windows (в этой сети) и вписывали IP-адрес сами, в таком случае в сети DHCP-сервера нет. И если есть возможность вам следует узнать параметры настройки сети используемые вами раньше.
  • Если вы подключаетесь к некоему роутеру совмещенному с точкой доступа, в большинстве случает вы получите адрес по DHCP.
  • Если вы находитесь в Internet-кафе, вероятно и здесь есть DHCP-сервер.
  • Если рядом есть кто то знающей о сети, к которой вы подключаетесь, спросите есть ли в ней DHCP-сервер.
  • Если вы не можете выяснить есть ли в сети DHCP-сервер, попробуйте способы описанные ниже, они могут сработать и вы получите ответ самостоятельно.

Соединение с использованием DHCP

Существует большое количество DHCP клиентов, и то, который установлен у вас во многом зависит от того, какой GNU/Linux дистрибутив вы используете. Наиболее распространен dhclient, именно его мы и будем использовать.


Для получения адреса в сети с рабочим DHCP-сервером, наберите (от имени root'a):


dhclient ath0 


Вы должны увидеть что то вроде:


Internet Software Consortium DHCP Client 2.0pl5 
Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium. 
All rights reserved. 
 
Please contribute if you find this software useful. 
For info, please visit http://www.isc.org/dhcp-contrib.html 
 
eth1: unknown hardware address type 24 
eth1: unknown hardware address type 24 
Listening on LPF/ath0/00:02:6f:20:14:81 
Sending on   LPF/ath0/00:02:6f:20:14:81 
Sending on   Socket/fallback/fallback-net 
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 7 
DHCPOFFER from 192.168.0.254 
DHCPREQUEST on ath0 to 255.255.255.255 port 67 
DHCPACK from 192.168.0.254 
bound to 192.168.0.152 -- renewal in 7200 seconds. 

Самая нижняя строчка говорит о том, что DHCP-сервер выделил нам адрес 192.168.0.152. Так же он сообщит вашему компьютеру где находится основной шлюз и DNS-сервер, если они присутствуют в сети.


В случае, если в вашей системе установлен dhcpcd вместо dhclient:


dhcpcd ath0 


Если сеть, к которой вы подключаетесь имеет выход в интернет, вы можете набрать:


ping bbc.co.uk 


Для проверки что все работает. Если все функционирует как нужно — вы должны увидеть примерно следующее:


PING bbc.co.uk (212.58.224.131) 56(84) bytes of data. 
64  bytes  from  rdirwww-vip.thdo.bbc.co.uk  (212.58.224.131):  icmp_seq=1 ttl=119 time=15.4 ms 
64  bytes  from  rdirwww-vip.thdo.bbc.co.uk  (212.58.224.131):  icmp_seq=2 ttl=119 time=14.3 ms 
64  bytes  from  rdirwww-vip.thdo.bbc.co.uk  (212.58.224.131):  icmp_seq=3 ttl=119 time=15.1 ms 


Подключение к сети без DHCP-сервера

Подключение к сети без DHCP-сервера делает жизнь немного более сложной. Вам потребуется некоторая информация о вашей сети:

  • IP-адрес. Который вы можете использовать в сети.Это может быть что то вроде 192.168.0.10, но может быть и другой.
  • Маску сети. Обычно это 255.255.255.0 или 255.255.0.0, но опять же, она может быть другой. Маска сети описывает диапазон адресов локальной сети.
  • Адрес локального сервера имен (nameserver), если он есть. Сервер имен используется для получения IP-адреса из имени хоста, например madwifi.org и vice versa.
  • Адрес шлюза сети (если есть). Шлюз позволяет вам соединяться с сетями вне локальной подсети — обычно с Интернет.
  • Локальное доменное имя сети (опционально, есть не во всех сетях). Это имя, подставляемое перед всеми именами компьютеров в локальной сети. Например: предположим в сети есть два компьютера и их имена ns1.localnet.com и ns2.localnet.com. В этом случае имя домена будет localnet.com.

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


Что бы назначить IP-адрес интерфейсу, созданному ранее (ath0), наберите (от имени root):


ifconfig ath0 <IP address> netmask <netmask> up


Для использования сервера имен откройте файл /etc/resolv.conf в текстовом редакторе. Опять же, вы должны делать это как root:


gedit /etc/resolv.conf


Если вы предпочитаете другой текстовый редактор, замените gedit на команду запускающую его.


Когда файл открыт, добавьте символ # в начало всех строк со словами 'nameserver' и добавьте строки с вашими параметрами:


nameserver <nameserver IP> 


Если у вас в сети несколько серверов имен добавьте несколько строк 'nameserver'.

Если вы знаете локальное доменное имя вашей сети, добавьте в начало файла строку вида:


search <local domain> 


Сохраните файл и закройте текстовый редактор.


Последним шагом будет указание вашему компьютеру использовать шлюз (если в сети он есть). Для этого вам потребуется использовать команду route, сообщающую ядру как получить доступ в другие подсети.


От имени пользователя root наберите:


route add default gw <доменное имя шлюза> 

или:

route add default gw <IP-адрес шлюза>


После этого вы должны суметь «выглянуть» за пределы вашей сети и получить доступ в интернет. Для проверки наберите:


ping bbc.co.uk 

Вы должны увидеть:

PING bbc.co.uk (212.58.224.131) 56(84) bytes of data. 
64  bytes  from  rdirwww-vip.thdo.bbc.co.uk  (212.58.224.131):  icmp_seq=1 ttl=119 time=15.4 ms 
64  bytes  from  rdirwww-vip.thdo.bbc.co.uk  (212.58.224.131):  icmp_seq=2 ttl=119 time=14.3 ms 
64  bytes  from  rdirwww-vip.thdo.bbc.co.uk  (212.58.224.131):  icmp_seq=3 ttl=119 time=15.1 ms

Подключение к точке доступа с WEP

Подключение к точке доступа с WEP шифрованием очень похоже на подключение к открытой точке доступа.


Основное отличие в необходимости указать WEP-ключа с помощью iwconfig. Возможно вам потребуется указать используется ли «открытый» («open») либо разделяемый («shared») WEP-ключ (Это зависит от настроек шифрования на точке доступа).


Сначала, подключаетесь к точке доступа с помощью iwconfig как было описано выше. Хорошей идеей при использовании WEP будет явно указать точку доступа к которой вы хотите подключиться (вместо использования «ap auto» или «ap any»). Это можно сделать указав MAC-адрес точки доступа либо ESSID сети, как было показано выше.


Дальше, вам может потребоваться указать тип используемого WEP-ключа («open» или «shared»). Если вы используете «shared» WEP-ключ, используйте iwpriv authmode 2 со следующей командой (от root):


iwpriv ath0 authmode 2 


Если вы используете открытый («open») WEP-ключ (который считается более безопасным) воспользуйтесь iwpriv authmode 1 со следующей командой:


iwpriv ath0 authmode 1 


После того, как вы указали используете ли вы открытый («open») или разделяемый («shared») WEP-ключ, введите сам ключ коммандой (от имени root):


iwconfig ath0 key <wep-ключ в hex-виде>


Либо, если у вас не шестнадцатеричный а ASCII-ключ, выполните эту комманду:


iwconfig ath0 key <s:ASCII string of key> 


Это должно создать соединение между вашей беспроводной картой и точкой доступа. Следующим шагом вы должны будете настроить соединение с интернет с помощью DHCP или указать параметры сети вручную, как это было описано выше.

Подключение к точке доступа с WPA

На данный момент WPA предоставляет наилучшую схему безопасности для беспроводного подключения. Дополнительная безопасность потребует немного больше времени и усилий. Но оно того стоит. Страници по следующим ссылкам описывают способ поддержки WPA в MadWifi и способ его настройки:


  • UserDocs/802.11i
  • UserDocs/WPA_PSK_on_Both_Ends

Удаление MadWifi

Удалить MadWifi достаточно просто, но потребуются права пользователя root. Cначала перейдите в директорию с исходными текстами (либо скачайте их заново, если они оказались удалены). Затем наберите:


make uninstall


Это запустить скрипт ищущий и удаляющий все модули и инструменты, установленные ранее.


Разрешение сложностей

Если что то идет не так, первое что вам нужно сделать — проверить все что вы сделали раньше и убедиться что это было сделано верно. Звучит просто, но когда вы не слишком хорошо знакомы с чем то очень легко сделать мелкие ошибки.


Если и после проверки что то по прежнему не работает, вам следует обратиться к UserDocs/Troubleshooting, странице FAQ о проблемах с драйверами MadWifi. Так же большое количество документации доступно на wiki проекта MadWifi в разделе UserDoc. Информация с wiki может помочь в решении сложных вопросов. Если вам не удалось найти информацию связанную с вашей проблемой, хорошей идеей будет заглянуть на страницу Support. На странице описано где найти и получить помощь по MadWifi. В большинстве случаев решение проблемы находится в архиве сообщений списка рассылки, либо после отправки сообщения с описанием вашей проблемы в список рассылки либо на IRC канал. Дополнительную информацию по обоим каналам получения помощи вы найдете на странице Support.


Дополнительная документация

Если вы хотите просмотреть некоторую документацию, идущую с MADWIFI, вы найдете ее в директории docs в папке с исходными кодами. Если вы находитесь в нужной директории, вы можете скомпилировать users-guide.tex в PDF файл набрав:


make


Вам потребуется установленный latex дистрибутив для выполнения этой операции.

Так же вы можете скомпилировать users-guide в html, установив latex2html и использовав комманду:


latex2html users-guide.tex


Которая создаст директорию users-guide и разместит там полученный файл.

Личные инструменты