Raspberry set static ip address

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

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

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

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

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

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

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

  • Raspberry Pi 3 Model B
  • Подключение к локальной сети по Ethernet или Wi-Fi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

Уведомления о статьях. 0% рекламы.

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

Если посмотреть 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 в обоих интерфейсах подключения.

Я, чисто из спортивного интереса, включил оба интерфейса. Снаружи подключаюсь к малинке по 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 сеть поднятую моим роутером.

А по hostname -I какие IP выдаются? И меняется ли что-то, если отключить eth0?

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

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

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

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

Правильно. Тоже нормальный способ, только другой.

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

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

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

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

Источник

Setting a Static IP Address on a Raspberry Pi [With Screenshots]

If you followed our article on how to SSH to your Raspberry Pi so that you can control it over a network, you might be tired of having to run the commands to find out what its current IP address is on your network.

Most networks assign IP addresses dynamically, which means each device on the network is assigned an IP address from a pool of available IP addresses. The address for a specific device may change over time if it is rebooted or the address is automatically reassigned for some reason. This is called DHCPDynamic Host Configuration Protocol.

Giving your Raspberry Pi a static IP address on your network means that it will always have the same address for you to connect to.

This article assumes you are running Raspberry Pi OS.

Step 1 – SSH to Your Raspberry Pi (or Attach a Screen & Keyboard)

It’s highly recommended that you set a static IP address using a screen and keyboard just in case you make a mistake – you may not be able to reconnect if the network configuration isn’t valid.

Step 2 – Find Out Which Interface is Connected

Run the following in your terminal to see what interfaces are connected:

Which will output something that looks like this:

ip addr show

Here you can see the connected network interfaces. Each entry in the above output represents an interface – each entry taking the format

The interface named lo is the LOOPBACK interface, used for the computer to communicate with itself. It’ll always be there on most systems.

Below is the only other connected network interface wlan0, the wireless network connection on this Raspberry Pi. We can tell it is connected as it says UP in the block of information next to it!

If the wired ethernet connection were connected rather than the wireless, you’d see eth0 instead of wlan0. It’s possible but unlikely on a default installation of Raspberry Pi OS that your network interfaces will have different names than those shown here.

Step 3 – Finding your Network and Gateway

You will probably want to assign your Raspberry Pi an IP address on the network it’s already connected to. To do so, we will need to know what network addresses we should use to talk to other devices already there.

Finding the Network

This current IP address assigned to your Raspberry Pi is visible in the previous step’s output.

The IP address following inet will tell you the current IP. Yours will be different but will be for a local IP address range.

Finding the Gateway

For your Raspberry Pi to talk to the outside world, it will also need to know the address of your gateway – your internet modem/router. Run the following to do so:

This will output the current network routes configured on your system:

ip r show

We are interested in the default route on the first line. This tells us that by default, traffic is routed via 192.167.1.254 – now we know the gateway’s address.

Finding Your DNS Servers

You will also need to know what DNS servers you are currently using (if any) if you wish to access the internet. These can be found by running:

Which will output the contents of the resolv.conf file as generated by your system.

cat /etc/resolv.conf

Here you can see the default nameserver assigned is your router – 192.168.1.254.

Step 4 – Finding an Available IP Address

This step is dependent on the brand and configuration of the router you have.

When DHCP assigns an IP address automatically, your router will choose one from a range of IP addresses defined in its configuration. We should not assign the Raspberry Pi a static address that falls into that range, as otherwise, it may conflict if another device receives that address automatically.

You’ll have to check your router configuration or user manual to find out what this range is so that you can make sure you avoid using an address from it.

Step 5 – Assigning the IP Address to the Connected Interface

My network has a DHCP range of 192.168.100 to 192.168.200, from which addresses will be automatically assigned, so I will assign my Raspberry Pi the address:

This is to make sure that it doesn’t conflict with an existing IP (or the router’s IP address, which is 192.168.1.254).

Assigning a Static IP Address Temporarily

To assign a static IP address until the next reboot, just run:

Replacing 192.168.1.201 with the IP address you wish to assign and wlan0 with the interface’s name to assign it to.

Assigning a Static IP Address Permanently

The network configuration will need to be edited to assign an address permanently. Edit the relevant configuration file by running:

The configuration file(s) which you will need to edit will differ depending on your Linux distribution – this method is tested on Raspberry Pi OS in its default state

Add the following lines to the end of the file:

  • Lines beginning with # are comments and are not read as configuration entries
  • interface is the name of the connected interface and tells the configuration that the configuration lines following it will be applied to that interface – for this example, it is wlan0
  • static ip_address is the static IP address you wish to assign to this interface – 192.168.1.201 in this case
  • static routers is the IP address of the gateway/router on your network. 192.168.1.254 is the IP address of the router for this example.
  • static domain_name_servers are the DNS servers we wish to use for this network. As seen above, mine is 192.168.1.254 as my router acts as the DNS server. I’ve added a second DNS server separated from the first by a single space. 8.8.8.8 is Google’s DNS server, which will act as a second/fallback DNS server.

To apply these changes, save the document by pressing CTRL + X and pressing Y to save. Then, reboot.

Your Raspberry Pi now has a Static IP!

Источник

How to give your Raspberry Pi a Static IP Address — UPDATE

This tutorial will show you how to set a static IP address on your Raspberry Pi with the release of Raspbian Jessie. At the time of writing, the latest release date of Raspbian Jessie is 18-03-2016 with Kernal version 4.1 (but this should work on most versions).

We recommend doing this on a fresh install, however if you have attempted to set a static IP address already, you may have found yourself editing the interfaces file (/etc/network/interfaces). I hope you made a backup, because you’ll need to remove any edits you have made, and revert it back to its original state!

The following is done over SSH, but you could just as well plug your Pi into a monitor, hook up a keyboard and mouse, and use the Terminal instead.

Start by editing the dhcpcd.conf file

sudo nano /etc/dhcpcd.conf

Scroll all the way to the bottom of the file and add one, or both of the following snippets. Depending on whether you want to set a static IP address for a wired connection or a wireless connection eth0 = wired, wlan0 = wireless.

You’ll need to edit the numbers in the snippet so they match your network configuration.

static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

static ip_address=192.168.0.200/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

interface = This defines which network interface you are setting the configuration for.
static ip_address = This is the IP address that you want to set your device to. (Make sure you leave the /24 at the end)
static routers = This is the IP address of your gateway (probably the IP address or your router)
static domain_name_servers = This is the IP address of your DNS (probably the IP address of your router). You can add multiple IP addresses here separated with a single space.

To exit the editor, press ctrl+x
To save your changes press the letter “Y” then hit enter

Now all you need to do is reboot, and everything should be set!

Источник

Adblock
detector