Как настроить сетевой /WiFi /статический IP-адрес?

Я выполнил (любой из сотен) учебник, и он не работает.

Как настроить сетевой /WiFi /статический IP-адрес на Малиновой Pi?


(Это Дороти Диксер, надеюсь, поймает сотни подобных вопросов.)

131 голос | спросил Milliways 5 42015vEurope/Moscow11bEurope/MoscowThu, 05 Nov 2015 10:29:23 +0300 2015, 10:29:23

5 ответов


197

Этот учебник относится к выпускам Foundation Raspbian Stretch , Raspbian Jessie и последнему Raspbian Wheezy 2015-05-05 (больше не имеется).

Если это ваша первая попытка, и вы хотите, чтобы просто простая настройка переходила прямо к Как настроить Raspbian Networking ниже и пропустить технические проблемы.

  

Выпуск Stretch требует нескольких изменений.

     

Одно изменение заключается в /etc/network/interfaces, а имена по умолчанию сетевого интерфейса изменены.

Предсказуемые имена сетевого интерфейса

Stretch вводит 1 предсказуемые имена сетевых интерфейсов , которые использовались в других дистрибутивах в течение некоторого времени.

Сетевые интерфейсы будут иметь имена, образованные из префикса en - Ethernet или wl - wlan, за которым следует x, обозначающий MAC и MAC, например enxb827eb123456 или wlx00c140123456. Однако встроенный WiFi Pi3 и PIZeroW, подключенный через sdio, будет использовать имя wlan0

Это может быть полезно для тех, кто использует несколько сетевых интерфейсов, однако для большинства пользователей Pi, с одним интерфейсом Ethernet и WiFi, мало что изменится. Предыдущие имена eth0 и wlan0 могут быть восстановлены, если вы передадите net.ifnames=0 в командной строке ядра в /boot/cmdline.txt.

1. По какой-то непонятной причине Фонд решил «отключить предсказуемые имена сетевых интерфейсов для устройств Ethernet» всего через 3 недели после введения долгожданной функции. Для переключения этого параметра в Advanced Options из raspi-config есть опция - для этого требуется обновленная версия raspi-config.


Как настроить сеть Raspbian

  

Если вы используете соединение Ethernet с маршрутизатором, настройка не требуется, и она должна работать из коробки.

     

ПРИМЕЧАНИЕ. Pi3 /Pi Zero W inbuilt WiFi не поддерживает сети 5 ГГц и может не подключаться к Ch 12,13 в сетях 2,4 ГГц до тех пор, пока беспроводной нормативный домен не будет набор.

     

WiFi отключен до тех пор, пока не будет установлен беспроводной нормативный домен (только Pi 3 B +)

  • Домен может быть настроен через Raspberry Pi Configuration (rc_gui), raspi-config или путем установки country= в соответствующий ISO 3166 код страны α2 в /etc/wpa_supplicant/wpa_supplicant.conf.

Если вы используете Wi-Fi и GUI , настроив его, следуя Основополагающие принципы

Если вы используете WiFi из командной строки , указав Основополагающие принципы Это единственный способ настроить сеть, которая не передает SSID.

Это также можно использовать для настройки системы «Без головы», например. используя последовательный кабель консоли, но это намного проще, если вы можете взять монитор и клавиатуру для настройки. См. Ниже другой возможный метод с использованием кабеля Ethernet на ПК.

Настройка WiFi в безгласной Raspbian

Raspbian , с мая 2016 года проверяет содержимое загрузочного каталога для файла с именем wpa_supplicant.conf и скопируем файл в /etc/wpa_supplicant, заменив любой существующий файл wpa_supplicant.conf, который может быть там. Затем файл в загрузочном каталоге удаляется. Это можно использовать для настройки безглавых настроек, используя настройки wpa_supplicant.conf, подробно описанные ниже. (Возможно, вы захотите включить ssh).

Что такое мой IP-адрес?

Если вы просто хотите узнать IP-адрес IP Address, ваш Pi использует в командной строке команду hostname -I.

SSH

  

По состоянию на ноябрь 2016 года, Raspbian отключил SSH-сервер по умолчанию. Вам нужно включить его вручную.

Введите sudo raspi-config в терминал, сначала выберите advanced options, затем перейдите к ssh, нажмите Enter code> и выберите Включить или отключить ssh-сервер.

Для безгласной настройки SSH можно включить, поместив файл с именем 'ssh' без какого-либо расширения в загрузочный раздел SDкарта.

Сетевые файлы

  

Если вы используете недавний Raspbian /etc/network/interfaces, он должен быть следующим. Если вы изменили его, нажмите кнопку «ВЕРНУТЬСЯ НАЗАД». (или на Stretch просто удалите его ), он ничего не делает НИЧЕГО.)

# 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

Stretch включает в себя 10-wpa_supplicant, поэтому ссылки на wpa_supplicant не нужны. Более старые настройки несовместимы с предсказуемыми именами сетевого интерфейса.

/etc/network/interfaces, используемый Jessie , должен быть: -

# 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 manual

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

allow-hotplug wlan1
iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Файл /etc/wpa_supplicant/wpa_supplicant.conf будет создан /изменен рекомендованными способами настройки, но может быть настроен вручную. В недавнем Raspbian есть опция в raspi-config для ввода SSID и пароля. Он должен содержать примерно следующее: -

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=AU

network={
    ssid="ESSID"
    psk="Your_wifi_password"
}

Если вам нужно подключиться к частной сети (т. е. нет широковещательного SSID) , укажите строку scan_ssid=1 внутри network={⋯}

  

ПРИМЕЧАНИЕ. Если вы хотите подключиться к различным сетям (например, на работе или дома), вы можете включить несколько записей network={⋯}

     

Если у вас есть доступ к нескольким сетям и вы хотите подключиться к определенной сети, включите строку priority=100 внутри записи network={⋯}

Существует множество других опций, которые можно использовать в разделе man wpa_supplicant.conf.

Дополнительно dhcpcd Конфигурация

Raspbian по умолчанию использует dhcpcd для управления сетевыми интерфейсами. Это автоматически, и большинству пользователей требуется не больше, чем указать SSID и пароль для беспроводных сетей.

Можно настроить способ работы dhcpcd; см. man dhcpcd.conf. Существует хорошая статья о dhcpcd в https: //wiki.archlinux. орг /index.php /DHCPcd

Ниже описываются некоторые из наиболее распространенных конфигураций: -

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

См. отдельный ответ Статический IP-адрес

Резервный профиль

Можно настроить статический профиль в dhcpcd и вернуться к нему, когда сбой DHCP-аренды. Это особенно полезно для безголовых машин, где статический профиль может использоваться как профиль «восстановления», чтобы обеспечить всегда возможность подключения к машине. Статический профиль настраивается как любой другой статический IP-адрес

# define static profile
profile static_eth0
static ip_address=⋯
static routers=⋯
static domain_name_servers=⋯

# fallback to static profile on eth0
interface eth0
fallback static_eth0

Предотвратить dhcpcd от настройки интерфейса

Это часто делается, чтобы позволить Pi действовать как точка доступа (который необходимо настроить с помощью других файлов), при этом разрешая нормальную конфигурацию DHCP на других интерфейсах.

Добавьте denyinterfaces wlan0 в конец файла (но над любыми другими добавленными интерфейсами).

Используйте различные файлы wpa_supplicant

Можно настроить dhcpcd для использования разных файлов wpa_supplicant.conf для определенного беспроводного интерфейса.

Создайте файл с именем wpa_supplicant-"$interface".conf в /etc/wpa_supplicant/ например. wpa_supplicant-wlan0.conf будет использоваться только wlan0

/etc/wpa_supplicant/wpa_supplicant.conf будет использоваться для любой другой беспроводнойинтерфейсы.

Подключение компьютера к Pi

Последние версии Raspbian (которые используют dhcpcd) позволяют ssh работать над адресом link-local и avahi code> (который представляет собой реализацию zeroconf) позволяет программам обнаруживать хосты, запущенные в локальной сети.

Это означает, что вы можете подключить Pi к компьютеру (с кабелем Ethernet) или к локальному сетевому маршрутизатору и подключиться, не зная IP-адрес.

Вы можете легко подключиться из Linux и OS X с помощью ssh [email protected] (по умолчанию имя хоста raspberrypi). Это должно работать с популярным графическим интерфейсом ssh. Это иногда проблематично для некоторых версий Windows и сетей, которые используют .local нестандартным образом. (См. https://en.wikipedia.org/wiki/.local )

ПРИМЕЧАНИЕ. .local разрешение не всегда работает, например. в rsync. Следующее должно разрешить IP (и может быть включено в сценарии bash)
RemotePi=$(getent hosts hostname.local | awk '{ print $1 }')

Если ваша система не имеет getent для запроса hosts, например. macOS вы можете использовать следующее: -
RemotePi=$(arp -n hostname.local | awk '{x = $2; gsub(/[()]/, "", x); print x }')

Если у вас несколько Pi, вам нужно убедиться, что у каждого Pi есть уникальное имя хоста.

Вы можете использовать кроссоверный кабель, но вам не нужен он (большинство современных интерфейсов автоматически обнаруживаются).

Один из недостатков прямого подключения заключается в том, что у Pi не будет доступа к Интернету, и дата не будет установлена. Вы можете скопировать дату с хоста, выполнив ssh [email protected] sudo date -s $ (date -Ins) перед подключением.

Область применения:

  

В этом руководстве рассказывается о настройке обычной установки Raspbian для доступа в Интернет с помощью прилагаемого программного обеспечения. Он также охватывает подключения к другим компьютерам в одной сети.

     

Он направлен прежде всего на то, чтобы помочь новым пользователям изо всех сил пытаться заставить их работать с Pi (особенно WiFi).

     

Он НЕ охватывает: -

     
    
  • Другие сетевые менеджеры.
  •     
  • Запуск расширенной сети на серверах Pi (например, ssh [email protected] sudo date -s$(date -Ins), Tunneling, VPN, Access Point).
  •     
  • Использование DHCP (хотя, если у вас есть сеть ipv6, это должно работать).
  •     
  • Альтернативные сетевые настройки. (Существует множество способов настройки сети.)
  •     
ответил Milliways 5 42015vEurope/Moscow11bEurope/MoscowThu, 05 Nov 2015 10:30:48 +0300 2015, 10:30:48
22

Для статического IP-адреса в Ethernet-соединении:

  1. sudo nano /etc/dhcpcd.conf
  2. Введите следующие строки в верхней части файла:

    interface eth0
    static ip_address=192.168.1.XX/24
    static routers=192.168.1.1
    static domain_name_servers=192.168.1.1
    
  3. sudo reboot

Это нужно сделать для недавнего обновления Jessie. /etc/network/interfaces следует оставить в покое . Откройте браузер и введите адрес маршрутизатора (192.168.1.1 для большинства) и проверьте свою домашнюю сеть, чтобы убедиться, что малина Pi отображается как «Статический».

ответил Danica Panica 11 FriEurope/Moscow2015-12-11T16:38:26+03:00Europe/Moscow12bEurope/MoscowFri, 11 Dec 2015 16:38:26 +0300 2015, 16:38:26
21

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

Вопросы об установке Статического IP-адреса относятся к числу наиболее распространенных на этом сайте. Существует очень много учебников (много неправильных, устаревших или неполных).

  

Отказ

     

Прежде чем продолжить, я чувствую себя обязанным заявить, что настройка статического адреса НЕ рекомендуется. Инженеры по телекоммуникациям этого не делают. Статические IP-адреса могут быть провалом жизни сетевого администратора. Существуют ситуации, когда статические IP-адреса необходимы, например. если вы используете DHCP-сервер или работаете в изолированной сети без DHCP-сервера.

Если вы намерены действовать в любом случае, вы должны убедиться, что все правильно. Адаптировано из Учебное пособие по основам сети

Найдите настройки локальной сети

Это проще всего сделать с самим Pi, используя DHCP, но может быть сделано на любом компьютере в вашей сети, хотя команды могут отличаться в других системах.

Run

ip -4 addr show | grep global

, который должен давать вывод, например:

inet 10.1.1.30/24 brd 10.1.1.255 scope global eth0
inet 10.1.1.31/24 brd 10.1.1.255 scope global wlan0

Первый адрес - это IP-адрес вашего Pi в сети, а часть после косой черты - размер сети. Очень вероятно, что ваш будет /24.

Второй адрес - это адрес беспроводной сети (широковещательный).

Найдите адрес вашего маршрутизатора (или шлюза)

ip route | grep default | awk '{print $3}'

10.1.1.1

Наконец, запишите адрес вашего DNS-сервера, который часто совпадает с вашим шлюзом.

cat /etc/resolv.conf

# Generated by resolvconf
nameserver 10.1.1.1

Затем следуйте ONE следующих параметров. (Существуют другие методы, не описанные здесь: они наиболее распространены в Raspbian.) ( В любом из методов замените соответствующее имя сетевого интерфейса для eth0, wlan0 или предсказуемый сетевой интерфейс имена . )

Если вы хотите найти имена интерфейсов, даже если они не подключены, выполните следующую команду ls /sys/class/net/

метод dhcpcd

Оставьте /etc/network/interfaces по умолчанию (как указано выше).

Измените /etc/dhcpcd.conf следующим образом: -

 Here is an example which configures a static address, routes and dns.
       interface eth0
       static ip_address=10.1.1.30/24
       static routers=10.1.1.1
       static domain_name_servers=10.1.1.1

       interface wlan0
       static ip_address=10.1.1.31/24
       static routers=10.1.1.1
       static domain_name_servers=10.1.1.1

ip_address - это адрес и размер из вышеприведенной команды (или другого неиспользуемого адреса в той же сети), routers - это адрес вашего маршрутизатора (или шлюза). domain_name_servers - это DNS-адрес (ы) из /etc/resolv.conf. (см. man dhcpcd.conf)

Существует хорошая статья о dhcpcd в https: //wiki.archlinux.org/index.php/dhcpcd Fallback profile является альтернативой статическому IP

Метод сетевых интерфейсов

Настройте статический сетевой аддокс на вашем Pi в /etc/network/interfaces

auto eth0
iface eth0 inet static
        address 10.1.1.30
        netmask 255.255.255.0
        gateway 10.1.1.1

allow-hotplug wlan0
iface wlan0 inet static
        address 10.1.1.31
        netmask 255.255.255.0
        gateway 10.1.1.1
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

address - это адрес из вышеприведенной команды (или другой неиспользуемый адрес в той же сети), netmask 255.255.255.0 соответствует размеру сети /24. gateway - это адрес вашего маршрутизатора (или шлюза).

Вы также можете указать dns-nameservers, но это обычно не требуется. broadcast автоматически выводится из address и netmask, и его не нужно указывать. Подробнее см. https://wiki.debian.org/NetworkConfiguration

Вы можете установить либо или оба eth0, wlan0, либо один из предсказуемые имена сетевого интерфейса

Затем отключить демона клиента DHCP и перейти на стандартныйСеть Debian :

sudo systemctl disable dhcpcd
sudo systemctl enable networking

Перезагрузите, чтобы изменения вступили в силу:

sudo reboot
ответил Milliways 29 +03002017-10-29T02:34:51+03:00312017bEurope/MoscowSun, 29 Oct 2017 02:34:51 +0300 2017, 02:34:51
5

Короткий и надежный способ, как это сделать:

Raspbian Jessie

Это установит фиксированный IP-адрес и включит демон ssh.

  • Откройте /boot/cmdline.txt и добавьте ip=192.168.1.20 в конец строки.
  • Создать пустой файл /boot/ssh
  • Загрузите свою малину Pi
  • В Linux start ssh [email protected] пароль raspberry. Используйте Putty в Windows для подключения через ssh.

Я использую для доступа к моей Raspbian Jessie, которая загружается без подключенного монитора, только с питанием и ethernet. После доступа к нему с помощью оболочки ssh я могу продолжить настройку.

Теперь у вашей малины Pi будут два IP-адреса: один из фиксированного IP-адреса, который вы указали, и один из dhcp-клиента, работающего на малине Pi.

ответил MadMike 18 AM00000090000002431 2017, 09:19:24
0

Первое, что вам нужно сделать, это сделать ваш IP-адрес вашей малины pi статическим. Так что всякий раз, когда вы активируете свой малиновый pi, он должен подключиться к вашей точке доступа (Hotspot).

Подключитесь к точке доступа. Введите ifconfig в терминал малины pi и введите этот IP-адрес ниже, в моем случае это было 192.168.43.233

Начните с редактирования файла dhcpcd.conf

sudo nano /etc/dhcpcd.conf

Прокрутите до конца и добавьте эти строки в конец в соответствии с вашим соединением (проводным или беспроводным).

interface eth0

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


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

Нажмите Ctrl + x, чтобы сохранить и перезагрузить компьютер. Теперь включите свой малиновый pi, и он автоматически подключится к вашей точке доступа.

ответил Smshrimant 6 J000000Friday18 2018, 20:45:51

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132