Wi-Fi Old: различия между версиями

Нет описания правки
 
(не показано 14 промежуточных версий 5 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE: Настройка Wi-Fi в релизах ПО wb-2207 и старее}}
==Режимы работы==
==Режимы работы==
{{note|warn| Эта инструкция по настройке сети устарела и мы не рекомендуем использовать ее в релизах [[wb-2304]] и новее. Актуальная инструкция находится по ссылке [[Networks |Настройка сети в контроллерах Wiren Board]].}}
'''Wi-Fi''' в Wiren Board можно настроить на работу в одном из двух или трёх режимов:
'''Wi-Fi''' в Wiren Board можно настроить на работу в одном из двух или трёх режимов:
* Режим точки доступа (включён по умолчанию). Работает относительно медленно. Скорости вполне хватит для работы с веб-интерфейсом, но не стоит использовать как замену роутера.
* Режим точки доступа (включён по умолчанию). Работает относительно медленно. Скорости вполне хватит для работы с веб-интерфейсом, но не стоит использовать как замену роутера.
Строка 25: Строка 27:
== Настройка Wi-Fi на контроллере Wiren Board ==  
== Настройка Wi-Fi на контроллере Wiren Board ==  


Настройка производится стандартным для Linux Debian способом - через файл <code>/etc/network/interfaces</code>. Краткие инструкции для типовых задач даны ниже, на сайте Linux Debian есть [https://wiki.debian.org/ru/NetworkConfiguration подробная документация].
Настройка производится стандартным для Linux Debian способом через файл <code>/etc/network/interfaces</code>. Краткие инструкции для типовых задач даны ниже, на сайте Linux Debian есть [https://wiki.debian.org/ru/NetworkConfiguration подробная документация].


=== Настройка в режиме точки доступа ===
=== Настройка в режиме точки доступа ===
Строка 51: Строка 53:
       netmask 255.255.255.0
       netmask 255.255.255.0
</syntaxhighlight>
</syntaxhighlight>
#:Если указываете другой адрес, отредактируйте файл /etc/dnsmasq.conf, укажите диапазон адресов в строке "dhcp-range"
# закомментируйте строки, относящиеся к работе в режиме клиента:
# закомментируйте строки, относящиеся к работе в режиме клиента:
#:<syntaxhighlight lang="bash">
#:<syntaxhighlight lang="bash">
Строка 81: Строка 84:
</pre>
</pre>


Придумайте свой пароль (не менее 8 символов) и замените в файле <code>your_password</code> на него. Сохраните файл нажатием клавиш <code>Ctrl+O</code> и выйдете из редактора <code>Ctrl+X</code>.
Придумайте свой пароль (не менее 8 символов) и замените в файле <code>your_password</code> на него. {{Wbincludes:Save nano}}


После этого выполните команду:
После этого выполните команду:
Строка 99: Строка 102:
#Остановите демон <code>hostapd</code>
#Остановите демон <code>hostapd</code>
#:<syntaxhighlight lang="bash">
#:<syntaxhighlight lang="bash">
service hostapd stop
systemctl stop hostapd
</syntaxhighlight>
</syntaxhighlight>
# Теперь закомментируйте настройки точки доступа и задайте настройки WiFi-клиента:
# Теперь закомментируйте настройки точки доступа и задайте настройки WiFi-клиента:
#* откройте файл для редактирования
#* откройте файл для редактирования
#:<syntaxhighlight lang="bash">
#:<syntaxhighlight lang="bash">
mcedit /etc/network/interfaces
nano /etc/network/interfaces
</syntaxhighlight>
</syntaxhighlight>
#* закомментируйте строки, относящиеся к настройке в режиме точки доступа: <syntaxhighlight lang="bash">
#* закомментируйте строки, относящиеся к настройке в режиме точки доступа: <syntaxhighlight lang="bash">
Строка 128: Строка 131:
# Откройте файл настроек:
# Откройте файл настроек:
#: <syntaxhighlight lang="bash">
#: <syntaxhighlight lang="bash">
mcedit /etc/network/interfaces
nano /etc/network/interfaces
</syntaxhighlight>
</syntaxhighlight>
# Раскомментируйте и отредактируйте строки (или добавьте, если их не было):
# Раскомментируйте и отредактируйте строки (или добавьте, если их не было):
Строка 281: Строка 284:
</syntaxhighlight>
</syntaxhighlight>


=== Автоматическое переподключение при проблемах с соединением ===
=== Использование как роутер ===


Способ заимствован [http://alexba.in/blog/2015/01/14/automatically-reconnecting-wifi-on-a-raspberrypi/ на сайте alexba.in].
Не рекомендуется использовать, так как работает относительно медленно.


Допустим, контроллер подключён к роутеру с адресом <code>192.168.0.1</code> через интерфейс <code>wlan1</code>:
<syntaxhighlight lang="bash">
# Создайте в папке <code>/root</code> скрипт <code>wifi_autoconnect.sh</code>:
# apt install iptables
#:<syntaxhighlight lang="bash">mcedit /root/wifi_autoconnect.sh</syntaxhighlight>
# update-alternatives --set iptables /usr/sbin/iptables-legacy
#:с содержанием:
# modprobe ip_tables
#:<syntaxhighlight lang="bash">
# echo “net.ipv4.ip_forward=1” > /etc/sysctl.conf
#!/bin/bash
# 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
WLANINTERFACE=wlan1
# iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT
# Подставьте адрес роутера или сервера в интернете, доступ к которому будет проверяться
# iptables-save > /etc/iptables.ipv4.nat
SERVER=192.168.0.1
# echo "up iptables-restore < /etc/iptables.ipv4.nat" >> /etc/network/interfaces
 
PATH="/bin:/sbin:/usr/local/sbin:/usr/sbin:$PATH"
# Only send two pings, sending output to /dev/null
ping -I ${WLANINTERFACE} -c2 ${SERVER} > /dev/null
 
# If the return code from ping ($?) is not 0 (meaning there was an error)
if [ $? != 0 ]
then
# Restart the wireless interface
ifdown --force ${WLANINTERFACE}
ifup ${WLANINTERFACE}
fi
</syntaxhighlight>
# Сделайте файл исполняемым, выполнив команду
#:<syntaxhighlight lang="bash">
chmod +x /root/wifi_autoconnect.sh
</syntaxhighlight>
# Запланируйте выполнение скрипта каждую минуту:
#: Добавьте в конец файла <code>/etc/crontab</code> строку
#:<syntaxhighlight lang="bash">
*  * * * * root /root/wifi_autoconnect.sh
# Обязательно добавьте пустую строку в конец файла
</syntaxhighlight>
</syntaxhighlight>