Ключевые слова:bsd, kernel, nat, hardware, howto, ethernet, wavelan, (найти похожие документы)
Date: Thu, 2 Jul 2002 12:54:01 +0000 (UTC)
From: L0rda <http://l0rda.hoha.ru>
Subject: Настройка FreeBSD как точки доступа для WaveLAN
Настройка вашей FreeBSD как Access Point for WLAN
-------------------------------------------------
Начиная с версии 4.4 БСД поддерживает три типа карт:
-Orinoco
-Aironet
-PRISM
мы поговорим о картах Orinoco
--{во-первых}
вы должны добавить поддержку вашего девайса:
add device <wi|an|awi>
, где:
wi для карт Orinoco
an для карт Aironet
awi для карт PRISM
--{ядро}
в ядро мы добавляем такие строки:
device card
device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000
device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable
также обязательны следующие строки:
options IPFILTER
options IPDIVERT
device bpf
и вот эта, необязательна, но желательна(-:
options IPFILTER_LOG
еще вы должны добавить строки, касающиеся IPSEC:
options IPSEC
options IPSEC_ESP
options IPSEC_DEBUG
теперь компили и устанавливаем ядро:
config MYKERNEL
cd ../../compile/MYKERNEL
make depend && make && make install
--{загрузка}
если вы используете PCI-адаптор для pcmcia карточек(а я уверен на 99% что вы его испольуете), ваши карточки при загрузке БСД не будут обнаруживаться или просто не будут работать, для этого редактируем /boot/loader.conf:
hw.pcic.intr_path="1"
hw.pcic.irq="0"
--{rc.conf}
Редактируем:
pccard_enable="YES"
gateway_enable="YES"
ipnat_enable="YES"
--{NAT}
В предыдущем разделе мы включили NAT, но не настроили его, это пример /etc/ipnat.conf, мы транслируем весь трафик из подсети 10.0.0.0/16 на любой адрес интерфейса ep0:
map ep0 10.0.0.0/16 -> 0.0.0.0/32 portmap tcp/udp 40000:65000
map ep0 10.0.0.0/16 -> 0.0.0.0/32
--{Wireless configuration}
Главная команда для конфигурирования сутройств Orinoco:
wicontrol
Далее приводится скрипт для конфигурирования карточки:
#!/bin/sh
# Run via the sh shell
wicontrol -f 7
# Sets the wireless card's frequency. Legally, the range is from 1
# (2.412 GHz) to 11 (2.462 GHz) in the US, 1 to 13 (2.472 GHz) in
# Europe, 10 (2.457 GHz) to 13 in France, and 1 to 14 (2.484 GHz)
# in Japan. Choose another frequency if desired.
wicontrol -p 1
# BSS mode, meaning clients must associate with an access point,
# and cannot directly connect to one another.
wicontrol -c 1
# IBSS mode, an extention of BSS mode.
wicontrol -s "loxly"
# Sets the station name. Does not have to match host's DNS name.
wicontrol -k "windowssuxx"
# The WEP key. Change to something a bit less obvious.
wicontrol -e 1
# Enables WEP security.
ifconfig wi0 ssid "1337mazafakaNET"
# Sets the name of the wireless network.
ifconfig wi0 inet 10.0.0.77 netmask 255.255.255.0
# Sets the IP address and netmask of the wireless device. Change
# the device name if necessary.
Дополнительные опции параметры конфигурирования карточки хорошо описаны в wicontrol(8).
*не прописывайте этот скрипт в автозагрузку, так как карточка может быть не определена в процессе загрузки, заспускайте его вручную.
--{pccard.conf}
Файл обычно лежит в /etc/defaults/pccard.conf, но его месторасположение может быть определено в переменной pccard_conf /etc/rc.conf
Ищем блок:
card "Lucent Technologies" "WaveLAN/IEEE"
и после всего что там написано вставляем:
/usr/local/sbin/wireless
*Ваша карточка может работать на уже занятом прерывании, извлеките карту, перезагрузитесь, найдите свободное прерывание из dmesg. Переконфигурируйте дэвайс, вставьте карту, перезагрузитесь. Кстати, в конфиге вы можете заменить прерывание на "?" (прописью: знак вопроса =)) и карта возьмет любое свободное прерывание.
--{настройка клиентов}
Она вас не затруднит, с ядром проделываете все те же операции, за исключением добавления опций IPDIVERT и IPFILTER и устройства bpf.
Изменения в pccard.conf идентичны.
*скрипты на сервере и клиенте должны быть идентичны, иначе радио-карточки не найдут друг друга..
В самом конце файла usr/local/sbin/wireless.sh, настраиваем роутинг, добавляем строку:
route add default 3.1.3.37
--{послесловие}
надеюсь информация оказалась для кого-то полезной
лично я долго с этим мучался8)
//L0rda/xaoc http://l0rda.hoha.ru/docs/wlan.txt
Если бы все было так просто. Но таким образом настраивается не access point, а всего лишь Ad-Hoc станция, что не позволяет использовать машину в качестве базовой станции для клиентских устройств типа D-Link AP-900, Planet WAP-1965 и многих, многих других.
Подскажите пожалуйста как привязать запуск скрипта к моменту определению карточки (в смысле создается интерфейс - выполняются правила ipfw для него)? Заранее благодарен.
>Подскажите пожалуйста как привязать запуск скрипта к моменту определению карточки (в смысле
>создается интерфейс - выполняются правила ipfw для него)? Заранее благодарен.
Если ты разместишь скрипт в /usr/local/etc/rc.d c расширением sh то он отработает в любом случаи. В скрипте надо указывать параметры wicontrol c указанием ключей.
Я вот только не понял каким боком сюда припнули ipsec. Если уж разговор коснулся оного - надо было уж до конца разжевать. Хотя бы дать пример или пояснить зачем "мы" это сделали. Возможно большинство так и останутся на WEP. Тогда вообще есть смысл удалить все касательно ipsec. Кому надо сам прикрутит.
А вообще - интересно.