Умный Дом
У вас в руках Raspberry pi, система уже установлена. Пора заглянуть внутрь. Управлять малиной удобнее всего через сеть. Совсем немного упорства и вы завладеете ее сетевыми интерфейсами!
Raspberry pi, как и большинство удобных одноплатников, сетевое устройство. Так давай те же пользоваться этим по максимуму. Можно, конечно, подключиться и напрямую, используя клавиатуру и HDMI монитор. Но зачем? Мы же поступили рационально и не стали ставить графическую OS!
Чтож, начнем уже гонять наши биты, байты, мегабайты…
Система должна быть установлена (тут можно посмотреть как), карта памяти вставлена. Понадобится доступ к вашему домашнему роутеру и Ethernet кабель.
Сначала соединяем кабелем малину и любой из свободных LAN портов вашего роутера. Включаем ваш одноплатник. Теперь необходимо зайти в админку роутера и найти Raspberry в подключенных клиентах локальной сети. По умолчанию эзернет интерфейс малины настроен на автоматическое получение адреса. Если вы хотите оставить такую конфигурацию для него, тогда просто зарезервируйте на роутере полученный сейчас адрес, чтобы в дальнейшем raspberry не пришлось искать заново.
Запоминаем IP адрес малины. Если вы под Windows, качаем ssh клиент putty. Нужно же как-то по ssh соединяться.
Дефолтные данные для авторизации:
логин: pi
пароль: raspberry
Заходим.
1
2
3
|
ssh pi@xx.xx.xx.xx
где xx.xx.xx.xx — ip вашей малины.
|
Первое, что я рекомендую — сменить пароль:)
1
2
3
4
5
6
|
pi@raspberry:~ $ passwd
Смена пароля для pi.
(текущий) пароль UNIX:
Введите новый пароль UNIX:
Повторите ввод нового пароля UNIX:
Пароль изменен
|
Настройка сетевой карты Ethernet
Настроим проводное подключение нашей малины: пропишем в файле конфигурации статический, удобный для нас IP.
Переходим в суперпользователя (здесь и далее все с рутовскими привилегиями).
1
|
pi@raspberry:~ $ sudo —i
|
Далее закомментируем строку с DHCP и пропишем все параметры статики:
1
|
root@raspberry:~# vim /etc/network/interfaces
|
Содержание файла:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and ‘man dhcpcd.conf’
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.100.100 #айпишник малины в вашей сети
net mask 255.255.255.0 #маска вашей сети
broadcast 192.168.100.255 #широковещетельный адрес сети
gateway 192.168.100.1 #шлюз или адрес вашего роутера
dns-nameservers 192.168.100.1 8.8.8.8 #DNS
auto eth0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
|
Сохраняемся и выходим. Забыл сказать, если вы не умеете пользоваться Vim, не печальтесь. Однажды вы научитесь 😉 Vim — очень полезный и крутой редактор!
Также очень советую не ошибаться в синтаксисе написания файла.
Чтобы применить настройки, которые мы записали в файл конфигурации сети, нам необходимо или перегрузиться, или перезапустить сетевой интерфейс, который мы переконфигурировали.
Мы пойдем вторым путем. Тонкость в том, что мы хотим отключить и поднять обратно интерфейс, через который мы подключены. Причем после поднятия адрес сменится на ваш прописанный.
Ок. Это же линукс — тут можно все 🙂
Исполняем сразу 2 команды на отключение и включение интерфейса:
1
|
root@raspberry:~# ifdown eth0 && ifup eth0
|
Если адрес сменился, вы отвалитесь от устройства, но ничего страшного нет. Подключаемся по ssh к новому, прописанному вами, адресу. Удобство данного способа в том, что не нужно перезагружать ваш сервер. Если перезагрузка для вас не критична, можно просто воспользоваться командой sudo reboot.
Готово. Сетевая карточка настроена на статику. Пользуемся.
Настройка wifi
Теперь можем заняться вайфаем. Согласитесь, удобно использовать девайс, не используя кабели.
А если прописать все необходимые настройки WIFI из разных мест (работа, дом и тд), то вообще цены этому нет!
Я рекомендую адресацию через провод временно сделать отличающейся от адресации wifi для избежания путаницы. Если вы были внимательны, то в файле конфигурации сети /etc/network/interfaces увидели аж 3 интерфейса:
lo, eth0 и wlan0.
В малине интерфейс вайфая обычно именуется wlan0.
Все в том же файле у этого интерфейса есть строчка конфигурации «wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf«.
Вот /etc/wpa_supplicant/wpa_supplicant.conf нам и нужно отредактировать, чтобы вписать данные о своей беспроводной сети — SSID и пароль.
1
|
root@raspberry:~# vim /etc/wpa_supplicant/wpa_supplicant.conf
|
Допишем в конфиг данные о своей сети. В примере сразу укажем как подключить raspberry pi к двум точкам доступа:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
country=RU
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid=»SSID моей точки доступа»
scan_ssid=1
psk=»мой_password»
}
#ниже блок по необходимости.
#Таких блоков может быть целый вагон,
#если вам нужно подключить много сетей
network={
ssid=»SSID моей точки доступа на работе»
scan_ssid=1
psk=»мой_password_от_рабочего_вф»
}
|
Сохраняемся, выходим. Осталось только поднять интерфейс вайфая. Снова 2 варианта: перезагружаемся или делаем вот так:
1
|
root@raspberry:~# ifup wlan0
|
Проверяем, поднялся ли вайвай:
1
|
root@raspberry:~# ifconfig
|
Мы должны увидеть что-то похожее:
1
2
3
4
5
6
7
8
9
|
wlan0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
inet addr:192.168.100.50 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: .... Scope:Global
inet6 addr: .... Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20167 errors:0 dropped:21 overruns:0 frame:0
TX packets:3692 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2539261 (2.4 MiB) TX bytes:677462 (661.5 KiB)
|
Отлично! Получен адрес 192.168.100.50. Адресацию проводной сети можно вернуть на место. Про кабель можно забыть.
Все? Ну-у… Можно и так оставить. Но я бы рассмотрел еще 2 возможных варианта:
- Хочу вайвай по статике, чтоб адрес не искать каждый раз.
- Хочу не писать пароль в открытом виде, секъюрно хочу!
Статический вайфай.
Снова заходим в конфигурационный файл сетевых интерфейсов и правим wlan0
1
|
root@raspberry:~ # vim /etc/network/interfaces
|
Содержание файла:
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
|
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and ‘man dhcpcd.conf’
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
#iface eth0 inet dhcp
#auto eth0
iface eth0 inet static
address 192.168.200.1
netmask 255.255.255.0
auto eth0
#allow-hotplug wlan0
#iface wlan0 inet dhcp
# wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
auto wlan0
iface wlan0 inet static
address 192.168.200.200
netmask 255.255.255.0
gateway 192.168.200.1
wpa-ap-scan 1
wpa-essid мой_SSID
wpa-psk пароль_SSID
|
Перезапускаем интерфейс:
1
|
root@raspberry:~# ifdown wlan0 && ifup wlan0
|
Вариант со статикой по вайфаю готов. Пользуемся.
Пароидально-секьюрный вариант.
Доступ на чтение и изменение файла конфигураций сети оставляем только для root.
Проверяем:
1
2
3
4
5
|
root@raspberry:~ # ls -an /etc/network/interfaces
-rw-r—r— 1 0 0 617 янв 27 12:13 /etc/network/interfaces
root@raspberry:~ # ls -an /etc/wpa_supplicant/wpa_supplicant.conf
-rw——- 1 0 0 525 янв 27 15:01 /etc/wpa_supplicant/wpa_supplicant.conf
|
Как видите, в первом случае, если мы укажем пароль в открытом виде, прочесть его смогут почти все.
Меняем права:
1
|
root@raspberry:~ # chmod 600 /etc/network/interfaces
|
Генерируем 256 битный pre-shared WPA ключ, а заодно и минимально необходимую конфигурацию:
1
2
3
4
5
6
|
root@raspberry:~ # wpa_passphrase «ssid» «ssid_password»
network={
ssid=»мой-SSID»
#psk=»пароль в открытом виде»
psk=0XXXXX1caeXXXXf12d76XXXXX5e78181add0XXXX675deeefXXXXXcab4
}
|
Полученный вывод можно использовать как и в примере с конфигурацией через /etc/wpa_supplicant/wpa_supplicant.conf со множественными точками доступа, так и для последнего варианта с указанием статического IP для конкретного SSID. Только вот закомментированный пароль в открытом виде лучше удалить из всех файлов.
Вот часть конфига /etc/network/interfaces, отвечающая за интерфейс wlan0:
1
2
3
4
5
6
7
8
|
auto wlan0
iface wlan0 inet static
address 192.168.200.200
netmask 255.255.255.0
gateway 192.168.200.1
wpa-ap-scan 1
wpa-essid мой_SSID
wpa-psk 0XXXXX1caeXXXXf12d76XXXXX5e78181add0XXXX675deeefXXXXXcab4
|
Вот, собственно, и все основные варианты конфигураций для работы сервера как клиента сети. Не забываем перезапустить сеть после всех манипуляций или перезагрузиться.
1
|
root@raspberry:~# ifdown wlan0 && ifup wlan0
|
Итог.
Рассмотрели основные варианты подключения интерфейсов малины в сети. Конечно, еще существует множество других случаев, где настройки будут отличаться, но сегодня статья не об этом.
Описанных выше примеров хватит на львиную долю типовых задач. Какой именно выбрать способ — решать вам, повелители сетевых интерфейсов 😉
Кому понравилось — добавляем в закладки или подписываемся на блог.
Всем добра, силы и упорства.
умный дом приложение