Pull to refresh

Wi-Fi точка доступа с WPA на базе EEE 701

*nix *
Решил подыскать себе беспроводной роутер с возможностью установки дополнительного ПО. Сразу же вспомнил про ASUS WL-500gP и ему подобные. Но т.к. 3к не лишние, да и зуд в одном месте имелся, взялся настраивать все на базе нетбука ASUS EEE 701 (он у меня остался без дисплея, поэтому его нежалко использовать в качестве роутера).
Начал я с того, что припаял внешнюю антенну, вместо одной из внутренних в ЕЕЕ.

Я выбрал FreeBSD 8.1, т.к. в плане поддержки железа, не требовалась установка дополнительных драйверов, в отличие от предыдущих версий фряхи.

Все сетевые интерфейсы определились и работали сразу после установки:

re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=2018<VLAN_MTU,VLAN_HWTAGGING,WOL_MAGIC>
ether 00:00:00:00:00:00
status: no carrier
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
ether 00:00:00:00:00:00
status: no carrier

re0 — Ethernet 10/100 Mbit
ath0 — Wireless Ethernet

Ядро


Для начала пересобираем ядро, добавив в него:

device wlan_acl

чтобы привести секцию Wireless NIC cards к следующему виду:

device wlan # 802.11 support
options IEEE80211_DEBUG # enable debug msgs
options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
options IEEE80211_SUPPORT_MESH # enable 802.11s D3.0 support
device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support
device wlan_amrr # AMRR transmit rate control algorithm
device wlan_acl
device an # Aironet 4500/4800 802.11 wireless NICs.
device ath # Atheros pci/cardbus NIC's
device ath_hal # pci/cardbus chip support
options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors
device ath_rate_sample # SampleRate tx rate control for ath
device ral # Ralink Technology RT2500 wireless NICs.
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.


rc.conf


Для настройки беспроводного интерфейса ath0 в качестве точки доступа, в rc.conf добавляем следующее:

ifconfig_re0="up"
# создаем виртуальный беспроводной интерфейс для ath0
wlans_ath0="wlan0"
# выбираем режим работы виртуального интерфейса
create_args_wlan0="wlanmode hostap"
ifconfig_wlan0="mode 11g ssid TEST mediaopt hostap up"
cloned_interfaces="bridge0"
ifconfig_bridge0="inet 172.16.1.1 netmask 255.255.255.0 addm re0 addm wlan0 up"


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

hostapd


Так как я использую WPA, то нужен аутентификатор.
Создаем файл /etc/hostapd.conf и добавляем в него:

# беспроводной интерфейс
interface=wlan0

logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
# Режим отладки: от 0 до 4
debug=0

dump_file=/tmp/hostapd.dump
# не забываем создать директорию для сокетов
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
# указываем такое же название, как и в rc.conf
ssid=TEST

# 1 - WPA1; 2 - WPA2; 3 - WPA1+WPA2
wpa=3
# ключ WPA (не менее 8 символов)
wpa_passphrase=12345678
# алгоритм управления
wpa_key_mgmt=WPA-PSK
# указываем алгоритмы шифрования
wpa_pairwise=TKIP CCMP


Это минимум, необходимый мне для функционирования точки доступа с WPA. Остальное доступно в man hostapd и man hostapd.conf.
Не забываем добавить hostapd_enable=«YES» в rc.conf.

Завершение


Перезагружаемся и видим, что интерфейс работает в режиме AP:

re0: flags=8943 metric 0 mtu 1500
options=3898
ether 00:00:00:00:00:00
media: Ethernet autoselect (1000baseT )
status: active


ath0: flags=8843 metric 0 mtu 2290
ether 00:00:00:00:00:00
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
status: running


wlan0: flags=8943 metric 0 mtu 1500
ether 00:00:00:00:00:00
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
status: running
ssid TEST channel 7 (2442 MHz 11g) bssid 00:00:00:00:00:00
regdomain 32924 country CN indoor ecm authmode WPA1+WPA2/802.11i
privacy MIXED deftxkey 3 TKIP 2:128-bit TKIP 3:128-bit txpower 20
scanvalid 60 protmode CTS wme dtimperiod 1 -dfs


bridge0: flags=8843 metric 0 mtu 1500
ether 00:00:00:00:00:00
inet 172.16.1.1 netmask 0xffffff00 broadcast 172.16.1.255
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
member: wlan0 flags=143
ifmaxaddr 0 port 9 priority 128 path cost 370370
member: re0 flags=143
ifmaxaddr 0 port 1 priority 128 path cost 55


Заключение


Минусы:

— цена нетбука значительно выше цены обычного роутера
— в отличие от упомянутого выше беспроводного маршрутизатора ASUS WL-500g, в ЕЕЕ 701 всего 1 LAN порт, что делает его доступным только по Wi-Fi, т.к. в этот порт воткнут провайдерский шнурок.
Для подключения к нему машин по LAN, нужен довольно редкий USB-LAN девайс, который у меня имеется. Но проблема в том, что USB-порты в нетбуке работают в режиме full speed (пока не знаю, как перевести в high speed), и смысла, использовать проводное соединение на скорости 12 Мбит/сек, я не вижу :)

Плюсы:

— безусловно — это более мощная аппаратная часть
— возможность установки дополнительного ПО (OpenVPN, rttorrent, apache) и прочие прелести FreeBSD
— автономная работа от аккумулятора не менее 1 часа (на случай отключения электричества)
Tags:
Hubs:
Total votes 60: ↑56 and ↓4 +52
Views 6.1K
Comments Comments 82