Changes to network.md

This commit is contained in:
Oleg Kalachev
2018-05-31 15:49:12 +03:00
committed by Artem Smirnov
parent 7110ef1420
commit 0f6e24d07f

View File

@@ -1,10 +1,10 @@
# Настройка Wi-Fi
Wi-Fi адаптер на дроне имеет два основных режима работы:
1. **Режим клиента** дрон подключается к существующей Wi-Fi сети.
2. **Режим точки доступа** дрон создает Wi-Fi сеть, к которой вы можете подключиться.
Wi-Fi адаптер на Raspberry Pi имеет два основных режима работы:
1. **Режим клиента** RPi подключается к существующей Wi-Fi сети.
2. **Режим точки доступа** RPi создает Wi-Fi сеть, к которой вы можете подключиться.
По умолчанию Wi-Fi адаптер работает в режиме точки доступа.
При использовании [образа для RPi](microsd_images.md) по умолчанию Wi-Fi адаптер работает в режиме точки доступа.
## Инструкция для переключения адаптера в режим клиента
@@ -47,7 +47,7 @@ network={
EOF
```
где `CLEVER` - название сети, а `cleverwifi` - пароль.
где `CLEVER` название сети, а `cleverwifi` пароль.
4\. Перезапустите службу `dhcpcd`.
@@ -116,13 +116,14 @@ ___
Ниже вы можете узнать больше о том, как устроена работа с сетью на RPi.
# Устройство сети RPi
Работа сети на **2017-11-29-raspbian-stretch-lite** поддерживается двумя предустановленными службами:
* **networking** - служба включает все сетевые интерфейсы в момент запуска [5].
* **dhcpcd** - служба обеспечивает настройку адресации и маршрутризации на интерфейсах, полученных динамически или указаных в файле настроек статически.
Работа сети на образе **2017-11-29-raspbian-stretch-lite** поддерживается двумя предустановленными службами:
* **networking** служба включает все сетевые интерфейсы в момент запуска [5].
* **dhcpcd** служба обеспечивает настройку адресации и маршрутризации на интерфейсах, полученных динамически или указаных в файле настроек статически.
Для работы в режиме роутера (точки доступа) RPi необходим dhcp-сервер. Он служит для автоматической выдачи настроек текущей сети подключившимся клиентам. В роли такого сервера может выступать `isc-dhcp-server` или `dnsmasq`.
Для работы в режиме роутера (точки доступа) RPi необходим DHCP-сервер. Он служит для автоматической выдачи настроек текущей сети подключившимся клиентам. В роли такого сервера может выступать `isc-dhcp-server` или `dnsmasq`.
## dhcpcd
Начиная с Raspbian Jesse настройки сети больше не задаются в файле `/etc/network/interfaces`. Теперь за выдачу адресации и настройку маршрутизации отвечает `dhcpcd` [4].
По умолчанию на всех интерфейсах включен dhcp-клиент. Настройки интерфейсов меняются в файле `/etc/dhcpcd.conf`. Для того, чтобы поднять точку доступа необходимо прописать статический ip-адрес. Для этого в конец файла необходимо добавить следующие строки:
@@ -132,9 +133,10 @@ interface wlan0
static ip_address=192.168.11.1/24
```
> Если интерфейс является беспроводным (wlan), то служба `dhcpcd` триггерит `wpa_supplicant` [13], который в свою очередь работает непосредственно с wifi-адаптером и переводит его в заданное состояние.
> **Note** Если интерфейс является беспроводным (wlan), то служба `dhcpcd` триггерит `wpa_supplicant` [13], который в свою очередь работает непосредственно с wifi-адаптером и переводит его в заданное состояние.
## wpa_supplicant
**wpa_supplicant** служба конфигурирует Wi-Fi адаптер. Служба `wpa_supplicant` работает не как самостоятельная (хотя как таковая существует), а запускается как дочерний процесс от `dhcpcd`.
Конфигурационный файл по умолчанию должен иметь путь `/etc/wpa_supplicant/wpa_supplicant.conf`.
@@ -178,7 +180,7 @@ network={
### Несколько Wi-Fi адаптеров
В системе может быть несколько Wi-Fi адаптеров. Если для них корректно подключены драйвера, то их можно увидеть вызвав `ifconfig` (например wlan0 и wlan1).
Если у вас несколько адаптеров, для всех будет использоваться одна и таже самая рабочая секция `network`. Это связано с тем, что для каждого интерфейса, `dhcpcd` отдельно создает по дочернему процессу `wpa_supplicant`, в котором выполняется один тот же код (т.к. конфиг один и тот же).
Если у вас несколько адаптеров, для всех будет использоваться одна и таже самая рабочая секция `network`. Это связано с тем, что для каждого интерфейса, `dhcpcd` отдельно создает по дочернему процессу `wpa_supplicant`, в котором выполняется один тот же код (т. к. конфиг один и тот же).
Для работы нескольких адаптеров с отдельными настройками для каждого, в стандартном вызываемом скрипте `dhcpcd` реализован механизм запуска разных конфигурационных скриптов. Для его использования необходимо переименовать стандартный файл конфига по следующему образцу: `wpa_supplicant-<имя интерфейса>.conf`, например `wpa_supplicant-wlan0.conf`.
@@ -189,7 +191,7 @@ sudo systemctl restart dhcpcd
## dhcp-server
### dnsmasq-base
`dnsmasq-base` - консольная утилита, не являющаяся службой, для использования dnsmasq как службы надо установить пакет `dnsmasq`.
`dnsmasq-base` консольная утилита, не являющаяся службой, для использования dnsmasq как службы надо установить пакет `dnsmasq`.
```bash
sudo apt install dnsmasq-base
@@ -263,7 +265,7 @@ EOF
```
## References
## Ссылки
1. [habr.com: Linux WiFi из командной строки с wpa_supplicant](https://habr.com/post/315960/)
2. [wiki.archlinux.org: WPA supplicant (Русский)](https://wiki.archlinux.org/index.php/WPA_supplicant_(Русский))