Gentoo Linux Программная точка доступа на базе Broadcom Corporation BCM4318
Добавлено: Сб сен 09, 2023 1:50 pm
Сложности начинают возникать тогда, когда появляется необходимость, в первую очередь - производственная, передачи информации с применением иных стандартов или вариантов ее использования, которые не были предусмотрены в процессе реализации первичной цели. Выясняется, что стоимость оборудования может быть на порядок выше "бытовых железок" использованных на начальном этапе построения инфраструктуры сети.
Выбор как всегда есть, можно оставаться в "каменном веке" и довольствоваться птичкой в клетке, либо урезать бюджет в связи с непредвиденными затратами. Воспользуемся альтернативным вариантом и заставим работать имеющееся железо во благо наших нужд, с минимальными затратами и на шаг вперед от конкурентов (:
Требуется поднять программную точку доступа с использованием ноутбука, применить WPA/WPA2 шифрование, настроить автоматическую выдачу ip-адресов только на беспроводном интерфейсе. Задача реализована с использованием Gentoo Linux.
Характеристика контроллера
Код: Выделить всё
lspci -nnk
02:03.0 Network controller [0280]: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller [14e4:4318] (rev 02)
Subsystem: Dell Wireless 1370 WLAN Mini-PCI Card [1028:0005] Kernel driver in use: b43-pci-bridge
Код: Выделить всё
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
net-wireless/b43-firmware
net-wireless/b43-fwcutter
После сборки ядра и загрузки с ним проверяем работоспособность wi-fi, не путать с рабочим состоянием
Код: Выделить всё
iwconfig wlan0
wlan0 IEEE 802.11bg Mode:Master Frequency:2.437 GHz Tx-Power=0 dBm
Retry long limit:7 RTS thr:off Fragment thr:off Power Management:off
Параметры сети, касающиеся интерфейса net.wlan0
Код: Выделить всё
/etc/conf.d/net
modules_wlan0=( "!wpa_supplicant" )
essid_wlan0="Point_1" # Название точки доступа
mode_wlan0="ad-hoc" # Режим работы точки
config_wlan0="192.168.7.1/24"
mtu_wlan0=1492 # Можете поэкспериментировать с 2272
preup() {
iwconfig wlan0 txpower on
iwconfig wlan0 rate 54M
}
Собственно сама программа, обеспечивающая работу программной точки доступа
net-wireless/hostapd
Основной файл настройки /etc/hostapd/hostapd.conf
Приведенный конфиг является рабочим
Код: Выделить всё
interface=wlan0
driver=nl80211
ssid=Point_1 # Название точки доступа (будет вещаться в сеть)
country_code=RU #согласно стандарта ISO 3166-1 (или цифровой 643), от него зависит частота, количество каналов и мощность сигнала
hw_mode=g channel=6 # канал настраивается именно в этом файле
macaddr_acl=0
wpa=1
wpa_passphrase=Password_my # пароль в читаемом виде
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=1
debug=0
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
auth_algs=1
Код: Выделить всё
/etc/init.d/hostapd stop && /etc/init.d/net.wlan0 stop
/etc/init.d/hostapd start
Код: Выделить всё
iwconfig
wlan0 IEEE 802.11bg Mode:Master Frequency:2.437 GHz Tx-Power=0 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:off mon.wlan0 IEEE 802.11bg Mode:Monitor Tx-Power=0 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:on
ifconfig
mon.wlan0 Link encap:UNSPEC HWaddr 00-16-CE-59-2C-D2-00-00-00-00-00-00-00-00-00-00 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:18810 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1181345 (1.1 MiB) TX bytes:0 (0.0 B) wlan0 Link encap:Ethernet HWaddr 00:16:ce:59:2c:d2 inet addr:192.168.5.35 Bcast:192.168.5.255 Mask:255.255.255.0 inet6 addr: fe80::216:ceff:fe59:2cd2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1492 Metric:1 RX packets:327967 errors:0 dropped:0 overruns:0 frame:0 TX packets:300771 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:333928711 (318.4 MiB) TX bytes:90136688 (85.9 MiB)
Отсканируем сеть на другом компьютере с ОС Linux
Код: Выделить всё
iwlist wlan0
scan wlan0 Scan completed :
Cell 01 - Address: 00:16:CE:59:2C:D2
Channel:6
Frequency:2.437 GHz (Channel 6)
Quality=70/70 Signal level=-40 dBm
Encryption key:on
ESSID:"Point_1"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s 9 Mb/s; 12 Mb/s; 18 Mb/s Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=0000000ac8418b71
Extra: Last beacon: 48ms ago
IE: Unknown: 0008686F742D73706F74
IE: Unknown: 010882848B960C121824
IE: Unknown: 030106
IE: Unknown: 2A0104
IE: Unknown: 32043048606C
IE: WPA Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
Для визуального контроля можно воспользоваться программой wavemon
Осталось автоматизировать раздачу ip-адресов оборудованию, прошедшему проверку. Для этих целей потребуется net-misc/dhcp
Содержимое файла /etc/dhcp/dhcpd.conf будет лаконичным
Код: Выделить всё
option option-150 code 150 = text;
default-lease-time 7200;
max-lease-time 14400;
log-facility local7;
subnet 192.168.5.0 netmask 255.255.255.0 {
range 192.168.5.50 192.168.5.155;
option domain-name-servers 208.67.220.220;
option routers 192.168.5.35;
option broadcast-address 192.168.5.255;
}