Я следовал (любой из сотен) учебник, и он не работает.
Как настроить сетевой / WiFi / статический IP-адрес на Raspberry Pi?
(Это Дороти Диксер, которая, надеюсь, поймает сотни подобных вопросов.)
Я следовал (любой из сотен) учебник, и он не работает.
Как настроить сетевой / WiFi / статический IP-адрес на Raspberry Pi?
(Это Дороти Диксер, которая, надеюсь, поймает сотни подобных вопросов.)
В этом руководстве описывается настройка сети с помощью менеджера сети по умолчанию Dhcpcd включены в Raspbian поскольку 2015-05-05.
Это относится к выпускам Фонда Raspbian Buster , Raspbian Stretch , Raspbian Jessie и последней Raspbian Wheezy .
Настройки Buster идентичны настройкам Stretch.
Если вы используете соединение Ethernet с маршрутизатором, конфигурация не требуется, и она должна работать «из коробки».
ПРИМЕЧАНИЕ Встроенный WiFi Pi3 / Pi Zero W не поддерживает сети 5 ГГц и может не подключаться к каналу 12,13 в сетях 2,4 ГГц до тех пор, пока не будет задан регуляторный домен беспроводной сети .
Wi-Fi на устройствах с поддержкой 5 ГГц отключается до тех пор, пока не будет установлен беспроводной регуляторный домен (Pi4B, Pi3B +, Pi3A +)
- Домен может быть установлен через
Raspberry Pi Configuration
(rc_gui)raspi-config
или путем установкиcountry=
соответствующего кода страны ISO 3166 alpha2 в/etc/wpa_supplicant/wpa_supplicant.conf
.
Если вы используете WiFi и GUI, настроенный в соответствии с Основными рекомендациями
Если вы используете WiFi из командной строки, настроенной в соответствии с Основными положениями,
это единственный способ настроить сеть, которая не передает SSID
.
Это также можно использовать для настройки системы без головы, например, с помощью последовательного консольного кабеля, но НАМНОГО проще, если вы можете одолжить монитор и клавиатуру для настройки. Ниже приведен другой возможный способ использования кабеля Ethernet к ПК.
Raspbian , начиная с мая 2016 года, проверяет содержимое загрузочного каталога на наличие вызываемого файла wpa_supplicant.conf
и копирует этот файл /etc/wpa_supplicant
, заменяя любой существующий wpa_supplicant.conf
файл, который может там находиться. Файл в каталоге загрузки удаляется. Это может быть использовано для включения безголовой настройки, используя wpa_supplicant.conf
настройки, подробно описанные ниже. (Возможно, вы также захотите включить ssh
.)
Если вы просто хотите узнать, что IP Address
ваш Pi использует, введите hostname -I
в командной строке.
Начиная с выпуска ноября 2016 года, Raspbian отключил SSH-сервер по умолчанию. Вам придется включить его вручную.
Войдите sudo raspi-config
в терминал, сначала выберите advanced options
, затем перейдите к ssh
, нажмите Enter
и выберите Включить или отключить ssh сервер.
Для автономной настройки SSH можно включить, поместив файл с именем ssh без расширения в загрузочный раздел SD-карты.
Если вы работаете с недавним Raspbian,
/etc/network/interfaces
должно быть, как показано ниже. Если вы изменили его, ВЕРНУТЬСЯ НАЗАД. (ИлиStretch
просто удалите это - это фактически НИЧЕГО не делает.)
Файл # interfaces (5), используемый ifup (8) и ifdown (8) # Обратите внимание, что этот файл написан для использования с dhcpcd # Для статического IP, обратитесь к /etc/dhcpcd.conf и 'man dhcpcd.conf' # Включить файлы из /etc/network/interfaces.d: исходный каталог /etc/network/interfaces.d
Файл /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={⋯}
записи.
Вы можете выбрать разные приоритеты для каждой сети, будет выбрана сеть с наивысшим приоритетом; по умолчанию 0.
Есть много других вариантов, которые можно использовать, см man wpa_supplicant.conf
.
Jessie не включает 10-wpa_supplicant
хук для управления интерфейсами WiFi, поэтому необходимы ссылки на 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
Примечание вызова DHCP в /etc/network/interfaces
будет отключен dhcpcd
.
Stretch
представил 1 предсказуемые имена сетевых интерфейсов, которые в течение некоторого времени использовались в других дистрибутивах.
Сетевые интерфейсы будут иметь имена, сформированные из префикса en
- Ethernet или wl
- wlan с последующим x
указанием MAC
и, MAC
например, enxb827eb123456
или wlx00c140123456
. Встроенный WiFi подключенных через Pi4, Pi3 и PIZeroW sdio
, однако, будет использовать названиеwlan0
Это может быть выгодно для тех, кто использует несколько сетевых интерфейсов, однако для большинства пользователей Pi единый интерфейс Ethernet и WiFi не будет иметь большого значения. Предыдущие имена eth0
и wlan0
могут быть восстановлены, если вы передаете net.ifnames=0
в командной строке ядра в /boot/cmdline.txt
.
Существует возможность raspi-config
включить предсказуемые имена сетевых интерфейсов.
1. По какой-то непонятной причине Фонд решил «Отключить предсказуемые имена сетевых интерфейсов для устройств Ethernet» только через 3 недели после введения долгожданной функции. Существует возможность при Advanced Options
от raspi-config
переключать эту настройку.
Смотрите отдельный ответ Статический IP-адрес
dhcpcd
настройкаRaspbian по умолчанию использует dhcpcd
для управления сетевыми интерфейсами. Это происходит автоматически, и большинству пользователей нужно только указать SSID и пароль для беспроводных сетей.
Можно настроить, как dhcpcd
работает, введя параметры в /etc/dhcpcd.conf
; см man dhcpcd.conf
.Есть хорошая статья о dhcpcd
в https://wiki.archlinux.org/index.php/dhcpcd
Ниже описаны некоторые из наиболее распространенных конфигураций:
Можно настроить статический профиль внутри dhcpcd
и использовать его при сбое аренды DHCP. Это особенно полезно для безголовых машин, где статический профиль можно использовать как профиль «восстановления», чтобы всегда было возможно подключиться к машине. Статический профиль настраивается как любой другой статический IP-адрес
# определить статический профиль профиль статический ip_address = ⋯ статические маршрутизаторы = ⋯ статический domain_name_servers = = # откат к статическому профилю на eth0 интерфейс eth0 отступление static_eth0
dhcpcd
настройку интерфейсаЭто часто делается для того, чтобы позволить Pi действовать в качестве точки доступа (которую необходимо настроить с использованием других файлов), в то же время разрешая нормальную DHCP
настройку на других интерфейсах.
Добавьте denyinterfaces wlan0
в конец файла (но выше любых других добавленных строк интерфейса).
dhcpcd
настройку шлюза на интерфейсеЕсли вы хотите, чтобы интерфейс не устанавливал маршруты по умолчанию (часто используется вместе со статическим IP-адресом), укажите
nogateway
dhcpcd
Можно настроить интерфейсы в зависимости от сети хоста. При этом используется протокол разрешения адресов (ARP) для проверки хостов на основе MAC-адресов или IP-адресов перед попыткой разрешения DHCP.
интерфейс bge0 арпинг 192.168.0.1 # Моя конкретная сеть 192.168.0.1 профиль дд: э: аа: дд: бб: э статический ip_address = 192.168.0.10 / 24 # Общая сеть 192.168.0.1 профиль 192.168.0.1 статический ip_address = 192.168.0.98 / 24
Вы можете ускорить DHCP, отключив зондирование ARP, если вы не используете эти функции и используете простую сеть.
noarp
Можно настроить dhcpcd на использование разных файлов wpa_supplicant.conf для определенного беспроводного интерфейса.
Создайте файл с именем wpa_supplicant-"$interface".conf
в , /etc/wpa_supplicant/
например , wpa_supplicant-wlan0.conf
будет использоваться толькоwlan0
/etc/wpa_supplicant/wpa_supplicant.conf
будет использоваться для любых других беспроводных интерфейсов.
Последние версии Raspbian (которые используют dhcpcd
) позволяют ssh
работать над link-local
адресом и avahi
(что является реализацией zeroconf) позволяют программам обнаруживать узлы, работающие в локальной сети.
Это означает, что вы можете подключить Pi к компьютеру (с помощью кабеля Ethernet) или к локальному сетевому маршрутизатору и подключаться, не зная IP-адрес.
Вы можете легко подключиться из Linux и OS X с ssh pi@hostname.local
(имя хоста по умолчанию 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 pi@hostname.local sudo date -s$(date -Ins)
перед подключением.
Это руководство посвящено настройке обычной установки Raspbian для доступа в Интернет с помощью прилагаемого программного обеспечения. Он также охватывает подключения к другим компьютерам в той же сети.
Он в первую очередь направлен на то, чтобы помочь новым пользователям, пытающимся заставить работать свой Pi (особенно WiFi).
Это НЕ охватывает: -
- Другие сетевые менеджеры.
- Запуск расширенных сетей на Pi (например,
DHCP
серверы, туннелирование, VPN, точка доступа).- Использование
ipv6
(хотя, если у вас естьipv6
сеть, это должно работать).- Альтернативные сетевые настройки. (Существует много разных способов настройки сети.)
routers
иdomain_name_servers
линии не являются обязательными , если вы не хотите , чтобы настроить маршрутизацию через этот интерфейс.Настройте статический IP-адрес
Вопросы по настройке статического IP-адреса являются одними из самых распространенных на этом сайте. Есть очень много учебных пособий (много неправильных, устаревших или неполных).
Если вы полны решимости продолжить, вам следует убедиться, что вы правильно поняли. Адаптировано из Основы сети Учебник
Найти настройки вашей локальной сети
Это проще всего сделать с помощью самого Pi, используя DHCP, но это можно сделать на любом компьютере в сети, хотя команды могут отличаться в других системах.
Бегать
который должен дать вывод как:
Первый адрес - это IP-адрес вашего Pi в сети, а часть после косой черты - это размер сети. Весьма вероятно, что у вас будет / 24.
Второй адрес - это brd (широковещательный) адрес сети.
Найдите адрес вашего роутера (или шлюза)
Наконец запишите адрес вашего DNS-сервера, который часто совпадает с вашим шлюзом.
Затем выполните ОДИН из следующих методов. (Существуют и другие методы не документированы. Они являются наиболее распространенными на Raspbian.) ( В любом методе заменить соответствующее имя сетевого интерфейса для
eth0
,wlan0
или предсказуемые имена сетевых интерфейсов . )Если вы хотите найти имена интерфейсов, даже если они не подключены, выполните следующую команду
ls /sys/class/net/
метод dhcpcd
Оставьте
/etc/network/interfaces
по умолчанию (как указано выше).Изменить
/etc/dhcpcd.conf
следующим образом:ip_address
это адрес и размер из приведенной выше команды (или другой неиспользуемый адрес в той же сети),routers
это адрес вашего маршрутизатора (или шлюза).domain_name_servers
это DNS-адрес (а) из /etc/resolv.conf. (см.man dhcpcd.conf
)Существует хорошая статья о
dhcpcd
в https://wiki.archlinux.org/index.php/dhcpcdFallback profile
является альтернативой статическим IPМетод сетевых интерфейсов
Настройте статический сетевой адрес на своем Pi в
/etc/network/interfaces
address
это адрес из вышеприведенной команды (или другой неиспользуемый адрес в той же сети),netmask
255.255.255.0 соответствует размеру сети/24
.gateway
это адрес вашего роутера (или шлюза).Вы также можете указать
dns-nameservers
, но это, как правило, не обязательно.broadcast
Автоматически происходит отaddress
иnetmask
и не должны быть указаны. Для получения более подробной информации см. Https://wiki.debian.org/NetworkConfiguration.Вы можете установить одно или оба
eth0
,wlan0
либо одно из предсказуемых имен сетевых интерфейсов.Затем отключите демон DHCP-клиента и переключитесь на стандартную сеть Debian :
Перезагрузитесь, чтобы изменения вступили в силу:
источник
systemd-analyze
.static domain_search=example.local
в метод dhcpcd.conf. Не стесняйтесь вернуться / редактировать / связаться со мной.Для статического IP-адреса в соединении Ethernet:
sudo nano /etc/dhcpcd.conf
Введите следующие строки в верхней части файла:
sudo reboot
Это должно быть сделано для недавнего обновления Джесси.
/etc/network/interfaces
должен быть оставлен в покое . Откройте браузер и введите адрес своего маршрутизатора (для большинства 192.168.1.1) и проверьте свою домашнюю сеть, чтобы убедиться, что Raspberry Pi отображается как «Статический».источник
dhcpcd
вывело маску сети, чего не может быть для других диапазонов адресов. Читайтеman
страницы.auto eth0
выше . Перезапустите сеть с помощью командыiface eth0 inet manual
/etc/network/interface
sudo service networking restart
Краткий и надежный метод, как это сделать с помощью:
Распби Джесси и Стретч
Это установит фиксированный IP-адрес и включит демон ssh:
/boot/cmdline.txt
и добавьтеip=192.168.1.20
в конец строки./boot/ssh
ssh pi@192.168.1.20
пароль естьraspberry
. Используйте Putty на Windows для подключения через ssh.Я использую это для доступа к моей Raspbian Jessie and Stretch, которая загружается без подключенного монитора, только с питанием и Ethernet. После доступа к нему с помощью оболочки ssh я могу продолжить настройку.
После этой процедуры Raspberry PI имел два IP-адреса: один из указанных вами фиксированных IP-адресов и один из dhcp-клиента, работающего на Raspberry Pi.
ifconfig
покажет вам фиксированный IP. Принимая во внимание, что синяя стрелка-иконка в правом верхнем углу показывает dhcpd-IP.источник
Первое, что вы должны сделать, это сделать IP-адрес вашего Raspberry pi статическим. Так что всякий раз, когда вы включаете Raspberry Pi, он должен подключаться к вашей точке доступа (Hotspot).
Подключитесь к своей точке доступа. Введите ifconfig в терминале Raspberry Pi и введите этот IP-адрес ниже, в моем случае это был 192.168.43.233
Начните с редактирования файла dhcpcd.conf
Прокрутите весь путь до конца и добавьте эти строки в конце в соответствии с вашим подключением (проводным или беспроводным).
Нажмите Ctrl + x для сохранения и перезагрузки. Теперь включите ваш Raspberry Pi, и он автоматически подключится к вашей точке доступа.
источник