Настройка сети на Orange Pi Zero

Сайт: 

В предыдущей статье я провел краткий обзор характеристик миникомпьютера Orange Pi Zero, показал как записать образ Armbian на SD-карточку и подключиться к терминалу через виртуальный COM-порт.

Сегодня статья будет на тему настройки сети Ethernet на Orange Pi Zero. Подключаться к терминалу через виртуальный COM-порт не всегда удобно, особенно когда устройство находится далеко от компьютера и необходимо произвести его настройку или загрузить какие-либо файлы. Также это просто необходимо для доступа к веб-серверу или, к примеру, FTP-серверу, а также для установки дополнительных приложений из сети Интернет.

Итак, начнем. Запускаем терминал (как это сделать написано в предыдущей статье) и вбиваем команду ifconfig для того, чтобы узнать какие сетевые интерфейсы доступны и как они настроены.

ifconfig

У меня получился такой результат:

eth0: flags=4163  mtu 1500
        inet 172.18.48.255  netmask 255.255.248.0  broadcast 172.18.55.255
        inet6 fe80::d117:b3f1:6d78:cd35  prefixlen 64  scopeid 0x20
        ether 02:42:56:67:9b:9a  txqueuelen 1000  (Ethernet)
        RX packets 5771  bytes 475777 (475.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 29  bytes 2547 (2.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 37

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4099  mtu 1500
        ether 12:42:56:67:9b:9a  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Что мы видим? Нам доступны сетевые интерфейсы eth0 (Ethernet) – проводной сетевой интерфейс, подключаемый к разъему RJ-45, lo (Loopback) – локальный интерфейс (для обмена сетевыми пакетами только на локальной машине) и интерфейс wlan0 (WiFi) – беспроводной сетевой интерфейс. В первую очередь нас интересует интерфейс eth0. Изначально он настроен на автоматическое получение IP-адреса от DHCP сервера, поэтому у меня текущий IP-адрес имеет значение 172.18.48.255. Но мне бы хотелось задать статический IP-адрес в пределах своей локальной сети, так как это удобно для доступа в дальнейшем через Putty и веб-сервер всегда будет доступен по одному и тому же адресу. Если у вас есть доступ к настройкам DHCP-сервера (например домашний роутер, через который осуществляется выход в интернет), то можно сделать так, чтобы MAC-адресу устройства (т.е. нашего Orange Pi) ставился в соответствие всегда один и тот же IP-адрес. Сделать это можно примерно так, как показано на рисунке:

MAC-адрес моей платы Orange Pi 02:42:56:67:9b:9a. Рекомендую использовать такой способ назначения IP-адреса для интерфейса wlan0. И еще в настройках роутера необходимо будет определить диапазон адресов, выдаваемых DHCP-сервером так, чтобы ваш заданный статический IP не входил в этот диапазон и не получилось так, что в сети находится два устройства с одинаковым IP.

Переходим к настройкам. Сетевые настройки хранятся в файле /etc/network/interfaces. В каталоге /etc/network/ находится также копия файла настроек – interfaces.default на случай, если пользователь захочет восстановить прежние настройки (хотя там-то и восстанавливать нечего :-)). Для редактирования файла настроек воспользуемся текстовым редактором nano и привилегиями root-пользователя.  Вбиваем команду sudo nano /etc/network/interfaces и вводим пароль root-пользователя. 

sudo nano /etc/network/interfaces

Должен открыться файл с таким содержимым:

Здесь настроен только lo-интерфейс. Добавляем такие строки в конец файла:

auto eth0
iface eth0 inet static
address 192.168.74.125
gateway 192.168.74.3
netmask 255.255.255.0

auto eth0 означает, что интерфейс будет запускаться при старте системы.

iface eth0 inet static означает, что интерфейс eth0 имеет статический IP-адрес.

Далее по порядку идут: IP-адрес, адрес шлюза, маска сети.

После внесения настроек сохраняем файл нажатием клавиш Ctrl+O и подтверждаем клавишей Enter имя файла. Для закрытия файла нажимаем клавиши Ctrl+X.

Чтобы новые настройки вступили в силу, необходимо перезапустить сетевой сервис. Делается это командой sudo service networking restart.

sudo service networking restart

Проверить то, что новые настройки установились, можно опять же командой ifconfig. Если настройки остались прежние, то можно просто перезагрузись ОС командой sudo reboot.

sudo reboot

Убедиться, что устройство доступно в сети по заданному адресу можно пропинговав его с другой машины в сети командой ping <адрес устройства>.

Если по какой-то причине статический адрес задать невозможно или со статического адреса нет выхода в интернет, тогда лучше установить динамический IP. Настраивается он точно также как и статический, только в файле interfaces задаются такие настройки:

auto eth0
iface eth0 inet dhcp

В таком случае никогда точно не будет известен IP-адрес устройства. Но можно узнать текущий адрес, подключившись через COM-порт командой ifconfig. Либо можно еще попробовать посмотреть содержимое arp-кэша на компьютере, за которым вы работаете и по MAC-адресу узнать IP-адрес Orange. Под Windows это делается командой arp –a:

Наверняка есть и другие способы, например, просканировать сеть специальными программами, но статья сейчас не об этом. В общем, при большом желании текущий IP-адрес можно узнать.

Ранее мы уже говорили, что нам доступен WiFi. Настраивается он аналогично Ethernet, но набор параметров несколько отличается.  В файле interfaces задаем такие настройки:

auto wlan0
iface wlan0 inet dhcp
wpa-ssid 
wpa-psk <Пароль WiFi>

После внесения настроек даем команду на выключение и передергиваем micro USB кабель:

sudo poweroff

После загрузки системы проверяем, что настройки вступили в силу командой ifconfig.

wlan0: flags=4163  mtu 1500
        inet 192.168.123.28  netmask 255.255.255.0  broadcast 192.168.123.255
        ether 12:42:56:67:9b:9a  txqueuelen 1000  (Ethernet)
        RX packets 508  bytes 151125 (151.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15  bytes 2586 (2.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

У меня установился автоматически IP-адрес 192.168.123.28

Если в выводе команды ifconfig вы не увидели IP-адреса, то нужно попробовать выполнить эти команды, которые перезапустят интерфейс wlan0:

sudo ifdown wlan0
sudo ifup wlan0

Так же WiFi можно настроить с помощью графической утилиты NetworkManager TUI. Для этого необходимо ввести команду sudo nmtui

sudo nmtui

Перемещаться по меню можно с помощью клавиш стрелок и клавиши Tab. Выбираем Activate a connection.

Выбираем нашу точку доступа и вводим пароль.

После этого происходит установка соединения. Дальше жмем ОК и Quit.

Связь с интернетом можно проверить пропинговав адрес 8.8.8.8

Если связь есть, то вы увидите идущие подряд пакеты как на скрине выше. В противном случае будет только отправлен запрос PING и процесс зависнет в ожидании. Завершить процесс можно нажатием клавиш Ctrl+C.

После настройки сетевых интерфейсов и установки статического IP адреса можно подключить к терминалу по протоколу SSH через программу Putty. В окне настроек программы задаем такие параметры:

IP адрес у вас будет отличаться.

При первом запуске можно увидеть такое окно:

Жмем кнопку Да.

После подключения вы увидите знакомое приглашение в консоль, а также предупреждение, что нужно выполнить обновление системы.

[ 0 security updates available, 8 updates total: apt upgrade ]

Обновляемся командой sudo apt upgrade (интернет должен быть подключен).

sudo apt upgrade

Соглашаемся с установкой нажатием кнопки Enter.

Система выдала, что не может найти некоторые архивы и предлагает выполнить команду apt-get update. Так и поступим.

sudo apt-get update

Не забываем о sudo. После этого нужно снова повторить команду обновления sudo apt upgrade.

Ну и в завершении темы установим файловый менеджер Midnight Commander. С его помощью гораздо удобнее работать с файлами и перемещаться по каталогам, а также он имеет встроенный текстовый редактор, который удобнее в использовании, чем входящий по умолчанию в дистрибутив редактор nano.

Для установки программы вводим команду

sudo apt-get install mc

Установщик предупредит, что необходимо скачать кое-какие файлы и это займет указанное место на диске. Соглашаемся нажатием клавиши Enter и начинает процесс установки. Запускается файловый менеджер командой mc.

mc

Теперь файл /etc/network/interfaces можно отредактировать выделив его в Midnight Commander и нажав клавишу F4. Стоит также не забывать о правах суперпользователя и запускать файловый менеджер командой sudo mc. Вторым вариантом запуска текстового редактора будет ввод команды

sudo mcedit /etc/network/interfaces

На этом я завершаю сегодняшнюю статью. В следующей статье я расскажу как установить и настроить веб-сервер на Orange Pi Zero. Жду ваших комментариев.