Ссылки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
https://openwrt.org/toh/mikrotik/common https://openwrt.org/toh/mikrotik/common#saving_mikrotik_routerboard_license_key_using_winbox_and_windows https://openwrt.org/toh/mikrotik/common#saving_mikrotik_routerboard_license_key_without_using_winbox https://downloads.openwrt.org/releases/22.03.0-rc1/targets/ipq40xx/mikrotik/ https://downloads.openwrt.org/releases/22.03.0-rc3/targets/ipq40xx/mikrotik/ https://openwrt.org/ru/toh/mikrotik/common https://wiki.archlinux.org/title/Preboot_Execution_Environment_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) https://github.com/klukonin/Mikrotik-researcher-tools https://habr.com/ru/post/315960/ https://wiki.archlinux.org/title/Network_configuration_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)/Wireless_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)#%D0%A0%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC_%D1%81_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B0%D0%BC%D0%B8_%D0%B8_%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B0%D0%BC%D0%B8 https://wiki.archlinux.org/title/Network_configuration_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)/Wireless_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) https://wiki.archlinux.org/title/Wpa_supplicant https://wiki.archlinux.org/title/Network_configuration_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)/Wireless_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) http://linux-wless.passys.nl/ https://wireless.wiki.kernel.org/en/users/drivers https://en.wikipedia.org/wiki/Wi-Fi https://wiki.mikrotik.com/wiki/Manual:Interface/Wireless |
Сохранение файла с лицензией MikroTik RouterOS
1 2 3 4 |
0. Подключаемся на микротик и выполняем в терминале: /system license output /file print 1. Любым доступным способом забираем файл лицензии с микротика |
mikrotik подготовка
1 2 3 4 5 |
0. Подключаемся к микротику и открываем его терминал 1. Выполняем следующие /system routerboard settings set boot-device=try-ethernet-once-then-nand 2. Выключаем микротик /system shutdown |
dnsmasq подготовка DHCP+TFTP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
0. Устанавливаем dnsmasq и останавливаем его демон apt install dnsmasq systemctl stop dnsmasq && systemctl disable dnsmasq 2. скачиваем прошивки !!! initramfs нужна для загрузки по tftp (эта прошивка загружается в оперативную память и ничего не ломает) !!! sysupgrade установка прошивки (заменяет прошивку микротика) cd /srv/tftp wget https://downloads.openwrt.org/releases/22.03.0-rc1/targets/ipq40xx/mikrotik/openwrt-22.03.0-rc1-ipq40xx-mikrotik-mikrotik_lhgg-60ad-initramfs-kernel.bin wget https://downloads.openwrt.org/releases/22.03.0-rc1/targets/ipq40xx/mikrotik/openwrt-22.03.0-rc1-ipq40xx-mikrotik-mikrotik_lhgg-60ad-squashfs-sysupgrade.bin 3. Запускаем tftp dnsmasq -i enp0s20f0u2 --dhcp-range=192.168.88.64,192.168.88.128 --dhcp-boot=openwrt-22.03.0-rc1-ipq40xx-mikrotik-mikrotik_lhgg-60ad-initramfs-kernel.bin --enable-tftp --tftp-root=/srv/tftp/ -d -u nobody -p0 -K --log-dhcp --bootp-dynamic --dhcp-host=DC:2C:6E:68:AF:B9 4. На микротике: 0) вытаскиваем питание 1) Зажимаем кнопку reset 2) Включаем питание 3) Ждем 3 сек и отпускаем кнопку reset |
Установка постоянной прошивки на openwrt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
0. Любым способом копируем на openwrt прошивку wget: cd /tmp wget https://downloads.openwrt.org/releases/22.03.0-rc1/targets/ipq40xx/mikrotik/openwrt-22.03.0-rc1-ipq40xx-mikrotik-mikrotik_lhgg-60ad-squashfs-sysupgrade.bin ssh openwrt: ssh root@192.168.1.1 cd /tmp scp user@192.168.1.10:/home/user/file.bin . ssh: scp sysupgrade.bin root@192.168.1.1:/tmp 1. устанавливаем прошивку /sbin/sysupgrade sysupgrade.bin |
Примеры конфигов hostapd \ wpa_supplicant
1 2 3 4 5 6 7 8 9 |
cd /etc wget https://raw.githubusercontent.com/klukonin/Mikrotik-researcher-tools/master/files/etc/wpa_supplicant.conf wget https://raw.githubusercontent.com/klukonin/Mikrotik-researcher-tools/master/files/etc/hostapd.conf Клиент Client: wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B Точка доступа AP: hostapd -B /etc/hostapd.conf |
openwrt regenerate configuration wifi / сброс wifi
1 2 |
rm -f /etc/config/wireless wifi config |
ip / ifconfig
1 2 3 4 5 |
ifconfig wlan0 192.168.2.1 # Set an IP ifconfig wlan0 down ifconfig wlan0 up ip link set wlan0 up |
iwconfig
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
!!! iwlist - команда устарела и рекомендуется использовать iw вместо ее Сканировать wifi и вывести имена сетей: iwlist wlan0 scan | grep ESSID Сканирование сети: iwlist <wlan_interface> scan Получить инфу по wlan0: iwconfig wlan0 Если вы можете получить IP для проводного интерфейса, но не можете для беспроводного, попробуйте отключить энергосберегающие функции вашей беспроводной карты: iwconfig wlan0 power off Ели вы получаете timeout ошибку из-за waiting for carrier проблемы, возможно вам понадобится установить канал в auto для конкретного устройства: iwconfig wlan0 channel auto iwconfig wlan0 - получение состояния соединения iwlist wlan0 scan - сканирование доступных точек доступа iwconfig wlan0 mode ad-hoc - установка режима работы ad-hoc iwconfig wlan0 essid ваш_essid - подключение к открытой сети iwconfig wlan0 essid ваш_essid freq 2432M - подключение к открытой сети с указанием канала iwconfig wlan0 essid ваш_essid key ваш_ключ - подключение к сети с WEP шифрованием шестнадцатеричным ключом iwconfig wlan0 essid ваш_essid key s:ваш_ключ - подключение к сети с WEP шифрованием ASCII-ключом iwconfig wlan0 power on - включение режима энергосбережения |
iw / iwinfo / iwlist
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
!!! iwlist - команда устарела и рекомендуется использовать iw вместо ее Сканирование сети: iw dev <wlan_interface> scan iw dev wlan0 link - получение состояния соединения iw dev wlan0 scan - сканирование доступных точек доступа iw dev wlan0 set type ibss - установка режима работы ad-hoc iw dev wlan0 connect ваш_essid - подключение к открытой сети iw dev wlan0 connect ваш_essid 2432 - подключение к открытой сети с указанием канала iw dev wlan0 connect ваш_essid key 0:ваш_ключ - подключение к сети с WEP шифрованием шестнадцатеричным ключом iw dev wlan0 set power_save on - включение режима энергосбережения iw phy phy0 interface add moni0 type monitor iw dev iw dev wlan0 link iw dev wlan0 scan iw phy0 info iw wlan0 info iw reg get iwinfo |
Подключение к сети wi-fi с помощью iw:
1 2 3 4 5 |
iw dev wlan0 del iw phy phy0 interface add wlan0 type ibss ifconfig wlan0 up iw dev wlan0 scan iw dev wlan0 ibss join AdHocNetworkName 2412 |
rfkill
1 2 3 4 5 6 7 8 |
Во многих ноутбуках присутствует аппаратный переключатель (или кнопка) питания беспроводной карты, однако она может быть также заблокирована и ядром. Используйте rfkill, чтобы посмотреть текущий статус: rfkill list Если карта заблокирована аппаратно (hard blocked), используйте переключатель (кнопку), чтобы разблокировать её. Если же карта заблокирована не аппаратно, a программно (soft blocked), используйте следующую команду: rfkill unblock wifi |
hostapd
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
Пример простой 1 802.11b/g/n with WPA2-PSK and CCMP: vim /etc/hostapd/hostapd.conf ----------------------------- # the interface used by the AP interface=wlan0 # "g" simply means 2.4GHz band hw_mode=g # the channel to use channel=10 # limit the frequencies used to those allowed in the country ieee80211d=1 # the country code country_code=FR # 802.11n support ieee80211n=1 # QoS support, also required for full speed on 802.11n/ac/ax wmm_enabled=1 # the name of the AP ssid=somename # 1=wpa, 2=wep, 3=both auth_algs=1 # WPA2 only wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP wpa_passphrase=somepassword ----------------------------- Пример простой 2 802.11a/n/ac with WPA2-PSK and CCMP: /etc/hostapd/hostapd.conf ------------------------- interface=wlan0 # "a" simply means 5GHz hw_mode=a # the channel to use, 0 means the AP will search for the channel with the least interferences (ACS) channel=0 ieee80211d=1 country_code=FR ieee80211n=1 # 802.11ac support ieee80211ac=1 wmm_enabled=1 ssid=somename auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP wpa_passphrase=somepassword ------------------------- Пример простой 3 802.11b/g/n triple AP: /etc/hostapd/hostapd.conf ------------------------- interface=wlan0 hw_mode=g channel=10 ieee80211d=1 country_code=FR ieee80211n=1 wmm_enabled=1 # First AP ssid=test1 auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP wpa_passphrase=somepassword # Second AP # the name of the new interface hostapd will create to handle this AP bss=wlan1 ssid=test2 auth_algs=1 wpa=1 wpa_key_mgmt=WPA-PSK wpa_passphrase=someotherpassword # Third AP # the name of the new interface hostapd will create to handle this AP bss=wlan2 ssid=test3 # since there is no encryption defined, none will be used ------------------------- |
wpa_supplicant / wpa_cli
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
Запуск wpa_supplicant: wpa_supplicant -Dnl80211 -iwlan0 -C/var/run -u & wpa_cli -p/var/run Пример минимальной настройки: wpa_cli add_network set_network 0 ssid "MYSSID" set_network 0 key_mgmt NONE enable_network 0 Пример: wpa_cli add_network set_network 0 ssid "name of AP" set_network 0 key_mgmt WPA-PSK set_network 0 pairwise TKIP set_network 0 psk "key" enable_network 0 Пример для закрытой WPA2 сети: wpa_cli add_network set_network 0 ssid "name of AP" set_network 0 key_mgmt WPA-PSK set_network 0 pairwise CCMP set_network 0 psk "key" enable_network 0 |
wpa_supplicant.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
cat /etc/wpa_supplicant.conf ---------------------------- ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel # # home network; allow all valid ciphers network={ ssid="home" scan_ssid=1 key_mgmt=WPA-PSK psk="very secret passphrase" } ---------------------------- !!! Первая строка необходима, без ctrl_interface программа даже не запустится. !!! GROUP=wheel нужно для того, чтобы запускать из под обычного пользователя в графическом интерфейсе wpa_gui. !!! Поэтому рекомендуется менять на рутовый GROUP=0 !!! Каждой сети в файле настроек должен соответствовать блок network {} !!! ap_scan=0 #драйвер сканирует точку доступа !!! ap_scan=1 #wpa_supplicant сканирует точку доступа, используется по-умолчанию !!! ap_scan=2 #как 0, но еще учитывает политики безопасности и SSID, работает с ndiswrapper !!! bssid — The Basic Service Set Identifier (BSSID), физический адрес точки доступа. !!! key_mgmt — Протоколы аутентификации. !!! pairwise — Для WPA2 укажите CCMP, а для WPA — TKIP. !!! proto — WPA/WPA2. !!! psk — Хэш пароля PreShared Key. !!! ca_cert — Абсолютный путь к CA-сертификату в формате PEM или DER, необходим для возможности подтверждения сертификата сервера. !!! ca_path — Абсолютный путь к директории, где хранятся файлы CA-сертификатов (в формате PEM), которые вы хотите добавить в список доверенных. !!! client_cert — Абсолютный путь к клиентскому сертификату в формате PEM или DER. !!! eap — Разделенный пробелами список поддерживаемых методов EAP: MD5, MSCHAPV2, OTP, GTC, TLS, PEAP, или TTLS. !!! identity — Идентификации EAP, например имя пользователя. !!! password — Пароль EAP. Рекомендованный конфиг WPA-PSK: cat /etc/wpa_supplicant.conf ---------------------------- ctrl_interface_group=0 ap_scan=1 ctrl_interface=/var/run/wpa_supplicant network={ proto=WPA2 pairwise=CCMP key_mgmt=WPA-PSK priority=5 ssid="MYSSID" bssid=44:b0:51:dc:ba:f8 psk=ce55977186ae1df2dffeb571acee8dacd92f49edddbdef53623132e3c24567ae } ---------------------------- Рекомендованный конфиг WPA-EAP: cat /etc/wpa_supplicant.conf ---------------------------- network = { ssid="Company WPA2 EAP" key_mgmt=WPA-EAP pairwise=TKIP group=TKIP eap=PEAP identity="username@domain" password="your_passphrase" ca_cert="/etc/cert/ca.pem" phase1="peapver=0" phase2="MSCHAPV2" } ---------------------------- Рекомендованный конфиг WPA2 TLS: cat /etc/wpa_supplicant.conf ---------------------------- network = { ssid="Company WPA2 TLS" key_mgmt=WPA-EAP pairwise=CCMP group=CCMP eap=TLS ca_cert="/etc/cert/ca.pem" private_key="/etc/cert/privkey.p12" private_key_passwd="your_passphrase PKCS#12" } ---------------------------- |
openwrt wi-fi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
type string yes (autodetected) The type is determined on firstboot during the initial radio device detection - it is usually not required to change it. Used values are broadcom on brcm47xx, or mac80211 for all other platforms band string no (driver default) Specifies the band, possible values are 2g for 2.4 GHz, 5g for 5 GHz, 6g for 6 GHz and 60g for 60 GHz. (NEW since 21.02.2, replaces hwmode) htmode string no (driver default) Specifies the high throughput mode, used to control 802.11n (HT), 802.11ac (VHT) and 802.11ax (HE). The channel width used for these depends on this configuration. See this section for details. Possible values are: HT20, HT40-, HT40+, HT40, or VHT20, VHT40, VHT80, VHT160, NOHT disables 11n and 11ac, HE20, HE40, HE80, HE160 txpower integer no (driver default) Specifies the maximum desired transmission power in dBm. The actual txpower used depends on regulatory requirements. vim /etc/config/wireless ------------------------ config wifi-device 'radio0' option type 'mac80211' option channel '2' option hwmode '60g' option path 'pci0000:00/0000:00:00.0' option htmode 'HT20' option country 'US' config wifi-iface option device 'radio0' option network 'lan' option mode 'ap' option ssid 'OpenWrt' option encryption 'none' config wifi-iface option device 'radio0' option mode 'ap' option ssid 'My-WiFi-Home' option network 'lan' option encryption 'psk2' option key 'WiFipassword' option ieee80211w '0' option wps_pushbutton '1' ------------------------ |
Пример wi-fi wpa_supplicant настройки в debian:
1 2 3 4 5 6 |
vim /etc/network/interfaces --------------------------- auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf --------------------------- |
wifi логи:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Следим за логами: logread -f Отслеживать сообщения ядра: dmesg -w Проверьте сообщения ядра на предмет загрузки прошивки: dmesg | grep firmware Если там нет интересующей вас информации, проверьте сообщения подробного вывода, относящиеся к определённому вами ранее модулю (например iwlwifi) dmesg | grep iwlwifi modinfo iwlwifi В ситуации, когда вы не можете определить ошибку, запустите wpa_supllicant напрямую с ключом -dd: wpa_supplicant -Dnl80211 -iwlan0 -C/var/run/wpa_supplicant/ -c/etc/wpa_supplicant/wpa_supplicant.conf -dd Если вы используете какую-то утилиту для управления сетью, то же самое можно сделать с помощью systemd: journalctl -f journalctl -xb Проверка состояния драйвера: lspci -k Наблюдаем за событиями wi-fi: iw event iw event -f iw event -t |
openwrt /etc/config/network
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
config interface 'loopback' option device 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config device option name 'br-lan' option type 'bridge' list ports 'eth0' config device option name 'eth0' option macaddr 'dc:2c:6e:68:af:b9' config interface 'lan' option device 'br-lan' option proto 'static' option ip6assign '60' list ipaddr '192.168.1.1/24' list ipaddr '192.168.127.70/24' option gateway '192.168.1.10' list dns '192.168.1.1' list dns '192.168.16.254' |
Файлы firmware для wil6210 для запуска wifi lhgg-60ad
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
!!! https://forum.openwrt.org/t/support-for-mikrotik-wap-60g/30752/95 !!! https://forum.openwrt.org/t/support-for-mikrotik-wap-60g/30752/7 !!! https://github.com/openwrt/openwrt/pull/2417 !!! https://forum.openwrt.org/t/solved-archer-c7-v2-wireless-died-daemon-notice-hostapd-handle-probe-req-send-failed/65837 !!! https://forum.openwrt.org/t/support-for-mikrotik-rb3011uias-rm/4064/399?page=20 !!! из ссылок выше мы узнаем что: !!! драйвер wil6210.fw в openwrt как заглушка !!! luci не работает с 60Ghz (не проверял, может и работает на новых прошивках) !!! ошибка никуда не исчезнет (wil6210 0000:01:00.0: Direct firmware load for wil6210_sparrow_plus.fw failed with error -2) Описание: https://github.com/IMDEANetworksWNG/Mikrotik-researcher-tools Старые прошивки на котором запустилось 60Ghz (!!! внимание на прошивку надо ставить\докидывать файл wil6210, см описание ниже): https://github.com/IMDEANetworksWNG/Mikrotik-researcher-tools/releases Новые прошивки openwrt 22.03.0-rc3 на котором запустилось 60Ghz (!!! внимание на прошивку надо ставить\докидывать файл wil6210, см описание ниже): https://downloads.openwrt.org/releases/22.03.0-rc3/targets/ipq40xx/mikrotik/ Файл hosapd: https://raw.githubusercontent.com/IMDEANetworksWNG/Mikrotik-researcher-tools/main/files/etc/hostapd.conf Файл wpa_supplicant.conf: https://github.com/IMDEANetworksWNG/Mikrotik-researcher-tools/blob/main/files/etc/wpa_supplicant.conf 0. Скачиваем и распаковываем https://download.mikrotik.com/routeros/6.40.9/all_packages-arm-6.40.9.zip 1. Распаковываем all_packages-arm-6.40.9.zip unzip all_packages-arm-6.40.9.zip 2. Переходим в каталог all_packages-arm-6.40.9 cd all_packages-arm-6.40.9 3. Распаковываем бинарник wireless-6.40.9-arm.npk binwalk -e wireless-6.40.9-arm.npk 4. Переходим _wireless-6.40.9-arm.npk.extracted/squashfs-root/lib/firmware/ cd _wireless-6.40.9-arm.npk.extracted/squashfs-root/lib/firmware/ 5. Интересует файл wil6210-d0.fw 6. Достовляем его на openwrt с заменой файла wil6210.fw scp wil6210-d0.fw root@192.168.1.1:/lib/firmware/wil6210.fw 7. На одном устройстве подымаем клиента STA wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B 8. На втором устройстве подымаем сервер AP hostapd -B /etc/hostapd.conf |
Пример hostapd.conf без шифрования lhgg-60ad
1 2 3 4 5 6 7 8 9 10 11 12 |
ctrl_interface=/var/run/hostapd interface=wlan0 driver=nl80211 logger_syslog=-1 logger_syslog_level=2 logger_stdout=-1 logger_stdout_level=2 ssid=Mikrotik country_code=DE hw_mode=ad channel=2 beacon_int=100 |
Пример wpa_supplicant.conf без шифрования lhgg-60ad
1 2 3 4 |
network={ ssid="Mikrotik" key_mgmt=NONE } |