Как настроить статический IP-адрес на Raspberry Pi 3

Raspberry Pi 3. Присвоение статического IP-адреса

Дата Автор 18 комментариев 64 399 просмотров

С настройками по умолчанию Raspberry Pi присваивается динамический (т.е. случайно выбранный) IP-адрес внутри локальной сети.

Это удобно тем, что это работает «из коробки» и не нуждается в какой-либо настройке. И неудобно, если Raspberry Pi будет использоваться в качестве локального сервера.

Представьте, установили вы кучу сервисов, которые доступны по сети по IP-адресу, вы привыкли пользоваться этим IP-адресом, вбили его в настройки и закладки на всех своих устройствах. Тут возникает необходимость перезагрузки роутера, а после перезагрузки роутер присваивает «малине» уже совсем другой IP-адрес. И все пути доступа придется переписывать заново.

Что делать? Принудительно назначить статический IP-адрес в настройках Raspbian и навсегда забыть о подобной проблеме.

Что нам понадобится

Для осуществления описываемых в этой статье действий понадобится:

Настройка статического IP-адреса в Raspbian

В интернете опубликовано множество инструкций по присвоению статического IP для Raspberry Pi, и практически все они сводятся к одному из двух вариантов:

  • Правка конфигурации в /etc/network/interfaces
  • Остановка DHCP-демона

Так вот, первый вариант в новых релизах Raspbian не работает совсем: после очередного обновления «малина» начинает игнорировать это файл конфигурации, а сетевые настройки получает по DHCP-протоколу. А второй вариант хоть и рабочий, но избыточен: зачем полностью отключать у себя DHCP, если можно его просто обойти?

Поэтому пойдем другим путем: пропишем статический IP-адрес в конфигурации DHCP, но сам DHCP-демон отключать не будем.

Но перед этим нужно узнать IP-адрес роутера в своей локальной сети. Обычно он выглядит как 192.168.0.1 или 192.168.1.1. Если вы его знаете — отлично. Если нет — его всегда можно посмотреть, выполнив консольную команду:

netstat -r –n

Как настроить статический IP-адрес на Raspberry Pi 3

Адрес шлюза — это и есть IP-адрес роутера. Запомним его.

Узнав IP-адрес роутера, отредактируем файл конфигурации DHCP на Raspberry Pi:

sudo nano /etc/dhcpcd.conf

Допишем в конце строку:

nodhcp

И после этой строки назначим статический адрес для Ethernet-подключения:

interface eth0
static ip_address=192.168.0.243/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

И для подключения через встроенный Wi-Fi-адаптер:

interface wlan0
static ip_address=192.168.0.243/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

Если вместо встроенного Wi-Fi по каким-то причинам используется внешний Wi-Fi адаптер (например, вас не устраивает уровень приема сигнала встроенного адаптера и вы подключаете более мощный адаптер с антенной), то его интерфейс будет называться уже wlan1, а конфигурируется он аналогичным образом:

interface wlan1
static ip_address=192.168.0.243/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

Из текста настроек понятно, что в строке static ip_address прописывается желаемый статический IP-адрес «малины», а в строках static routers и static domain_name_servers прописывается IP-адрес роутера.

После этого остается только перезагрузить Raspberry Pi для применения изменений:

sudo reboot

Заключение

Назначение статического IP-адреса — одно из первых действий, которые нужно сделать на Raspberry Pi после установки и настройки OS Raspbian, если «малина» будет задействована в качестве локального сервера.

Единожды потраченные 5 минут на правку файлов конфигурации навсегда избавят от возможных неудобств с внезапным изменением IP-адреса «малины» в будущем.

Raspberry Pi 3B (английская сборка)в интернет-магазине GearBest Raspberry Pi 3B (китайская сборка)в интернет-магазине GearBest

Автор статьи:
Дмитрий
Руководитель отдела в IT-компании. Веду этот блог с 2013 года, пишу о гаджетах и домашней автоматизации, обозреваю одноплатные компьютеры, неспешно собираю «умный дом».

18 комментария на «Raspberry Pi 3. Присвоение статического IP-адреса»

  1. Если посмотреть man файла dhcpcd.conf, то в примере для статического адреса показано присвоение маски подсети:
    ~:# man dhcpcd.conf
    static ip_address=192.168.0.243/24
    Если можно, вопрос. У вас IP-адреса eth0 и wlan0 одинаковые. Как вручную указать Raspberry Pi через какой интерфейс вы хотите к ней подключиться?

    • >Если посмотреть man файла dhcpcd.conf, то в примере для статического адреса показано присвоение маски подсети:

      Да, вы правы. Забыл про маску подсети. Поправил статью, спасибо.

      >Если можно, вопрос. У вас IP-адреса eth0 и wlan0 одинаковые. Как вручную указать Raspberry Pi через какой интерфейс вы хотите к ней подключиться?

      Можно прописать нужный интерфейс подключения в /etc/network/interfaces.
      Или в графическом интерфейсе Raspbian выбрать нужное подключение (wlan или ethernet), а ненужное соединение отключить — эти настройки вроде как запоминаются.

      Я ориентировался на то, что wlan мне не нужен (слишком сильные просадки по скорости по сравнению с ethernet-подключением) и использоваться будет только ethernet. Но если по какой-то причине придется отключить кабель и временно использовать wi-fi, то для удобства хотелось бы иметь доступ по тому же ip-адресу. Поэтому вписал один и тот же ip в обоих интерфейсах подключения.

  2. Я, чисто из спортивного интереса, включил оба интерфейса. Снаружи подключаюсь к малинке по SSH. Через eth0 по IP:192.168.1.133 подключается идеально. А с wlan0 проблема. ifconfig не показывает присвоения IP-адреса, хотя я пытался и через DHCP и статически задать 192.168.1.132. Соответственно через wlan0 SSH не подключается. При этом wlan0 работает. Команда iwlist wlan0 scan | grep «ESSID\|IE: IEEE» показывает мою Wi-Fi сеть поднятую моим роутером.

  3. А как понять, с какого интерфейса малинка в интернет ходит, если включены WLAN и LAN?
    Внешне она доступна по обоим адресам, а какой выбирает для исходящих соединений?

    • Например, поставить пакет iptraf (sudo apt-get install iptraf) и посмотреть в нем через какие интерфейсы идет трафик.

      Или если интернет-канал быстрый, то можно просто прогнать тест скорости speedtest.net в браузере. По Wi-Fi скорость не поднимется выше 20-30мбит, а по проводу будет в районе максимально доступной по тарифу.

  4. я обычно регистрирую устройство в рутере по физ.адресу, обзываю его и рисую какой-нибудь ИП. ДЧСП без проблем обходит его. По-моему так проще. Т.е. в само локальное устройство не лезу — только в рутер. Или это неправильно?

  5. провернул это на подключении к оптоволоконному роутеру от ростелеком, и он деликатно вертел эти настройки и всё равно выдаёт такой IP, какой хочет. А я уже обрадовался, что с малиной будет иначе, нежели с другими устройствами: в настройках роутера мой любимый ELTEX упорно дает ставить устройствам статический IP.

  6. Здравствуйте! Извините, я опять с вопросом беспокою вас. Существует ли аналог команды hostname -I для Windows? В официальном сайте написано, что если не удается подключится через Putty, то наверняка неверный Ip address. И пишется написать команду hostname -I v raspberry shell. Как я могу набрать команду в raspberry shell, для получение ip-addressa чтобы получить подключение. Извините и за глупый вопрос)
    Заранее огромнейшее спасибо!

  7. Здравствуйте, хотелось бы узнать, можно ли иметь статический ip в двух wi fi сетях одновременно? Просто иногда приходится таскать малинку с собой, дома подключил её данным способом, а когда раздаю интернет с телефона например она к нему не коннектится.

    • По-моему телефон не может выступать в роли роутера. Просто раздавать интернет (т.е. быть модемом) — да, но организовать через него работу локальной сети не получится.

      Могу ошибаться, но по-моему это так.

  8. При данных настройках dhcp отключится на всех интерфейсах и станет невозможным подключение инета, например, через вифи. Дабы этого не происходило строку:
    nodhcp
    необходимо удалить. А также удалить статический маршрут оставив только:
    interface eth0
    static ip_address=192.168.0.243/24

    • Да. Вы правы. У меня если делать как в статье, то по ВайФай роутер не может выдать адрес. А по вашему методу, роутер адрес выдает.

  9. Здравствуйте, а как прописать 2 wi-fi сети (основную и резервную) подскажите какие настройки нужно сделать?

    • Надо в файле /etc/wpa_supplicant/wpa_supplicant.conf последовательно прописать несколько шаблонов настроек для разных Wi-Fi сетей. Один шаблон у вас скорее всего уже есть (если нет — для простоты воспользуйтесь стандартной утилитой raspi-config и настройте через нее), данные для второй сети и всех последующих можно вписать по аналогии.

Добавить комментарий

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

[Хамство, оскорбления и попытки крауд-маркетинга будут удалены]