wb_editors
902
правки
Fizikdaos (обсуждение | вклад) |
Brainroot (обсуждение | вклад) |
||
(не показаны 44 промежуточные версии 6 участников) | |||
Строка 3: | Строка 3: | ||
<!--T:1--> | <!--T:1--> | ||
{{DISPLAYTITLE: | {{DISPLAYTITLE:Шпаргалка: сетевые настройки контроллера на удаленном объекте}} | ||
<!--T:2--> | <!--T:2--> | ||
{{note|info|Эта статья — шпаргалка инженера, в ней мы описали аспекты профессиональной инсталляции контроллера на производственных и коммерческих объектах. Полную информацию о сетевых настройках контроллера, смотрите в документации: [[Networks]]}} | |||
== Выбор сетевой комплектации контроллера == <!--T:3--> | == Выбор сетевой комплектации контроллера == <!--T:3--> | ||
Строка 14: | Строка 12: | ||
<!--T:4--> | <!--T:4--> | ||
Контроллеры Wiren Board 6 поставляются с разным набором сетевых устройств. Необходимо понять, в каких условиях будет эксплуатироваться контроллер и какая комплектация будет оптимальной. | Контроллеры Wiren Board 6 поставляются с разным набором сетевых устройств. Необходимо понять, в каких условиях будет эксплуатироваться контроллер и какая комплектация будет оптимальной. | ||
=== Минимальная комплектация === <!--T:5--> | === Минимальная комплектация === <!--T:5--> | ||
Строка 20: | Строка 17: | ||
<!--T:6--> | <!--T:6--> | ||
Контроллеры Wiren Board 6 в любой комплектации имеют два Ethernet-интерфейса 100 Мбит/с (eth0, eth1) на борту. | Контроллеры Wiren Board 6 в любой комплектации имеют два Ethernet-интерфейса 100 Мбит/с (eth0, eth1) на борту. | ||
=== Расширенные возможности === <!--T:7--> | === Расширенные возможности === <!--T:7--> | ||
Строка 26: | Строка 22: | ||
<!--T:8--> | <!--T:8--> | ||
Опционально контроллеры поставляются с Wi-Fi-интерфейсом (wlan0) (802.11bgn 2.4G), с 3G-модемом (WCDMA/HSPA, GSM/GPRS/EDGE) или 2G-модемом (GPRS). С помощью любого из них вы можете подключить контроллер к интернету, а с помощью Ethernet и Wi-Fi — еще и к локальной сети. 3G-модем реализован на чипе SIMCom SIM5300E, 2G-модем реализован на чипах SIMCom SIM800 или Neoway M660A, Wi-Fi — на чипе Realtek 8723BU. | Опционально контроллеры поставляются с Wi-Fi-интерфейсом (wlan0) (802.11bgn 2.4G), с 3G-модемом (WCDMA/HSPA, GSM/GPRS/EDGE) или 2G-модемом (GPRS). С помощью любого из них вы можете подключить контроллер к интернету, а с помощью Ethernet и Wi-Fi — еще и к локальной сети. 3G-модем реализован на чипе SIMCom SIM5300E, 2G-модем реализован на чипах SIMCom SIM800 или Neoway M660A, Wi-Fi — на чипе Realtek 8723BU. | ||
== Заводская конфигурация сетевых устройств == <!--T:9--> | == Заводская конфигурация сетевых устройств == <!--T:9--> | ||
=== Ethernet === <!--T:10--> | === Ethernet === <!--T:10--> | ||
<!--T:11--> | <!--T:11--> | ||
В заводской конфигурации в контроллере настроены оба Ethernet-интерфейса | В заводской конфигурации в контроллере настроены оба Ethernet-интерфейса, Wi-Fi и loopback. Файл сетевых настроек — <code>/etc/network/interfaces</code>. Интерфейсы eth0/1 не имеют фиксированного адреса и получают сетевые настройки по DHCP. | ||
=== Wi-Fi === <!--T:12--> | === Wi-Fi === <!--T:12--> | ||
<!--T:13--> | <!--T:13--> | ||
На Wi-Fi интерфейсе wlan0 по умолчанию поднята открытая точка доступа | На Wi-Fi интерфейсе wlan0 по умолчанию поднята открытая точка доступа с фиксированным адресом 192.168.42.1, клиенты получают адреса по DHCP, которые раздает демон dnsmasq, в диапазоне <code>192.168.42.50 — 192.168.42.150</code>. | ||
SSID беспроводной сети контроллера формируется из префикса “WirenBoard-” и серийного номера контроллера, нанесенного на боковой наклейке. В беспроводной сети контроллер имеет не только IP-адрес, но и DNS-алиасы для удобства подключения, <code>wiren</code>, <code>wiren.local</code>, <code>wiren_board</code>, <code>wirenboard.local</code>, <code>wirenboard</code>. | SSID беспроводной сети контроллера формируется из префикса “WirenBoard-” и серийного номера контроллера, нанесенного на боковой наклейке. В беспроводной сети контроллер имеет не только IP-адрес, но и DNS-алиасы для удобства подключения, <code>wiren</code>, <code>wiren.local</code>, <code>wiren_board</code>, <code>wirenboard.local</code>, <code>wirenboard</code>. | ||
=== GPRS === <!--T:14--> | === GPRS === <!--T:14--> | ||
<!--T:15--> | <!--T:15--> | ||
Подключение к сети передачи данных сотовых операторов не включено по умолчанию и требует настройки. Контроллер имеет два разъема для установки | Подключение к сети передачи данных сотовых операторов не включено по умолчанию и требует настройки. Контроллер имеет два разъема для установки SIM-карт, но в настоящее время программно поддерживается только первый. | ||
<!--T:16--> | <!--T:16--> | ||
Опционально контроллер комплектуется 3G или 2G-модемами (модемы несъемные и распаиваются на плате | Опционально контроллер комплектуется 3G или 2G-модемами (для версии 6.6 модемы несъемные и распаиваются на плате при производстве). С версии 6.7 модемы устанавливаются модулями в разъемы расширения. | ||
==== 3G-модем ==== | |||
<!--T:18--> | <!--T:18--> | ||
Модем представлен в системе двумя устройствами: <code>/dev/ttyGSM</code> (линк на один из консольных портов ttymxc), подключенного к UART-интерфейсу чипа модема | Модем представлен в системе двумя устройствами: <code>/dev/ttyGSM</code> (линк на один из консольных портов ttymxc), подключенного к UART-интерфейсу чипа модема и составного USB-устройства <code>/dev/ttyACM0-6</code>. Для коммуникации используется <code>ttyACM0</code>. Ограничения UART-порта не позволяют реализовать весь потенциал скорости передачи данных в 3G-сетях (теоретически до 7,2 Мбит/с на приём и до 5,76 Мбит/с на передачу). Порт ttyACM0 ограничен только скоростью передачи данных интерфейса USB2.0 (теоретически — до 280 Мбит/с). | ||
<!--T:19--> | <!--T:19--> | ||
Строка 65: | Строка 55: | ||
В контроллере доступно аппаратное управление включением/выключением модема через его вход PWRKEY, состояние которого управляется одним из GPIO процессора. Для пользователя интерфейс управления питанием модема предоставляет команда <code>wb-gsm</code> с опциями on, off, reset, restart_if_broken. | В контроллере доступно аппаратное управление включением/выключением модема через его вход PWRKEY, состояние которого управляется одним из GPIO процессора. Для пользователя интерфейс управления питанием модема предоставляет команда <code>wb-gsm</code> с опциями on, off, reset, restart_if_broken. | ||
[[WBC-3G | Подробное описание модуля 3G модема.]] | |||
==== 2G-модем ==== <!--T:21--> | ==== 2G-модем ==== <!--T:21--> | ||
Строка 71: | Строка 62: | ||
Максимальная скорость передачи данных в GPRS составляет 85,6 кбит/с, чего явно недостаточно для передачи больших объемов данных. GPRD-канал может использоваться для доступа к интерфейсу командной строки (ssh) или для отправки SMS. 2G-модемы представлены в системе одним устройством, <code>/dev/ttyGSM</code>. Одновременная передача данных и AT-команд в 2G-модеме не реализована. | Максимальная скорость передачи данных в GPRS составляет 85,6 кбит/с, чего явно недостаточно для передачи больших объемов данных. GPRD-канал может использоваться для доступа к интерфейсу командной строки (ssh) или для отправки SMS. 2G-модемы представлены в системе одним устройством, <code>/dev/ttyGSM</code>. Одновременная передача данных и AT-команд в 2G-модеме не реализована. | ||
[[WBC-2G | Подробное описание модуля 2G модема.]] | |||
==== GSM-антенны ==== <!--T:23--> | ==== GSM-антенны ==== <!--T:23--> | ||
Строка 78: | Строка 71: | ||
== Настройка сетевых интерфейсов == <!--T:25--> | == Настройка сетевых интерфейсов == <!--T:25--> | ||
=== Настройка Ethernet-интерфейсов === <!--T:26--> | === Настройка Ethernet-интерфейсов === <!--T:26--> | ||
неактуально, в 2304 и новее используется NM. | |||
<!--T:27--> | <!--T:27--> | ||
Часто возникает необходимость, чтобы контроллер имел постоянный адрес в локальной сети. Это достигается либо настройками DНCP-сервера (привязкой IP-адреса к MAC-адресу сетевого интерфейса контроллера), либо явным указанием IP-адреса в сетевых настройках. | Часто возникает необходимость, чтобы контроллер имел постоянный адрес в локальной сети. Это достигается либо настройками DНCP-сервера (привязкой IP-адреса к MAC-адресу сетевого интерфейса контроллера), либо явным указанием IP-адреса в сетевых настройках. | ||
Строка 99: | Строка 91: | ||
hostname Wirenboard | hostname Wirenboard | ||
</pre> | </pre> | ||
<!--T:30--> | <!--T:30--> | ||
Строка 126: | Строка 117: | ||
dnsmasq: using nameserver 8.8.4.4#53 | dnsmasq: using nameserver 8.8.4.4#53 | ||
</pre> | </pre> | ||
=== Настройка Wi-Fi === <!--T:33--> | === Настройка Wi-Fi === <!--T:33--> | ||
Строка 140: | Строка 130: | ||
wpa_key_mgmt=WPA-PSK | wpa_key_mgmt=WPA-PSK | ||
wpa_pairwise=TKIP CCMP | wpa_pairwise=TKIP CCMP | ||
</pre> | </pre> | ||
Строка 193: | Строка 182: | ||
<!--T:48--> | <!--T:48--> | ||
Для интерфейса eth0, который мы будем считать основным для выхода в интернет, создается шлюз по умолчанию с метрикой 0 в таблице маршрутизации. Зададим для шлюза по умолчанию через интерфейс ppp0 метрику 100 (или | Для интерфейса eth0, который мы будем считать основным для выхода в интернет, создается шлюз по умолчанию с метрикой 0 в таблице маршрутизации. Зададим для шлюза по умолчанию через интерфейс ppp0-метрику 100 (или любую, отличную от 0). | ||
Для выполнения команд после инициализации любого ppp-интерфейса pppd демон использует директорию <code>/etc/ppp/ip-up.d</code>. В качестве параметров командной строки скрипту передается и имя ppp-интерфейса (в нашем случае такой интерфейс один — это ppp0). | Для выполнения команд после инициализации любого ppp-интерфейса pppd демон использует директорию <code>/etc/ppp/ip-up.d</code>. В качестве параметров командной строки скрипту передается и имя ppp-интерфейса (в нашем случае такой интерфейс один — это ppp0). | ||
Строка 209: | Строка 198: | ||
<!--T:51--> | <!--T:51--> | ||
[[ | [[Image: Two_def_gateways.png]] | ||
<!--T:52--> | <!--T:52--> | ||
Строка 216: | Строка 205: | ||
<!--T:53--> | <!--T:53--> | ||
[[ | [[Image:Channel_switch.png]] | ||
<!--T:54--> | <!--T:54--> | ||
Строка 222: | Строка 211: | ||
<!--T:55--> | <!--T:55--> | ||
'''eth0:''' Из файла <code>/etc/dhcp/dhclient.conf</code> из параметра request удаляем параметр <code>domain-name-servers</code>, а после параметра request указываем открытые DNS-сервера Google и OpenDNS: | '''eth0:''' Из файла <code>/etc/dhcp/dhclient.conf</code>, из параметра request удаляем параметр <code>domain-name-servers</code>, а после параметра request указываем открытые DNS-сервера Google и OpenDNS: | ||
<pre>prepend domain-name-servers 8.8.4.4, 8.8.8.8, 208.67.222.222, 208.67.220.220;</pre> | <pre>prepend domain-name-servers 8.8.4.4, 8.8.8.8, 208.67.222.222, 208.67.220.220;</pre> | ||
Строка 245: | Строка 234: | ||
</pre> | </pre> | ||
== | == OpenVPN == <!--T:60--> | ||
<!--T:61--> | <!--T:61--> | ||
Строка 258: | Строка 247: | ||
<!--T:64--> | <!--T:64--> | ||
Установка OpenVPN — стандартная, с использованием <code>open-rsa</code>. | Установка OpenVPN — стандартная, с использованием <code>open-rsa</code>. | ||
2do: исправить, не надо на контроллере разворачивать механизмы создания/подписи сертификатов. | |||
<!--T:65--> | <!--T:65--> | ||
Строка 270: | Строка 260: | ||
<!--T:68--> | <!--T:68--> | ||
Копируем сертификат удостоверяющего центра <code>ca.crt</code> на контроллер в директорию <code>/etc/openvpn/easy-rsa/keys</code> | Копируем сертификат удостоверяющего центра <code>ca.crt</code> на контроллер, в директорию <code>/etc/openvpn/easy-rsa/keys</code> | ||
<!--T:69--> | <!--T:69--> | ||
Строка 287: | Строка 277: | ||
./build-req A7ZO7UCC | ./build-req A7ZO7UCC | ||
</pre> | </pre> | ||
Копируем полученный запрос <code>A7ZO7UCC.csr</code> на сервер в произвольную директорию и подписываем его. | Копируем полученный запрос <code>A7ZO7UCC.csr</code> на сервер, в произвольную директорию и подписываем его. | ||
<pre> | <pre> | ||
cd /etc/openvpn/easy-rsa | cd /etc/openvpn/easy-rsa | ||
Строка 293: | Строка 283: | ||
./sign-req /root/certs/A7ZO7UCC | ./sign-req /root/certs/A7ZO7UCC | ||
</pre> | </pre> | ||
Подписанный сертификат <code>A7ZO7UCC.crt</code> копируем на контроллер в директорию <code>/etc/openvpn/easy-rsa/keys</code>. | Подписанный сертификат <code>A7ZO7UCC.crt</code> копируем на контроллер, в директорию <code>/etc/openvpn/easy-rsa/keys</code>. | ||
<!--T:71--> | <!--T:71--> | ||
Строка 302: | Строка 292: | ||
<pre> | <pre> | ||
service openvpn stop | service openvpn stop | ||
nano /etc/openvpn/ipp.txt | |||
</pre> | </pre> | ||
Добавляем строку <code>A7ZO7UCC,10.8.0.48</code> | Добавляем строку <code>A7ZO7UCC,10.8.0.48</code> | ||
<pre>service openvpn start</pre> | <pre>service openvpn start</pre> | ||
<!--T:73--> | <!--T:73--> | ||
Для второго экземпляра сервера такую же операцию выполняем с его конфигурационными файлами, IP-адреса должны различаться, например, добавляем запись | Для второго экземпляра сервера такую же операцию выполняем с его конфигурационными файлами, IP-адреса должны различаться, например, добавляем запись | ||
<code>A7ZO7UCC,10.9.0.48</code> | <code>A7ZO7UCC,10.9.0.48</code> | ||
<!--T:74--> | <!--T:74--> | ||
Строка 347: | Строка 335: | ||
<code>ping 10.8.0.1</code> | <code>ping 10.8.0.1</code> | ||
== WireGuard == | |||
{{Anchor|wirenguard}} | |||
{{SupportedSinceRelease | |||
| release = wb-2210 | |||
| deb = linux-image-wb* | |||
| version = 5.10.35-wb121 | |||
|content= | |||
Помимо OpenVPN можно использовать более простой в настройке WireGuard, [https://www.wireguard.com/quickstart/ Инструкция по установке]. Для него не нужен централизованный сервер в интернете. | |||
Также можно использовать решение на основе WireGuard — [[Tailscale]]. Он использует userspace реализацию протокола WireGuard и не требует поддержки в ядре, а настройка подключения занимает несколько минут. | |||
}} | |||
== AutoSSH == <!--T:78--> | == AutoSSH == <!--T:78--> | ||
Строка 368: | Строка 368: | ||
<!--T:84--> | <!--T:84--> | ||
<code>no-agent-forwarding,no-X11-forwarding,permitopen="localhost:62001" </code> | <code>no-agent-forwarding,no-X11-forwarding,permitopen="localhost:62001" </code>, | ||
<!--T:85--> | <!--T:85--> | ||
Строка 379: | Строка 379: | ||
<!--T:87--> | <!--T:87--> | ||
На контроллере создаем файл <code>\etc\systemd\system\autossh.service</code> для запуска <code>autossh</code> в качестве сервиса: | На контроллере создаем файл <code>\etc\systemd\system\autossh.service</code> для запуска <code>autossh</code> в качестве сервиса: | ||
<!--T:88--> | <!--T:88--> | ||
Строка 404: | Строка 403: | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
</pre> | </pre> | ||
Включаем сервис | Включаем сервис автозагрузки на контроллере: | ||
<pre>systemctl enable autossh.service</pre> | <pre>systemctl enable autossh.service</pre> | ||
Строка 410: | Строка 409: | ||
После запуска сервиса мы можем подключиться к контроллеру на сервере с помощью команды | После запуска сервиса мы можем подключиться к контроллеру на сервере с помощью команды | ||
<pre>ssh 127.0.0.1 -p 62001</pre> | <pre>ssh 127.0.0.1 -p 62001</pre> | ||
== Передача данных с контроллера в облако == <!--T:92--> | == Передача данных с контроллера в облако == <!--T:92--> | ||
[[MQTT#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_MQTT_.D0.BC.D0.BE.D1.81.D1.82.D0.B0_.28bridge.29 | Примеры]] | |||
== Возможные неполадки GPRS-соединения == <!--T:99--> | == Возможные неполадки GPRS-соединения == <!--T:99--> | ||
<!--T:100--> | <!--T:100--> | ||
Возможных причин отсутствия GPRS-подключения может быть несколько | Возможных причин отсутствия GPRS-подключения может быть несколько: | ||
* Закончился оплаченный лимит трафика. | * Закончился оплаченный лимит трафика. | ||
* Низкий уровень сигнала, плохой контакт антенны. | * Низкий уровень сигнала, плохой контакт антенны. | ||
* | * SIM-карты некоторых операторов рассчитаны только на 4G-сети, 3G-подключение установить с ними не получится. | ||
* Проверьте, правильно ли вставлена | * Проверьте, правильно ли вставлена SIM-карта в слот. | ||
* Возможно, | * Возможно, SIM-карта нерабочая. | ||
* Ваш тарифный план не предусматривает пакетную передачу данных. | * Ваш тарифный план не предусматривает пакетную передачу данных. | ||
<!--T:101--> | <!--T:101--> | ||
Прежде чем | Прежде чем посещать личный кабинет и звонить провайдеру, можно выполнить ряд простых проверок. | ||
Строка 488: | Строка 457: | ||
<!--T:108--> | <!--T:108--> | ||
Если обе проверки пройдены, но связи нет, обратитесь к провайдеру (загляните в личный кабинет), можете проверить | Если обе проверки пройдены, но связи нет, обратитесь к провайдеру (загляните в личный кабинет), можете проверить SIM-карту в смартфоне. | ||
</translate> | </translate> |