wive d-link dwl-g700ap
Создано: 02-06-2009 16:14:44  Метки: nat wi-fi wive
настройки d-link с прошивкой wive для работы в нат

telnet 192.168.0.50
login: root
password: rtl8186

cat /etc/network/interfaces
BRIDGE_START=no
#When auto_bridge is "yes" then init.script makes bridge itself
# when aut_bridge is "no" then init.script start /etc/network/bridge
AUTO_BRIDGE=no

# Just to make faster load, when not needed.
STP_ENABLE=no
FD_TIMER=0
GCINT_TIMER=0

BR0_USE_DHCP=no
BR0_IPADDR=192.168.0.50/24

IPV4_FORWARD_ENABLE=yes
START_IPTABLES=yes

VLAN_START=no

ETH0_ENABLED=yes
ETH0_FORCEIP=no
ETH0_IN_BR0=no
ETH0_USE_DHCP=no
ETH0_IPADDR=192.168.10.1/29
ETH0_MACADDR=00006c576976

ETH1_ENABLED=no
ETH1_FORCEIP=no
ETH1_IN_BR0=no
ETH1_USE_DHCP=no
ETH1_IPADDR=192.168.0.50/24
ETH1_MACADDR=00006c576977

WLAN_ENABLED=yes
WLAN_FORCEIP=no
WLAN_IN_BR0=no
WLAN_USE_DHCP=no
WLAN_IPADDR=192.168.xxx.6/30
WLAN_MACADDR=00022d42d3ab
WLAN_BURST=no

#Be carefull. There're many Hardware-specific mibs
WLAN_USE_UNCHECKED_MIBS=no


cat /etc/network/routes
#!/bin/sh
ip ro add default via 192.168.xxx.5


cat /etc/network/iptables
#!/bin/sh

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.10.0/29 -j MASQUERADE


cat /etc/network/wifi/general
#!/bin/sh

#Set ESSID of wirelless Infrastructure Network
iwpriv wlan0 set_mib ssid="network"
#Uncomment and Set prior bssid to connect
#iwpriv wlan0 set_mib bssid2join=000000000000

iwpriv wlan0 set_mib hiddenAP=1

#Set Mode: 8 - Client;16 - AP; 32 - AdHoc
iwpriv wlan0 set_mib opmode=8

#Set Regulatory Domain:
#  "3" - 13 channels available, "6" - 14 channels available.
#  FCC=1;IC=2;ETSI=3;SPAIN=4;FRANCE=5;MKK=6
iwpriv wlan0 set_mib regdomain=6

#Set Channel here
iwpriv wlan0 set_mib channel=13

#Set Initial Gain: in range 0-7
#   It seems to be sens but maybe not. Just test
iwpriv wlan0 set_mib initialGain=5

#Set TransmitPower for CCK(802.11b) modulation
#  Please Change it in variable
CCKPOWER=12
iwpriv wlan0 set_mib TxPowerCCK=`ader $CCKPOWER 14`
#iwpriv wlan0 set_mib TxPowerCCK=1010101010101010101010101010

#Set TransmitPower for OFDM(802.11g) modulation
#  Please Change it in variable
OFDMPOWER=12
iwpriv wlan0 set_mib TxPowerOFDM=`ader $OFDMPOWER 162`
#iwpriv wlan0 set_mib TxPowerOFDM=10101010101010101010101010101010101010101010101010\
101010101010101010101010101010101010101010101010101010101010101010101010101010101010\
101010101010101010101010101010101010101010101010101010101010101010101010101010101010\
101010101010101010101010101010101010101010101010101010101010101010101010101010101010\
1010101010101010101010

iwpriv wlan0 set_mib basicrates=4095
iwpriv wlan0 set_mib oprates=4095
iwpriv wlan0 set_mib fixrate=1
iwpriv wlan0 set_mib autorate=1

iwpriv wlan0 set_mib band=3

iwpriv wlan0 set_mib bcnint=100

#RTS/CTS Threshold
iwpriv wlan0 set_mib rtsthres=2346

iwpriv wlan0 set_mib fragthres=2346
iwpriv wlan0 set_mib expired_time=50000
iwpriv wlan0 set_mib dtimperiod=1

iwpriv wlan0 set_mib show_hidden_bss=1
iwpriv wlan0 set_mib preamble=0

iwpriv wlan0 set_mib shortretry=6
iwpriv wlan0 set_mib longretry=6

iwpriv wlan0 set_mib Diversity=0
iwpriv wlan0 set_mib DefaultAnt=0
iwpriv wlan0 set_mib RFChipID=7
iwpriv wlan0 set_mib led_type=7

#G protection
iwpriv wlan0 set_mib disable_protection=0

#For bridged mode set this parameters
# Nat2.5 is technology to change the source MAC to MAC of Wlan-interface
#  be carefull it says disabled, so make inverse in your decision
iwpriv wlan0 set_mib nat25_disable=1
# Macclone says all about itself. It just takes MAC of ETHERNET device on other end of line
#  and take it for Wlan-interface. be carefull if this enabled it must be one device on a line.
iwpriv wlan0 set_mib macclone_enable=0

iwpriv wlan0 set_mib dhcp_bcst_disable=0

#Block packets between clients connected
# 0 - disable; 1 - block relay;2 - block relay but passup
iwpriv wlan0 set_mib block_relay=0

iwpriv wlan0 set_mib wifi_specific=0


fs save
reboot

дополнения:
Опубликовано Гость в 28 Декабрь, 2008 - 12:36.

Wive Firmware for RTL8186 Boards

Предисловие

License
На данный момент поддерживается GNU GPL лицензия с распространением исходных текстов прошивки.

Текущая версия
На данный момент последней версией прошивки является Wive-0.5.7

Релиз: 28 сентября 2006

Данный ридми обновляется. Текущая версия неполная.

Версия 0.3.5

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

Ответственность
Создатель не несет никакой ответственности за данный продукт и предоставляет его «как есть». Любое использование производится на собственный страх и риск.

ВНИМАНИЕ!

В версии прошивки 0.5.7 исправлены критические проблемы. Настоятельно рекомендую обновить вашу прошивку до версии 0.5.7

Содержание

Общие положения

Общие положения
Возможности
Управление
Файловая система
Настройки по-умолчанию
Набор программ

Основная часть

Как прошить точку доступа прошивкой Wive
Как вернуть оригинальную прошивку на точку доступа (D-Link DWL-G700AP)
Как работать с точкой доступа
Основные команды управления
Как работать с текстовым редактором vi

Основные примеры конфигурирования беспроводного интерфейса

Описание общих ключей беспроводного интерфейса(general)

Как указать скорость/выставить допустимые скорости

Описание специфических ключей беспроводного интерфейса (extended)
Как настроить интерфейс для включения режима AccessPoint-Infrastructure (AP)
Как настроить интерфейс для включения режима Client-Infrastructure (Client)
Как включить MAC-фильтр в режиме AP
Как включить WDS
Как включить режим репитера

Настройка IP параметров точки доступа
Настройка IP-адресов интерфейсов
Как настроить мост между интерфейсами точки доступа (прозрачное соединение с беспроводным сегментом)

Примеры практического применения

Как настроить точку доступа для прозрачного соединения точка-точка - мост (WDS)

Общее описание

Общие положения
Прошивка Wive подходит практически для всех типов оборудования использующего в основе процессор Realtek RTL8186 (кроме ревизий A, как в оборудовании Planet WAP-4035) и имеющие беспроводные контроллеры(WiFi), контроллеры Ethernet.

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

Возможности

В данной версии прошивки включен пакет tc (traffic controller) из пакета iproute2, что позволяет создавать цепочки правил шейпера для распределения нагрузки на каналы связи.

Также включен пакет ipcad, что позволяет использовать точку доступа с данной прошивкой, как точку учета проходящего трафика. Также появляется возможность унифицированного использования с биллингами поддерживающими сбор статистики используя протокол NetFlow.

В некоторых бюджетных точках доступа отключены возможности использовать режим беспроводного клиента в Infrastructure mode, использование WDS.

Также есть возможность использовать точку доступа как роутер или прозрачный мост. Полное управление интерфейсами.

Управление
Прошивка не имеет визуального модуля управления (так называемый web-интерфейс), в планах разработка отдельной утилиты управления прошивкой.

Возможно управление системой используя протоколы telnet и ssh. Предпочтительно телнет закрывать и использовать исключительно ssh. Но т.к. в стандартной поставке ОС WINDOWS поддержки протокола ssh нет, возможно начальное управление используя телнет. Для доступа по ssh можно использовать утилиту putty.

Файловая система
Файловая система состоит из трёх частей (автор идеи и реализации Sergey Kononov aka Dgreen):

SquashFs - очень хорошо архивируемая, доступная только для чтения файловая система.

RamFs – редактируемая, но сбрасываемая в первоначальное положение при перезагрузке.

JF_FS2 – файловая система оптимизированная для работы с флеш-памятью. Режим чтение/запись.

Файловая система squashFS хранит в себе библиотеки и исполняемые файлы. RamFS используется для хранения логов и других временных файлов, которые при перезагрузке удаляются. JF_FS2 хранит все конфигурационные файлы.

Настройки по-умолчанию

По-умолчанию точка доступа работает как роутер, следует это помнить при дальнейшем конфигурировании.

ETH0 IP: 192.168.0.50 Login: root
ETH0 NetMask: 255.255.255.0 Password: rtl8186
ETH1 IP: 192.168.1.50
ETH1 NetMask: 255.255.255.0 IPV4_forward: yes
WLAN0 IP: 192.168.2.50 Iptables policy: ACCEPT ALL
WLAN0 NetMask: 255.255.255.0 Mode: Router
WLAN mode: Client NAT 2.5: yes
WLAN ESSID: Wive MacClone: no
WLAN band: B+G TxPowerCCK: 16dB
WLAN Rates: all (1,2,5.5,11,6,9,12,18,24,36,54) TxPowerOFDM: 16dB

Набор программ

Прошивка управляется набором скриптов, которые исполняются при загрузке или в любой момент, по требованию пользователя. Параметры хранятся в конфигурационных файлах.

Конфигурационные файлы можно редактировать текстовым редактором Vi.

Большинство конфигурационных файлов являются скриптами оболочки ash (усеченная версия bash).

Основная часть

Как прошить точку доступа прошивкой Wive

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

ВНИМАНИЕ!!!

Вместе с прошивкой предоставляется обновленная версия загрузчика – исправлены проблемы с таймингом, что позволяет уменьшить задержку при передаче данных в прозрачном режиме (bridge). Загрузчик проверялся на точке доступа Dlink DWL-G700AP, не рекомендуется использовать на других точках, если вы не знаете что делаете.

Установите на своем компьютере айпи-адрес из подсети 192.168.1.0/255.255.255.0 (но не 192.168.1.6), например 192.168.1.1.

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

Для заливки прошивки потребуется TFTP клиент (для Windows http://www.tftp-server.com/tftp-client.html)

Используя Windows TFTP Client загрузите сначала файл root.bin, подождите секунд 15-20, затем linux.bin на точку доступа командой

>tftp –i 192.168.1.6 PUT root.bin root.bin

>tftp –i 192.168.1.6 PUT linux.bin linux.bin

В линуксе нужно зайти в tftp клиент и ввести такие команды

>connect 192.168.1.6

>binary

>put root.bin

>put linux.bin

После загрузки файла linux.bin точка доступа запишет его на флеш и перезагрузится. После завершения прошивки точка будет доступна приблизительно через 30-40 секунд (всё это время производится самонастройка точки доступа).

Как вернуть оригинальную прошивку на точку доступа (D-Link DWL-G700AP)

Восстановление прошивки производится тем же путем, что и установка прошивки Wive, за тем исключением что в точку доступа нужно отсылать сам файл прошивки dwl-g700ap_v210r14_0330.bin который можно взять с официального файлового сервера (на момент написания этого ридми) по адресу:

ftp://ftp.dlink.ru/pub/Wireless/DWL-G700AP/Firmware/

Как работать с точкой доступа
Как уже отмечалось ранее конфигурирование точки доступа возможно используя протокол телнет и ssh. Если на вашем компьютере нет ssh клиента ( в ОС линукс это команда ssh, в Windows можно использовать putty), то можно использовать телнет для первичной настройки. В среде Windows откройте коммандную строку и введите

>telnet 192.168.0.50

После этого введите логин и пароль для входа в точку доступа (по-умолчанию root/rtl8186)

После этого вы работаете в консоли точки доступа, как в обычном линуксе. В прошивке Wive допускается завершение команд/директорий/имен файлов по нажатию кнопки tab.

Основные команды управления

cp – копирует файлы

dumpleases – выводит статистику по DHCP серверу

killall – позволяет завершить процесс по его имени

netstat – выводит состояние сетевой подситемы ядра

rssi – Выводит уровень сигнала в процентах и децибеллах для каждой подключенной станции в виде таблицы

watch – обеспечивает беспрерывное исполнение и вывод на экран программы с заданным интервалом

crond – демон выполняющий согласно расписанию указанные программы в фоновом режиме

echo – выводит на экран текст (или в файл, если использовать операторы перенаправления вывода “>”) ifconfig – выводит информацию о доступных сетевых интерфейсах и позволяет их конфигурировать

ntpclient – производит синхронизацию с сервером и установку точного времени в ОС

rssi_graph – графический анализатор уровня сигнала

top – интерактивный просмотрщик текущих процессов

wget – позволяет загружать файлы с удаленных web и ftp серверов

adduser – добавляет пользователя в систему

ln – создает символическую/жесткую ссылку на файл/директорию

passwd – позволяет изменить пароль текущего пользователя (или любого другого если вы root)

ader – простая программа дублирующая число заданное количество раз (помогает при выставлении мощности передатчика)

cut – программа для выделения текста по заданным криетриям

expr – выполняет целочисленные вычисления

ping – простая программа для проверки наличия связи используя echo-icmp

scanner – графический анализатор эфира. Выводит список доступных точек доступа и их уровень сигнала. Срабатывает раз в три секунды

wl – простой сканнер эфира. Один раз сканнирует и выводит информацию о доступных точках доступа

traceroute – трассировщик маршрута

arping – проверка наличия хоста в физическом домене и определяет его мак-адрес с добавлением его в arp-таблицу

date – выводит/устанавливает текущую дату

ls - выводит содержимое текущего/указанного каталога

sh – оболочка консоли

arssi – интерактивный просмотрщик уровня сигнала в процентах (перенесен из прошлых версий)

lsmod – выводит список подключенных к ядру модулей

ps – выводит список запущенных процессов

udhcpc – dhcp клиент

udhcpd – dhcp сервер

ftpget – загружает файл с ftp сервера на точку доступа

ftpput – выгружает файл на ftp с точки доступа

insmod – подключает указанный модуль к ядру

brctl – конфигуратор мостов, объединяющих интерфейсы в один, для достижения прозрачного соединения двух сетей

ip – утилита управления сетевыми интерфейсами

mkdir – создать директорию

mount – примонтировать файловую систему (как локальную, так и сетевую NFS)

umount – размонтировать файловую систему

grep – потоковый редактор, выводит строки в которых встречается аргумент команды

ipcad – позволяет собирать статистику проходящего трафика

reboot – перезагрузка системы

cat – выводит содержимое файла

dropbear – демон принимающий ssh соединения

iptables – система управления фаерволом

rm – удалить файл/директорию

tail – выводит на экран последние n строк файла

uptime – выводит на экран время работы после последней перезагрузки/включения

chmod – программа выставляет права доступа

iwpriv – управление mib-записями на беспроводном интерфейсе

rmdir – удаляет директории

tc – шейпер трафика

route – упавление маршрутами на точке доступа

vi – интерактивный текстовый редактор

Как работать с текстовым редактором vi

В прошивке используется оптимизированный под маленький размер редактор vi, который является частью общей оболочки BusyBox. Для запуска программы стоит просто ввести в командной строке:

>vi

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

>vi somefile

При включении vi работает в режиме просмотра файла, точнее вы находитесь в консоли самого редактора, у которого есть свои основные команды. Команды в vi вызываются из командной строки vi. Командную строку вы можете открыть просто введя двоеточие “:” (комбинация клавиш Shift+”;”). Командная строка показывается внизу экрана. Для редактирования существующего файла стоит ввести “edit” и имя файла, можно сократить команду и ввести просто “e” и имя файла.

Для сохранения файла введите “write” или “w” и имя файла в который желаете сохранить, если вы открывали vi с именем файла, то здесь его можно не вводить, редактор сам сохранит отредактируемый файл.

Для непосредственно редактирования нажмите просто клавишу “i” и начните редактирование (нужно нажимать клавишу в оболочке, а не в командной строке).

Для выхода из режима редактирования или закрытия командной строк нужно нажать клавишу “Esc”.

Для выходя из редактора в командой строке введите “quit” или “q”.

Также есть комбинированная команда “wq”, которую удобно использовать при редактировании существующего файла.

Например, вы хотите отредактировать файл /etc/network/interfaces. Вы можете редактирвоать файл указывая полное имя файла из корня или перейти в директорию и начать редактирования. Используем второй вариант. Для этого вам стоит перейти в директорию /etc/network/ командой:

>cd /etc/network

Потом есть два варианта редактирования, простейший – это ввод имени файла в виде аргумента:

>vi interfaces

после этого просто нажимаете клавишу “i” и редактируете файл.

Второй вариант:

>vi

Откроется чистое окно редактора, для открытия файла введите двоеточие, чтобы войти в командую строку. Потом нажмите “e interfaces”. Перед вами откроется содержимое этого файла. После этого нажмите клавишу “i” и редактируйте файл.

По завершению редактирования нажмите клавишу “Esc” и войдите в командую строку редактора (двоеточие). Введите комбинацию “wq”. Всё, файл отредактирован и сохранен.

Например, вы хотите создать новый файл в директории /etc, а файл назвать, например user_file. В данном случае воспользуемся указанием полного имени файла из корня файловой системы. Для этого нужно ввести команду

>vi

Находясь в любом месте файловой системы вы можете создать/открыть для редактирования файл по его полному имени. Если мы редактируем файл, то указываем команду в виде “>vi /etc/user_file”, если создаем новый файл, но просто переходим в режим режактирования клавишей “i” и записываем всё что нам нужно в этот файл, после чего нажимаем клавишу “Esc” (выход из режима редактирования), нажимаем двоеточие (вызов командной строки редактора) и вводим отдельно команды:

: w /etc/user_file

После этого:

:q

Всё, файл сохранен и находится в директории /etc.

При конфигурировании прошивки вам очень часто прийдется сталкиваться с редакотором vi, т.к. это единственный способ изменения параметров и редактирвоания конфигурационных файлов.

Основные примеры конфигурирования беспроводного интерфейса

Описание общих ключей беспроводного интерфейса(general)

Все ключи беспроводного интерфейса описываются конфигурационными файлами в директории /etc/network/wifi/. Файлы названы по смыслу, для упрощения навигации по настройкам интерфейса. В основном фале конфигурации “general” описаны такие ключи:

iwpriv wlan0 set_mib ssid="Wive"

ESSID беспроводной сети с которой работать

iwpriv wlan0 set_mib hiddenAP=0

Беспроводная сеть с точкой доступа в скрытом режиме( «0» - открыта; «1» - скрыта)

iwpriv wlan0 set_mib opmode=8

Режим работы интерфейса

# FCC=1;IC=2;ETSI=3;SPAIN=4;FRANCE=5;MKK=6

iwpriv wlan0 set_mib regdomain=6

Домен Управления, отвечает за количество доступных каналов, для разных регионов разрешено использовать разные каналы. 6 – все 14 каналов для диапазона 2.4ГГц

iwpriv wlan0 set_mib channel=6

Канал, на котором работает беспроводная сеть.

iwpriv wlan0 set_mib initialGain=4

Чувствительность приемника (от 0 до 7)

CCKPOWER=10

iwpriv wlan0 set_mib TxPowerCCK=`ader $CCKPOWER 14`

#iwpriv wlan0 set_mib TxPowerCCK=1010101010101010101010101010

Это параметр скорости для модуляции CCK (в общем случае также мощность всего режима 802.11b – скорости 1,2,5.5,11Мбод/с). Значения еще не отъюстированы. Известно, что 12 – равняется 16dB, а значение 1a является оптимальным. Значения выше 20 использовать не рекомендуется без дополнительной схематической доработки (охлаждение), во избежание выгорания передатчика.

Все значения имеют шестандцатеричный вид – две цифры описывают один канал, то есть на 14 каналов требуется описать 14 пар цифр или 14 двузначных чисел. Для упрощения ввода используется переменная CCKPOWER в которой указывается общее усиление на все каналы, и программа ader которая повторяет это число заданное количество раз, если вам нужна тонка настройка мощности, раскоментируйте строку

#iwpriv wlan0 set_mib TxPowerCCK=1010101010101010101010101010

и введите значения которые удовлетворяют вашим потребностям.

OFDMPOWER=10

iwpriv wlan0 set_mib TxPowerOFDM=`ader $OFDMPOWER 162`

#iwpriv wlan0 set_mib TxPowerOFDM=101010101010101010101010101010101010101010101010101010101010101010\
101010101010101010101010101010101010101010101010101010101010101010101010101010\
101010101010101010101010101010101010101010101010101010101010101010101010101010\
101010101010101010101010101010101010101010101010101010101010101010101010101010\
101010101010101010101010

Тоже самое, что и для CCKPOWER только для модуляции OFDM – модуляция используется в режиме 802.11g.

iwpriv wlan0 set_mib basicrates=4095

iwpriv wlan0 set_mib oprates=4095

iwpriv wlan0 set_mib fixrate=1

iwpriv wlan0 set_mib autorate=1

Ключи которые устанавливают допустимые скорости работы(basicrates, oprates), а также позволяют указать фиксированную скорость (fixrate) или включить автоподбор скорости(autorate). Как описать скорость смотрите раздел «Как указать скорость/выставить допустимые скорости». Все ключи кроме autorate выставляются по маске скоростей, которые описаны в вышеназванном разделе. Autorate принимает два значения: «0» - выключить автоподбор скорости и «1» - включить автоопределение скорости.

iwpriv wlan0 set_mib band=3

Ключ отвечающий за режим работы. «1» – это для работы только в режиме 802.11b; «2» - это для работы только в режиме 802.11g; «3» - это для работы в обоих режимах 802.11b+802.11g

iwpriv wlan0 set_mib bcnint=100

Beacon Interval – установка таймера для посылки служебных пакетов

iwpriv wlan0 set_mib rtsthres=2346

RTS/CTS Threshold – установка размера фрейма для которого требуется синхронизация связи

iwpriv wlan0 set_mib fragthres=2346

Устанавливает размер пакета, для которого производится фрагментация

iwpriv wlan0 set_mib expired_time=50000

Время засыпания для клиентов – когда считать клиента неактивным и отключить его от точки доступа. Время высчитывается после последнего переданного фрейма.

iwpriv wlan0 set_mib dtimperiod=1

DTIM-период

iwpriv wlan0 set_mib show_hidden_bss=1

Позволяет видеть скрытые точки доступа при сканировании

iwpriv wlan0 set_mib preamble=0

Устанавливает тип преамбулы (0 – длинная, 1 – короткая)

iwpriv wlan0 set_mib shortretry=6

iwpriv wlan0 set_mib longretry=6

iwpriv wlan0 set_mib Diversity=0

iwpriv wlan0 set_mib DefaultAnt=0

iwpriv wlan0 set_mib RFChipID=7

Управление antenna diversity, приоритетность антенн, а также тип передатчика, RFChipID=7 для чипа 8225(поддержка 802.11b и 802.11g). В большинстве случаев изменять их не требуется.

iwpriv wlan0 set_mib led_type=7

Тип свечения wlan-светодиода.

iwpriv wlan0 set_mib disable_protection=0

Указывает на выключение G protection. G protection по стандартну позволяет сделать приоритетным обслуживание клиентов со скоростями описанными в 802.11g нежели старого 802.11b.

iwpriv wlan0 set_mib nat25_disable=1

iwpriv wlan0 set_mib macclone_enable=0

Параметры, на которые следует обратить внимание в режиме bridge. Т.к. общий стандарт 802.11 описывает зваимодействие на МАС-уровне, соответственно точка доступа в режиме AP-Infrastructure управляет и опознает клиентов по их МАС-адресам. Часто бывает нужно за одним устройством пометсить несколько МАС-интерфейсов, что для точки доступа будет означать, якобы из одного приассоциированного беспроводного клиента идет несколько потоков, что непредусмотрено стандартом – точка доступа не сможет идентифицировать адресата (источника впрочем тоже) пакета который следует от неприассоциированного клиента.

Для обхода данной проблемы были предоставлены две возможности. Одна – технология NAT2.5, практически ничем не отличается от обычного NAT за исключением того, что NAT2.5 действует на втором, МАС-уровне, то есть подменяет заголовки пакетов в поле источник на беспроводном интерфейсе на свой МАС-адрес. Таким образом любое количество МАС-интерфейсов в проводной сети будут видны как один МАС-интерфейс в беспроводной сети.

Другая технология позволяет выступать точке доступа как «удлинитель» одного МАС-интерфейса в проводном сегменте. Точка доступа принимает МАС-адрес интерфейса в проводном сегменте к своему беспроводному. Грубо говоря в беспроводной сети видна ваша сетевая карточка компьютера.

Стоит помнить, что МАС-клон не стоит использовать при множественных МАС-интерфейсах а в проводном сегменте.

ВНИМАНИЕ!!! Очень важно помнить, что обе технологии должны быть отключены в режиме роутера (т.к. в беспроводной сети в режиме клиента точка доступа выступает сама за себя в физическом домене), а также в режиме AP-Infrastructure, т.к. точка доступа выступает организатором сети и сама управляет МАС-адресами и знает где МАС-адрес проводного сегмента, а где МАС-адрес беспроводного клиента.

iwpriv wlan0 set_mib dhcp_bcst_disable=0

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

# 0 - disable; 1 - block relay;2 - block relay but passup

iwpriv wlan0 set_mib block_relay=0

Позволяет контроллировать передачу данных между абонентами. При значении «0» - передача разрешена, «1» - запрещена передача между клиентами беспроводной сети, «2» - позволяет передачу данных от клиента в проводной сегмент только.

iwpriv wlan0 set_mib wifi_specific=0

Параметр не изучен.

Как указать скорость/выставить допустимые скорости

Представьту себе таблицу из двух строк

54 48 36 24 18 12 9 6 11 5.5 2 1
1 1 1 1 1 1 1 1 1 1 1 1

Во-второй строке двоичное число, которое показывает какие скорости можно использовать... Подставляете «1» под нужные скорости, ненужные ставите нули, и переводите полученное число в десятичную систему (подойдет любой математический калькулятор на компьютере) и вы получите маску скоростей для указания их в драйверах.

Например,

255 - значит скорости от 1 до 18 Мбит

54 48 36 24 18 12 9 6 11 5.5 2 1
0 0 0 0 1 1 1 1 1 1 1 1

000011111111 = 11111111 - восемь бит по единице равно 255 в десятичной системе

128 - значит просто 18 Мбит

54 48 36 24 18 12 9 6 11 5.5 2 1
0 0 0 0 1 1 1 1 1 1 1 1

000010000000 = 10000000 - в десятичной системе равно 128

Если хотим использовать только скорости 802.11g режима: 4080

54 48 36 24 18 12 9 6 11 5.5 2 1
1 1 1 1 1 1 1 1 0 0 0 0

111111110000 – в десятичной системе 4080

Все скорости обоих диапазонов это 4095. Ниже приведена таблица для единичных скоростей и их маска

1 1 12 64
2 2 18 128
5.5 4 24 256
11 8 36 512
6 16 48 1024
9 32 54 2048

Более простой метод подсчета маски для множества скоростей – просто слаживать десятичные числа для каждой скорости. В вышеприведеном примере для указания скоростей от 1 до 18 мбит потребовалось число 255. Попробуем его получить обычным сложением единичных скоростей. Смотрим маски соответствия скоростей в таблице и суммируем

1+2+4+8+16+32+64+128=255.

К примеру, если нам потребуется использовать скорости 802.11g до 18мбит это будет выглядеть так

16+32+64+128=240

Описание специфических ключей беспроводного интерфейса (extended)

Расширенные и нестандартные опции описаны в файле /etc/network/wifi/extended. На данный момент в нем есть такие ключи:

iwpriv wlan0 set_mib ack_timeout=255

Управление ACK таймингом. Помогает при построении беспроводной сети на дальние расстояния (чаще соединения типа точка-точка). Очень часто при несоответствии параметров тайминга и расстояния радиотрассы, возникают проблемы передачи данных: потери на линии, вырастает задержка передачи данных, появляются дупликации пакетов.

iwpriv wlan0 set_mib disable_olbc=1

Параметр определяет CTS пакеты для работы беспроводной сети. Параметр указывает на скорость служебных пакетов, т.к. старые клиенты 802.11b не могут определить высокие скорости 802.11g, то для беспроводных точек доступа введен этот параметр. Стандарт предусматривает исключительно использование для обоих типов клиентов. Если используются только 802.11g клиенты, можно установить параметр «0» для ускорения работы беспроводной сети.

iwpriv wlan0 set_mib tx_priority=0x0

Параметр не изучен

iwpriv wlan0 set_mib turbo_mode=0x01000000

Параметр не изучен

iwpriv wlan0 set_mib iapp_enable=1

/bin/iapp wlan0

Позволяет использовать протокол обмена информацией между точками доступа (802.1f - Inter-Access Point Protocol)

Как настроить интерфейс для включения режима AccessPoint-Infrastructure (AP)

Для включения режима AP вам потребуется отредактировать файл /etc/network/wifi/general.

В этом файле хранятся все основные ключи конфигурирования беспроводного интерфейса. Для включения режима AP вам стоит редактировать ключ iwpriv wlan0 set_mib opmode, значение которого должно быть установлено «16». Если вы желаете, чтобы точка доступа не была видна при сканировании нужно установаить ключ iwpriv wlan0 seet_mib hiddenAP в значение “1”.

Также не забудьте выставить значения ESSID (ключь iwpriv wlan0 set_mib ssid). Скорости работы беспроводного интерфейса, а также режим работы (iwpriv wlan0 set_mib band), канал на котором будет работать ваша точка доступа(iwpriv wlan0 set_mib channel).

Как настроить интерфейс для включения режима Client-Infrastructure (Client)

Для включения режима Client вам потребуется отредактировать файл /etc/network/wifi/general.

В этом файле хранятся все основные ключи конфигурирования беспроводного интерфейса. Для включения режима Client вам стоит редактировать ключ iwpriv wlan0 set_mib opmode, значение которого должно быть установлено «8». Если вы подключетесь к точке доступа со скрытым ESSID важно установить канал на котором работает нужная вам беспроводная сеть. Также не забудьте выставить значения ESSID (ключь iwpriv wlan0 set_mib ssid). Скорости работы интерфейса, а также режим работы (iwpriv wlan0 set_mib band).

Как включить MAC-фильтр в режиме AP

Для этого нужно редактировать файл acl в директории /etc/network/wifi. В этом файле включается МАС-фильтрация и указываются МАС-адреса беспроводных интерфейсов, которым разрешена ассоциация (присоединение) к вашей точке доступа.

iwpriv wlan0 set_mib aclmode=0

Включает режим МАС-фильтра.(0 – выключен, 1 – включен)

iwpriv wlan0 set_mib aclnum=0

Номер из списка мас-адресо с которого начинаем вводить адреса. В большинстве случаев менять не требуется. При добавлении мас-адресов счетчик автоматически увеличивается на единицу.

iwpriv wlan0 set_mib acladdr=00006c000001

Указание МАС-адреса в фильтр. Для включения нескольких МАС-адресов, просто вводите эту строку несколько раз с разными МАС-адресами.

Например,

iwpriv wlan0 set_mib acladdr=00006c000001

iwpriv wlan0 set_mib acladdr=00006c001452

iwpriv wlan0 set_mib acladdr=00006c005603

iwpriv wlan0 set_mib acladdr=00006c004004

Как включить WDS

Для этого нужно в параметрах точки доступа (директория /etc/network/wifi) редактировать файл wds. В котором указаны режим работы WDS, мак-адреса точек доступа в общей WDS-сети и прочее.

Для включения wds-режима нужно включить его сменой ключа

Iwpriv wlan0 set_mib wds_enable=1

Если вы хотите использовать исключительно wds-сеть без возможности подключения обычных wi-fi клиентов в infrastructure режиме, то включите режим wds_pure ключем

Iwpriv wlan0 set_mib wds_pure=1

Иначе пусть остается значение «0»

Для добавления MAC-адреса в список участников WDS-сети нужно указать номер WDS участника в списке, начиная с 0. Далее мы поочередно вводим MAC-адреса.

Iwpriv wlan0 set_mib wds_num=0

Iwpriv wlan0 set_mib wds_add=001122334455

Iwpriv wlan0 set_mib wds_add=223344556677

………..

Следует отметить, что список формируется автоматически и номер в списке увеличивается автоматически, то есть не нужно каждый раз указывать wds_num на единицу больше. Его стоит указывать только если нужно изменить мак-адрес участника WDS-сети без реинициализаии или без перезагрузки точки доступа, так сказать «на лету».

ВАЖНО!!! При включении WDS режима, стоит включить точку доступа в режим AccesPoint-Infrastructure (файл /etc/network/wifi/general ключ iwpriv wlan0 st_mib opmode=16)

Как включить режим репитера

Для этого нужно в параметрах точки доступа (директория /etc/network/wifi) редактировать файл wds. В этом файле стоит обратить внимание на строки:

ifconfig wlan0-vxd down

Выключаем интерфейс репитера

ifconfig wlan0-vxd hw ether $WLAN_MACADDR

указываем интерфейсу МАС-адрес беспроводного интерфейса

iwpriv wlan0-vxd set_mib ssid="Wive"

Указываем ESSID точки доступа которую будем повторять в эфире

#Set encmode for repeater:

# 0 - disabled, 1 - WEP64, 5 - WEP128, 2 - WPA

iwpriv wlan0-vxd set_mib encmode=0

Указываем тип шифрования беспроводной сети

Настройка IP параметров точки доступа

Настройка IP-адресов интерфейсов

Все ip-настройки хранятся в файле /etc/network/interfaces. В этом файле также описаны МАС-адреса для каждого интерфейса, а также типа bridge который вы хотите использовать.

Основные ключи в этом файле:

BRIDGE_START=no

Включить мост вместо режима роутера – два значения: “yes” – значит использовать мост; ”no” – не использовать мост и включить роутер и назначит айпи-адреса на каждый интерфейс.

AUTO_BRIDGE=yes

Авто-бридж – определяет автоматически какие интерфейсы включить в мост… Обычно используются параметры из этого файла по включенным интерфейсам (для каждого включенного интерфейса не назначается айпи-адрес, но интерфейс добавляется в бридж)

Если Авто-бридж отключает то для определения моста используется файл /etc/network/bridge. Если вам нужно добавить WDS или режим репитера, то используйте этот файл для конфигурирования вашего моста.

BR0_IPADDR=192.168.0.50/24

Айпи-адрес для интерфейса мост в автоматическом режиме.

IPV4_FORWARD_ENABLE=yes

Параметр определяющий состояние /proc/sys/net/ipv4/ip_forward для включения или отключения маршрутизации точки доступа. В режиме бриджа не имеет значения.

ETH0_ENABLED=yes

ETH0_IPADDR=192.168.0.50/24

ETH0_MACADDR=00006c576976

ETH0_DEVICE=eth0

Все параметры для проводного интерфейса LAN1. Первый параметр определяет – включить интерфейс при загрузке точки доступа? Второй параметр определяет айпи-адрес и сокращенную маску подсети для интерфейса. Третий параметр – МАС-адрес интерфейса.

ETH1_ENABLED=no

ETH1_IPADDR=192.168.1.50/24

ETH1_MACADDR=00006c576977

ETH1_DEVICE=eth1

Все параметры для проводного интерфейса LAN1. Первый параметр определяет – включить интерфейс при загрузке точки доступа? Второй параметр определяет айпи-адрес и сокращенную маску подсети для интерфейса. Третий параметр – МАС-адрес интерфейса.

WLAN_ENABLED=yes

WLAN_IPADDR=192.168.2.50/24

WLAN_MACADDR=00006c576976

Все параметры для проводного интерфейса LAN1. Первый параметр определяет – включить интерфейс при загрузке точки доступа? Второй параметр определяет айпи-адрес и сокращенную маску подсети для интерфейса. Третий параметр – МАС-адрес интерфейса.

ВНИМАНИЕ!!! При первой загрузке точки доступа обратите внимание на МАС-адрес ее интерфейсов, они подобраны из Приватной категории, укажите в полях ваши МАС-адреса, которые можно увидеть на дне вашей точки доступа. Причем допускается использование одного МАС-адреса для беспроводного интерфейса и для первого проводного интерфейса, для второго проводного интерфейса стоит указывать МАС-адрес на единицу больше.

Например,

WLAN_MACADDR=00006c576976

ETH0_MACADDR=00006c576976

ETH1_MACADDR=00006c576977

Как настроить мост между интерфейсами точки доступа (прозрачное соединение с беспроводным сегментом)

Для включения моста между интерфейсами используется утилита brctl. Для основных конфигураций (режим Client-Infrastructure, AccessPoint-Infrastructure) можно использовать автоматический мост (ключ yes параметра AUTO_BRIDGE). Последний добавляет все активные интерфейсы (для каждого интерфейса есть параметр вида _ENABLED) в мост и назначает айпи-адрес для интерфейса мост.

Непосредственно включение режима моста производится параметром BRIDGE_START в файле /etc/network/interfaces.

ВАЖНО!!!

Если вы пользуетесь режимом моста в режиме Client-Infrastructure беспроводного интерфейса обязательно включите одну из возможностей для беспроводного интерфейса – нат2.5 или клонирование MAC-адреса.

Если же вам требуется использовать режим WDS или репитера, то требуется отключить автоформирование моста и указать какие интерфейсы должны входить в мост в файле /etc/network/bridge

Сам файл состоит из двух функций – одна для запуска, вторая для остановки интерфейса.

user_brstart() {

Непосредственно название функции, которая включает мост. Название уникально, менять не стоит.

/etc/network/wifireset

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

brctl addbr br0

Команда добавляет интерфейс моста с именем br0

brctl addif br0 wlan0

brctl addif br0 eth0

brctl addif br0 wlan0-wds0

Добавляем последовательно интерфейсы wlan0 затем eth0 и wlan0-wds0

ifconfig eth0 promisc up

Включаем «неразборчивый» режим для интерфейса eth0 (указывать это необязательно, т.к. утилита brctl автоматически выставит этот параметр)

ip addr add $BR0_IPADDR brd + dev br0

Строка назначает Айпи-адрес для интерфейса моста (очень важный момент – этот айпи-адрес будет виден со всех интерфейсов, участвующих в мосте. Эту строку не рекомендуется изменять, т.к. можете полностью потерять управление точкой доступа. Айпи-адрес назначается исключительно для возможности управления + использование внутренних сервисов – ipcad, gre/ipip-туннели)

ip link set br0 up

Строка инициализации интерфейса мост.

}

user_brstop() {

Уникальное название для функции завершения/остановки интерфейса мост

brctl delbr br0

Удаляем интерфейс с именем br0

ip link set wlan0 down

ip link set eth0 down

ip link set wlan0-wds0 down

Последовательно отключаем интерфейсы wlan0,eth0,wlan0-wds

}

Это пример конфигурирования прозрачного объединения интерфейсов. Вы можете добавлять/удалять инетерфейсы, которые нужны вам для объединения. (в режиме WDS или режим Repeater)

Примеры практического применения

Как настроить точку доступа для прозрачного соединения точка-точка - мост (WDS)

Для этого на обоих точка доступа выставляем режим AP-Infrastructure. Одинаковый SSID и включаем скрытый режим, также выставляем нужные параметры мощности, скорости и обязательно одинаковый канал беспроводной сети. Все эти параметры указываются в файле /etc/network/general

Например,

iwpriv wlan0 set_mib ssid="Wive"

iwpriv wlan0 set_mib hiddenAP=1

iwpriv wlan0 set_mib opmode=16

iwpriv wlan0 set_mib regdomain=6

iwpriv wlan0 set_mib channel=6

Далее настраиваем непосредственно работу WDS подключения в файле /etc/network/wds. Включаем режим WDS, указываем режим только WDS и указываем МАС-адрес точки второй точки доступа, которая учавствует в WDS-сети. Для WDS-интерфейса указываем МАС-адрес самой точки доступа, на которой вводятся параметры.

iwpriv wlan0 set_mib wds_enable=0

iwpriv wlan0 set_mib wds_pure=1

iwpriv wlan0 set_mib wds_num=0

iwpriv wlan0 set_mib wds_add=00006c000001

ifconfig wlan0-wds0 hw ether $WLAN_MACADDR up

Обратите внимание на строку выше, в конце строки нужно указать, что WDS-интерфейс нужно включить.

iwpriv wlan0 set_mib wds_encrypt=0

iwpriv wlan0 set_mib wds_priority=1

После этого на точке доступа настраиваем мост между интерфейсами. Т.к. в данном случае в работе принимают участие WDS-интерфейсы, которые также нужно вводить в мост, мы должны перейти в режим ручного формирования моста. Для этого в файле /etc/network/interfaces нужно сделать исправить такие ключи:

BRIDGE_START=yes

Включаем мост между интерфейсами и отключаем назначение IP-адресов для интерфейсов

AUTO_BRIDGE=no

Отключаем автоформирование моста между интерфейсами.

После этого нам нужно сформировать мост вручную редактируя файл /etc/network/bridge:

user_brstart() {

/etc/network/wifireset

brctl addbr br0

brctl addif br0 wlan0

brctl addif br0 wlan0-wds0

brctl addif br0 eth0

ifconfig eth0 promisc up

ip addr add 192.168.0.50/24 brd + dev br0

ip link set br0 up

}

user_brstop() {

brctl delbr br0

ip link set wlan0 down

ip link set eth0 down

ip link set wlan0-wds0 down

}

После этого можно перезапустить точку доступа командой reboot и настраивать вторую точку доступа аналогичным способом, заменяя MAC-адрес на МАС-адрес удаленной точки доступа.

Как настроить точку доступа для прозрачного подключения к сети Infrastructure

Для подключения к беспроводной сети потребуется знать ESSID этой сети (уникальное имя, которое задается на устройстве в режиме AccessPoint-Infrastructure). Укажите этот ESSID в файле /etc/network/wifi/general строкой

iwpriv wlan0 set_mib ssid="SomeESSID" (подставив в кавычках соответственное имя беспроводной сети)

Также не забудьте выбрать режим канального уровня( использование нат2.5 или клонирование мак-адреса)

В беспроводной сети типа Infrastructure точка доступа идентифицирует клиентов, подключенных к ней по мак-адресам. В частностикоммутация пакетов происходит именно по мак-адресам. То есть Из беспроводной сети в проводную будут идти пакеты направленные туда по мак-адресу. А в обратном направлении только в случае наличия данного мак-адреса в списке приассоциированных клиентов на AP. Стандарт не предусматривает использование точек доступа как Client-Infrastructure. Важно понимать, что в данном случае точка доступа это универсальное устройство с обычными интерфейсами проводной и беспроводной сети. И вы подключаетесь к беспроводной сети именно wlan0 интерфейсом. То есть при передаче данных с точки доступа и на нее данные должны выглядеть, как будто они идут с самой точки доступа. Это решается, как было описано выше двумя методами – или заменой всех мак-адресов источника на мак-адрес точки доступа (технология нат2.5), то есть для Access-Point такие данные вполне допустимы, т.к. Мак-адрес источника/получателя есть в списке приассоциированных Client-Infrastructure. Данный метод хорош, т.к. позволяет к одной точке доступа в режиме клиента подключать несколько сетевых устройств с разными мак-адресами.

еще:
Опубликовано Гость в 7 Январь, 2009 - 03:11.

Wive на текущий момент замёрз в развитии аж в 2007мом. Все текущие изменения и разработка ведётся в форке Wive-NG. Все последующие релизы Wive будут также на кодовой базе Wive-NG, разработчик Wive участвует в разработке Wive-NG. Документация, прошивка и т.д. доступны тут http://sadnet.ru или http://wive-ng.sf.net что собсно одно и тоже.

4819 просмотров комментировать