Решил подыскать себе беспроводной роутер с возможностью установки дополнительного ПО. Сразу же вспомнил про ASUS WL-500gP и ему подобные. Но т.к. 3к не лишние, да и зуд в одном месте имелся, взялся настраивать все на базе нетбука ASUS EEE 701 (он у меня остался без дисплея, поэтому его нежалко использовать в качестве роутера).
Начал я с того, что припаял внешнюю антенну, вместо одной из внутренних в ЕЕЕ.
Я выбрал FreeBSD 8.1, т.к. в плане поддержки железа, не требовалась установка дополнительных драйверов, в отличие от предыдущих версий фряхи.
Все сетевые интерфейсы определились и работали сразу после установки:
re0 — Ethernet 10/100 Mbit
ath0 — Wireless Ethernet
Для начала пересобираем ядро, добавив в него:
чтобы привести секцию Wireless NIC cards к следующему виду:
Для настройки беспроводного интерфейса ath0 в качестве точки доступа, в rc.conf добавляем следующее:
Таким образом мы получаем работу проводного и беспроводного соединения в одной подсети.
Так как я использую WPA, то нужен аутентификатор.
Создаем файл /etc/hostapd.conf и добавляем в него:
Это минимум, необходимый мне для функционирования точки доступа с WPA. Остальное доступно в man hostapd и man hostapd.conf.
Не забываем добавить hostapd_enable=«YES» в rc.conf.
Перезагружаемся и видим, что интерфейс работает в режиме AP:
Минусы:
— цена нетбука значительно выше цены обычного роутера
— в отличие от упомянутого выше беспроводного маршрутизатора ASUS WL-500g, в ЕЕЕ 701 всего 1 LAN порт, что делает его доступным только по Wi-Fi, т.к. в этот порт воткнут провайдерский шнурок.
Для подключения к нему машин по LAN, нужен довольно редкий USB-LAN девайс, который у меня имеется. Но проблема в том, что USB-порты в нетбуке работают в режиме full speed (пока не знаю, как перевести в high speed), и смысла, использовать проводное соединение на скорости 12 Мбит/сек, я не вижу :)
Плюсы:
— безусловно — это более мощная аппаратная часть
— возможность установки дополнительного ПО (OpenVPN, rttorrent, apache) и прочие прелести FreeBSD
— автономная работа от аккумулятора не менее 1 часа (на случай отключения электричества)
Начал я с того, что припаял внешнюю антенну, вместо одной из внутренних в ЕЕЕ.
Я выбрал 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 часа (на случай отключения электричества)