|
|
(не показано 97 промежуточных версий 11 участников) |
Строка 1: |
Строка 1: |
| {{DISPLAYTITLE: Настройка Wi-Fi в релизах ПО wb-2207 и старее}}
| | '''Wi-Fi''' в Wiren Board может работать в режиме точки доступа или в режиме клиента (не одновременно). По умолчанию включен режим точки доступа. |
| ==Режимы работы==
| |
| {{note|warn| Эта инструкция по настройке сети устарела и мы не рекомендуем использовать ее в релизах [[wb-2304]] и новее. Актуальная инструкция находится по ссылке [[Networks |Настройка сети в контроллерах Wiren Board]].}}
| |
| '''Wi-Fi''' в Wiren Board можно настроить на работу в одном из двух или трёх режимов: | |
| * Режим точки доступа (включён по умолчанию). Работает относительно медленно. Скорости вполне хватит для работы с веб-интерфейсом, но не стоит использовать как замену роутера.
| |
| * Режим клиента.
| |
| * Одновременная работа в режиме и точки доступа, и клиента.
| |
|
| |
|
| В очень редких случаях возможна несовместимость адаптера Wi-Fi в Wiren Board с некоторыми другими устройствами Wi-Fi. Это общая проблема реализаций Wi-Fi на чипсетах разных производителей. Если вы столкнулись с необъяснимыми проблемами при работе, рекомендуем поменять настройки шифрования, ширины канала и т.п.
| | '''Предупреждение''': и в режиме клиента и в режиме точки доступа возможна несовместимость с некоторыми устройствами. Это общая проблема Wi-Fi. Если вы столкнулись с необъяснимыми проблемами при работе, рекомендуем поменять настройки шифрования, ширины канала и т.п. |
|
| |
|
| ==Первое подключение по Wi-Fi== | | == Настройка Wi-Fi в Wiren Board == |
| | Настройка производится стандартным для Debian способом: через файл /etc/network/interfaces. Подробная информация: https://wiki.debian.org/ru/NetworkConfiguration. В этом файле есть пример настроек для клиента (по умолчанию закомментированы), и настройка IP-адреса в режиме точки доступа. |
|
| |
|
| ===Антенны=== | | === Настройка в режиме точки доступа === |
| [[File:connectors-sma-rpsma.jpg|thumb|right|300 px|Сравнение разъёмов для антенн Wi-Fi (RP-SMA) и GSM (SMA)]] Прикрутите антенну к разъёму для антенны Wi-Fi.
| | Работа в режиме точки доступа обеспечивается демоном hostapd. Подробное описание смотрите здесь: https://wireless.wiki.kernel.org/en/users/documentation/hostapd. Режим точки доступа включается/выключается в файле /etc/default/hostapd, настройки находятся в /etc/hostapd.conf |
| Без антенны Wi-Fi в контроллерах Wiren Board работает на расстоянии не более одного метра. Чтобы получить стандартный для Wi-Fi радиус работы, нужно подключить к соответствующему разъёму контроллера антенну. Если контроллер находится в щитке (особенно в металлическом) или отдельной комнате, лучше использовать выносную антенну.
| |
| Разъём для антенны — стандартный для Wi-Fi [https://en.wikipedia.org/wiki/SMA_connector#Reverse_polarity_SMA RP-SMA] ("гнездо", у GSM-антенн - наоборот).
| |
|
| |
|
| ===Подключение к точке доступа===
| | '''Предупреждение:''' Wi-Fi в режиме точки доступа будет медленный: его вполне хватит для работы с веб-интерфейсом, но не стоит пытаться использовать Wiren Board в качестве роутера. |
| Контроллер создает Wi-Fi точку доступа и мы можем подключиться к ней:
| |
| * Откройте на ноутбуке или телефоне список WiFi точек доступа.
| |
| * Выберите из списка точку доступа с именем <code>WirenBoard-XXXXXXXX</code>. Где XXXXXXXX - серийный номер контроллера.
| |
|
| |
|
| При подключении по Wi-Fi контроллер будет доступен по IP-адресу '''192.168.42.1'''.
| | ==== Инструкция по настройке в режиме точки доступа ==== |
|
| |
|
| По умолчанию, для подключения к контроллеру по Wi-Fi не требуется пароль, но вы [[#Установка пароля на подключение к точке доступа | можете это изменить]].
| | В /etc/network/interfaces : |
| | <pre> |
| | iface wlan0 inet static |
| | address 192.168.42.1 |
| | netmask 255.255.255.0 |
| | </pre> |
|
| |
|
| == Настройка Wi-Fi на контроллере Wiren Board ==
| | Wiren Board будет иметь IP 192.168.42.1 |
|
| |
|
| Настройка производится стандартным для Linux Debian способом — через файл <code>/etc/network/interfaces</code>. Краткие инструкции для типовых задач даны ниже, на сайте Linux Debian есть [https://wiki.debian.org/ru/NetworkConfiguration подробная документация].
| |
|
| |
|
| === Настройка в режиме точки доступа ===
| | В /etc/default/hostapd : |
|
| |
|
| Режим точки доступа включён по умолчанию. Работа в режиме точки доступа обеспечивается демоном '''[https://wireless.wiki.kernel.org/en/users/documentation/hostapd hostapd]'''.
| | <pre> |
| | |
| Сперва настраиваем демон <code>hostapd</code>:
| |
| # в файле <code>/etc/default/hostapd</code> раскомментируйте строку (то есть удалите знак '''#''' в начале строки)
| |
| #:<syntaxhighlight lang="bash">
| |
| DAEMON_CONF="/etc/hostapd.conf" | | DAEMON_CONF="/etc/hostapd.conf" |
| </syntaxhighlight> | | </pre> |
| # отредактируйте файл <code>/etc/hostapd.conf</code>, чтобы он выглядел так:
| |
| #:<syntaxhighlight lang="bash">
| |
| interface=wlan0
| |
| #driver=nl80211 # оставьте эту строку закомментированной
| |
| ssid=WirenBoard # вместо WirenBoard можете подставить другое имя для создаваемой точки доступа
| |
| channel=1
| |
| </syntaxhighlight>
| |
| | |
| Теперь нужно настроить сам интерфейс. Настройка делается в файле <code>/etc/network/interfaces</code>:
| |
| # раскомментируйте и отредактируйте (или добавьте, если их не было) строки, относящиеся к настройке в режиме точки доступа:
| |
| #:<syntaxhighlight lang="bash">
| |
| iface wlan0 inet static
| |
| address 192.168.42.1 # здесь 192.168.42.1 - адрес, по которому в новой сети будет находиться Wiren Board; можете указать другой адрес
| |
| netmask 255.255.255.0
| |
| </syntaxhighlight>
| |
| #:Если указываете другой адрес, отредактируйте файл /etc/dnsmasq.conf, укажите диапазон адресов в строке "dhcp-range"
| |
| # закомментируйте строки, относящиеся к работе в режиме клиента:
| |
| #:<syntaxhighlight lang="bash">
| |
| #auto wlan0
| |
| #iface wlan0 inet dhcp
| |
| # wpa-ssid {ssid}
| |
| # wpa-psk {password}
| |
| </syntaxhighlight>
| |
| | |
| Выполните команду
| |
| <syntaxhighlight lang="bash">
| |
| /etc/init.d/hostapd restart
| |
| </syntaxhighlight>
| |
|
| |
|
| В итоге у нас получилась открытая точка доступа, для подключения к которой не требуется пароль.
| | Включить режим точки доступа |
|
| |
|
| === Установка пароля на подключение к точке доступа ===
| |
| Подключитесь к контроллеру по SSH и откройте файл настроек <code>/etc/hostapd.conf</code>, для этого введите команду:
| |
| <syntaxhighlight lang="bash">
| |
| nano /etc/hostapd.conf
| |
| </syntaxhighlight>
| |
|
| |
|
| Добавьте в конец файла строки:
| | В /etc/hostapd.conf : |
| <pre> | | <pre> |
| | interface=wlan0 |
| | #driver=nl80211 |
| | ssid=WirenBoard |
| | channel=1 |
| wpa=2 | | wpa=2 |
| wpa_passphrase=your_password | | wpa_passphrase=your_password |
| wpa_key_mgmt=WPA-PSK | | wpa_key_mgmt=WPA-PSK |
| wpa_pairwise=TKIP CCMP | | wpa_pairwise=TKIP CCMP |
| rsn_pairwise=TKIP CCMP | | rsn_pairwise=TKIP CCMP |
| </pre> | | </pre> |
|
| |
|
| Придумайте свой пароль (не менее 8 символов) и замените в файле <code>your_password</code> на него. {{Wbincludes:Save nano}}
| | Здесь "WirenBoard" - имя создаваемой сети, "your_password" - пароль. |
|
| |
|
| После этого выполните команду:
| | Для применения изменений необходимо выполнить в консоли: |
| | | <pre> |
| <syntaxhighlight lang="bash">
| | /etc/init.d/hostapd restart |
| systemctl restart hostapd
| | </pre> |
| </syntaxhighlight> | |
| | |
| Контроллер применит новые настройки и связь с ним будет потеряна. Нужно будет заново подключиться к контроллеру по WiFi с указанным паролем. Если после изменения настроек вы не можете подключиться к контроллеру по WiFi — подключитесь к нему по Ethernet и проверьте настройки в файле <code>/etc/hostapd.conf</code>.
| |
| | |
| === Отключение режима точки доступа ===
| |
| Если вы хотите перевести адаптер в [[#Настройка в режиме клиента | режим клиента]], подключиться к Wi-Fi точке доступа в [[#Подключение к Wi-Fi точке доступа вручную | ручном режиме]] или совсем отключить Wi-Fi на контроллере — отключите режим точки доступа:
| |
| #Отключите автоматический запуск сервиса <code>hostapd</code>:
| |
| #:<syntaxhighlight lang="bash">
| |
| systemctl disable hostapd
| |
| </syntaxhighlight> | |
| #Остановите демон <code>hostapd</code>
| |
| #:<syntaxhighlight lang="bash">
| |
| systemctl stop hostapd
| |
| </syntaxhighlight>
| |
| # Теперь закомментируйте настройки точки доступа и задайте настройки WiFi-клиента:
| |
| #* откройте файл для редактирования
| |
| #:<syntaxhighlight lang="bash">
| |
| nano /etc/network/interfaces
| |
| </syntaxhighlight>
| |
| #* закомментируйте строки, относящиеся к настройке в режиме точки доступа: <syntaxhighlight lang="bash">
| |
| #allow-hotplug wlan0
| |
| #iface wlan0 inet static
| |
| # address 192.168.42.1
| |
| # netmask 255.255.255.0
| |
| </syntaxhighlight>
| |
| # Сохраните и закройте файл настроек.
| |
| # Запретите раздачу IP-адресов, для этого остановите DHCP-сервер:
| |
| #:<syntaxhighlight lang="bash">
| |
| systemctl disable dnsmasq
| |
| service dnsmasq stop
| |
| </syntaxhighlight>
| |
| | |
| Режим точки доступа отключен, чтобы его включить, выполните инструкции из раздела [[#Настройка в режиме точки доступа | Настройка в режиме точки доступа]].
| |
|
| |
|
| === Настройка в режиме клиента === | | === Настройка в режиме клиента === |
| {{Anchor|client}}
| |
| {{note|note|После настройки точки доступа в режиме клиента, контроллер будет подключаться к точке доступа автоматически при каждой загрузке операционной системы.}}
| |
| Вы можете настроить автоматическое подключение контроллера к Wi-Fi точке доступа:
| |
| # Отключите точку доступа по инструкции в разделе [[#Отключение режима точки доступа | Отключение режима точки доступа]]
| |
| # Откройте файл настроек:
| |
| #: <syntaxhighlight lang="bash">
| |
| nano /etc/network/interfaces
| |
| </syntaxhighlight>
| |
| # Раскомментируйте и отредактируйте строки (или добавьте, если их не было):
| |
| #:<syntaxhighlight lang="bash">
| |
| auto wlan0
| |
| iface wlan0 inet dhcp
| |
| wpa-ssid ssid # вместо ssid подставьте имя точки доступа
| |
| wpa-psk password # вместо password подставьте пароль
| |
| </syntaxhighlight>
| |
| #Если точка доступа скрыта, то добавьте параметр:
| |
| #:<syntaxhighlight lang="bash">
| |
| wpa-scan-ssid 1
| |
| </syntaxhighlight>
| |
| # Сохраните и закройте файл настроек.
| |
| # Завершите настройку, для этого перезапустите беспроводной интерфейс командами:
| |
| #:<syntaxhighlight lang="bash">
| |
| ifdown wlan0 && ifup wlan0
| |
| </syntaxhighlight>
| |
| # Проверьте соединение командой:
| |
| #:<syntaxhighlight lang="bash">
| |
| iwconfig
| |
| </syntaxhighlight>
| |
|
| |
| === Настройка в режиме точки доступа и клиента одновременно ===
| |
|
| |
| Режим одновременной работы модуля Wi-Fi и в режиме точки доступа, и в режиме клиента, называется ''Concurrent Mode'' или ''STA+SoftAP'', и поддерживается не всеми Wi-Fi модулями. Он работает на всех версиях Wiren Board 6 и Wiren Board 7.
| |
|
| |
| Для настройки режима:
| |
| # Выполните команду
| |
| #:<syntaxhighlight lang="bash">
| |
| iwconfig
| |
| </syntaxhighlight>
| |
| #:В её выводе должны быть показаны два интерфейса Wi-Fi: ''wlan0'' и ''wlan1''.
| |
| # Настройте по двум предыдущим инструкциям подключение в режиме клиента и подключение в режиме точки доступа, но используйте для них разные интерфейсы. Например, оставьте ''wlan0'' для точки доступа, а клиента сделайте на ''wlan1''. Соответствующая часть файла ''/etc/network/interfaces'' должна выглядеть так:
| |
| #: <syntaxhighlight lang="bash">
| |
| # Wireless interfaces
| |
| auto wlan1
| |
| iface wlan1 inet dhcp
| |
| wpa-ssid {ssid} # вместо {ssid} подставьте имя точки доступа
| |
| wpa-psk {password} # вместо {password} подставьте пароль
| |
|
| |
| auto wlan0
| |
| iface wlan0 inet static
| |
| address 192.168.42.1
| |
| netmask 255.255.255.0
| |
| </syntaxhighlight>
| |
|
| |
| === Подключение к Wi-Fi точке доступа вручную ===
| |
| {{note|note| Подключение в ручном режиме будет разорвано после перезагрузки контроллера.}}
| |
| Если у вас возникла проблема с настройкой автоматического подключения, то вы можете попробовать подключиться к Wi-Fi точке доступа вручную:
| |
| # Отключите точку доступа по инструкции в разделе [[#Отключение режима точки доступа | Отключение режима точки доступа]]
| |
| # Запустите поиск доступных точек доступа с помощью команды <code>iwlist wlan0 scanning</code>:
| |
| #:<syntaxhighlight lang="bash">
| |
| ~# iwlist wlan0 scanning | grep -i essid
| |
| ESSID:"DIR-615"
| |
| ESSID:"MTSRouter_2.4GHz_072433"
| |
| ESSID:"Smart_box-40B598"
| |
| ESSID:"TP-Link_0E5AW"
| |
| ESSID:"TP-LINK_78DC"
| |
| </syntaxhighlight>
| |
| #: в примере контроллер «видит» пять точек доступа.
| |
| # Этот шаг зависит от типа сетевой аутентификации, выбранной в настройках точки доступа, к которой вы хотите подключиться:
| |
| #* WPA-PSK:
| |
| ## Задайте параметры подключения:
| |
| ##: <syntaxhighlight lang="bash">
| |
| iwconfig wlan0 essid ИмяТочкиДоступа key ПарольОтТочкиДоступа
| |
| </syntaxhighlight>
| |
| ## Запустите сетевой интерфейс:
| |
| ##:<syntaxhighlight lang="bash">
| |
| ifconfig wlan0 up
| |
| </syntaxhighlight>
| |
| #* WPA2-PSK:
| |
| ## Сгенерируйте файл с учётной записью для подключения к точке доступа:
| |
| ##:<syntaxhighlight lang="bash">
| |
| wpa_passphrase ИмяТочкиДоступа ПарольОтТочкиДоступа > /root/wpa.conf
| |
| </syntaxhighlight>
| |
| ## Установите подключение с использованием сгенерированного файла:
| |
| ##:<syntaxhighlight lang="bash">
| |
| wpa_supplicant -Dwext -iwlan0 -c/root/wpa.conf &
| |
| </syntaxhighlight>
| |
| # Подождите 15 секунд и проверьте подключение командой <code>iwconfig wlan0</code>:
| |
| #:<syntaxhighlight lang="bash">
| |
| ~# iwconfig wlan0 | grep -i essid
| |
| wlan0 IEEE 802.11bgn ESSID:"DIR-615" Nickname:"<WIFI@REALTEK>"
| |
| </syntaxhighlight>
| |
| #: в примере контроллер подключён к точке доступа с именем <code>DIR-615</code>. Если в строке будет <code>unassociated</code>, то контроллер не смог подключиться.
| |
| # Если контроллер успешно подключился к точке доступа и на ней запущен DHCP-сервер, то запустите <code>dhcpclient</code>:
| |
| #:<syntaxhighlight lang="bash">
| |
| dhclient wlan0
| |
| </syntaxhighlight>
| |
| # Проверьте, получил ли контроллер IP адрес, для этого используйте команду <code>ip a</code>:
| |
| #:<syntaxhighlight lang="bash">
| |
| ~# ip a | grep wlan0
| |
| 5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
| |
| inet 192.168.2.83/24 brd 192.168.2.255 scope global wlan0
| |
| </syntaxhighlight>
| |
| #: в примере контроллер получил ip-адрес <code>192.168.2.83</code>.
| |
|
| |
| Настройка подключения контроллера к точке доступа завершена.
| |
|
| |
| === Универcальный файл настроек Wi-Fi ===
| |
|
| |
| Ниже приведен текст файла <code>/etc/network/interfaces</code> с настройками для подключения к сетям с разными параметрами шифрования. Оригинал файла можно посмотреть [https://www.raspberrypi.org/forums/viewtopic.php?t=7592 на сайте www.raspberrypi.org].
| |
| <syntaxhighlight lang="bash">
| |
| ####################
| |
| #; start of wireless bits
| |
| #; this command stays for all configs
| |
| auto wlan0
| |
| ###################
| |
| #; comments indicated by #;
| |
| #; commands indicated by #
| |
| #; remove the # to enable the command
| |
| ####################
| |
| #; if using static IP then....#
| |
| #iface wlan0 inet static
| |
| # address UR_IP
| |
| #gateway UR_ROUTER_IP
| |
| #netmask 255.255.255.0
| |
| ##################
| |
| #; otherwise use dhcp #
| |
| #iface wlan0 inet dhcp
| |
| ###################
| |
| #; OPEN wireless config #
| |
| #wireless-essid UR_ESSID
| |
| #wireless-mode managed
| |
|
| |
| ###################
| |
| #; WEP wireless config #
| |
| #wireless-essid UR_ESSID
| |
| #wireless-key UR_KEY
| |
| #; end of WEP config
| |
|
| |
| ########################
| |
| #; WPA and WPA2 wireless config #
| |
| #; all command config lines above HERE to be #'ed except the entry auto wlan0
| |
| ########################
| |
| wpa-driver wext
| |
| wpa-ssid UR_ESSID
| |
| #; wpa-ap-scan is 1 for visible and 2 for hidden hubs
| |
| wpa-ap-scan 1
| |
| #; wpa-proto is WPA for WPA1 (aka WPA) or RSN for WPA2
| |
| wpa-proto WPA
| |
| #; wpa-pairwise and wpa-group is TKIP for WPA1 or CCMP for WPA2
| |
| wpa-pairwise TKIP
| |
| wpa-group TKIP
| |
| wpa-key-mgmt WPA-PSK
| |
| #; use "wpa_passphrase UR_ESSID UR_KEY" to generate UR_HEX_KEY
| |
| #; enter the result below
| |
| wpa-psk UR_HEX_KEY
| |
| ##########################
| |
| # end of wireless bits
| |
| </syntaxhighlight>
| |
|
| |
| === Использование как роутер ===
| |
|
| |
| Не рекомендуется использовать, так как работает относительно медленно.
| |
|
| |
| <syntaxhighlight lang="bash">
| |
| # apt install iptables
| |
| # update-alternatives --set iptables /usr/sbin/iptables-legacy
| |
| # modprobe ip_tables
| |
| # echo “net.ipv4.ip_forward=1” > /etc/sysctl.conf
| |
| # echo 1 > /proc/sys/net/ipv4/ip_forward
| |
| # iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE
| |
| # iptables -A FORWARD -i wlan1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
| |
| # iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT
| |
| # iptables-save > /etc/iptables.ipv4.nat
| |
| # echo "up iptables-restore < /etc/iptables.ipv4.nat" >> /etc/network/interfaces
| |
| </syntaxhighlight>
| |