Відповіді:
У цьому підручнику описано, як налаштувати мережу за допомогою мережевого менеджера dhcpcd за замовчуванням, включеного в Raspbian з 2015-05-05.
Це стосується випусків програми Raspbian Buster , Raspbian Stretch , Raspbian Jessie та останнього Raspbian Wheezy .
Налаштування Buster ідентичні Stretch.
Якщо ви використовуєте Ethernet- з'єднання з маршрутизатором, конфігурація не повинна бути потрібною, і він повинен працювати поза коробкою.
ПРИМІТКА Вбудований WiFi Pi3 / Pi Zero W не підтримує мережі 5 ГГц і може не підключатися до Ch 12,13 в мережах 2,4 ГГц, поки не буде встановлено бездротовий регуляторний домен .
WiFi на пристроях із підтримкою 5 ГГц відключений, поки не буде встановлено бездротовий регуляторний домен (Pi4B, Pi3B +, Pi3A +)
- Домен можна встановити через
Raspberry Pi Configuration
(rc_gui)raspi-config
або встановившиcountry=
відповідний код країни alfa2 ISO 3166 у/etc/wpa_supplicant/wpa_supplicant.conf
.
Якщо ви користуєтесь WiFi та налаштованим графічним інтерфейсом , дотримуючись Правил фонду
Якщо ви використовуєте WiFi з командного рядка, встановленого, дотримуючись Правил основи.
Це єдиний спосіб налаштувати мережу, яка не транслює SSID
.
Це також можна використовувати для налаштування системи "Без голови", наприклад, за допомогою кабелю послідовної консолі, але це набагато простіше, якщо ви можете позичити монітор та клавіатуру для налаштування. Нижче див. Інший можливий метод використання кабелю Ethernet до ПК.
Raspbian , починаючи з травня 2016 року, перевіряє вміст завантажувального каталогу на файл, який називається wpa_supplicant.conf
, і копіює файл /etc/wpa_supplicant
, замінюючи будь-який існуючий wpa_supplicant.conf
файл, який може бути там. Файл у завантажувальному каталозі видаляється. Це можна використовувати для включення безголових налаштувань, використовуючи wpa_supplicant.conf
налаштування, описані нижче. (Ви, ймовірно, захочете також включити ssh
.)
Якщо ви просто хочете знати, що IP Address
ваш Pi використовується "Enter" hostname -I
у командному рядку.
Станом на листопад 2016 року в Raspbian за замовчуванням відключений сервер SSH. Це потрібно буде ввімкнути вручну.
Увійдіть sudo raspi-config
у термінал, спочатку виберіть advanced options
, потім перейдіть до ssh
, натисніть Enter
та виберіть Увімкнути або вимкнути ssh-сервер.
Для безголівкових налаштувань SSH можна ввімкнути, розмістивши на завантажувальному розділі SD-карти файл з назвою "ssh" без будь-якого розширення.
Якщо ви працюєте з недавньою програмою Raspbian,
/etc/network/interfaces
слід, як показано нижче. Якщо ви змінили його, ВИДАЙТЕ НАЗАД. (АбоStretch
просто видаліть - це ефективно НІЧОГО.)
# інтерфейси (5) файл, який використовується ifup (8) та ifdown (8) # Зверніть увагу, що цей файл написаний для використання з dhcpcd # Для статичного IP-адреси зверніться /etc/dhcpcd.conf та "man dhcpcd.conf" # Включити файли з /etc/network/interfaces.d: source-directory /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
.
Джессі не включає 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-адресу
# визначити статичний профіль профіль static_eth0 статичний ip_address = ⋯ статичні маршрутизатори = ⋯ static domain_name_servers = ⋯ # повернення до статичного профілю на eth0 інтерфейс eth0 резервний static_eth0
dhcpcd
налаштування інтерфейсуЦе часто робиться для того, щоб Pi могла діяти як точка доступу (яку потрібно налаштувати за допомогою інших файлів), дозволяючи нормальну DHCP
конфігурацію на інших інтерфейсах.
Додайте denyinterfaces wlan0
до кінця файлу (але вище будь-яких інших доданих рядків інтерфейсу).
dhcpcd
налаштовувати шлюз на інтерфейсіЯкщо ви хочете, щоб інтерфейс не встановлював маршрути за замовчуванням (часто використовуються разом зі статичною IP-адресою), вкажіть
нігтейвей
dhcpcd
може налаштувати інтерфейси залежно від приймаючої мережі. Для використання протоколу Resolution Address (ARP) для зондування хостів на основі MAC або IP-адреси, перш ніж намагатися вирішити DHCP.
інтерфейс bge0 arping 192.168.0.1 # Моя конкретна мережа 192.168.0.1 профіль dd: ee: aa: dd: bb: ee статичний ip_address = 192.168.0.10 / 24 # Загальна мережа 192.168.0.1 профіль 192.168.0.1 статична ip_address = 192.168.0.98 / 24
Ви можете пришвидшити DHCP, відключивши зондування ARP, якщо ви не використовуєте ці функції та маєте просту мережу.
ноарп
Можна налаштувати 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
(що є нульовою реалізацією) дозволяє програмам виявляти хостів, що працюють в локальній мережі.
Це означає, що ви можете підключити Pi до комп'ютера (за допомогою кабелю Ethernet) або маршрутизатора локальної мережі та підключитися, не знаючи IP-адреси.
Ви можете легко підключитися з Linux та OS X за допомогою ssh pi@hostname.local
(ім'я хоста за замовчуванням raspberrypi
). Це повинно працювати з популярними ssh
програмами GUI . Іноді це проблематично для деяких версій 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
сервери, Tunneling, VPN, точка доступу).- Використання
ipv6
(хоча якщо у вас єipv6
мережа, це має працювати).- Чергові налаштування мереж. (Існує багато різних способів налаштування мереж.)
Питання щодо встановлення статичної IP-адреси є одними з найпоширеніших на цьому сайті. Підручників дуже багато (багато неправильних, застарілих чи неповних).
Відмова від відповідальності
Перш ніж продовжувати, я відчуваю обов'язок заявити, що налаштування статичної адреси НЕ рекомендується. Інженери телекомунікацій цього не роблять. Статичні адреси IP можуть бути основою життя адміністратора мережі. Існують ситуації, коли статичні адреси IP необхідні, наприклад, якщо ви використовуєте DHCP-сервер або працюєте в ізольованій мережі без DHCP-сервера.
Якщо ви вирішили все-таки продовжувати, то переконайтесь, що ви все правильно. Адаптовано з Підручника мережі Фонду
Це найпростіше зробити з самим Pi, використовуючи DHCP, але це можна зробити на будь-якому комп’ютері вашої мережі, хоча команди можуть відрізнятися в інших системах.
Біжи
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 в мережі, а частина після косої риски - розмір мережі. Велика ймовірність, що ваш буде a / 24.
Друга адреса - це brd (широкомовна) адреса мережі.
Знайдіть адресу маршрутизатора (або шлюзу)
ip route | grep default | awk '{print $3}'
10.1.1.1
Нарешті запишіть адресу вашого DNS-сервера, яка часто збігається з вашим шлюзом.
cat /etc/resolv.conf
# Generated by resolvconf
nameserver 10.1.1.1
Потім виконайте ОДИН із наведених нижче методів. (Існують і інші методи не задокументовані. Вони є найбільш поширеними на Raspbian.) ( В будь-якому методі замінити відповідне ім'я мережевого інтерфейсу для eth0
, wlan0
або передбачувані імена мережевих інтерфейсів . )
Якщо ви хочете знайти імена інтерфейсу, навіть якщо вони не підключені, запустіть наступну команду ls /sys/class/net/
В обох методах слід вибирати IP-адреси, які не використовуються; в ідеалі поза діапазоном, який використовується вашим сервером DHCP, у межах тієї ж підмережі.
Залиште /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/dhcpcdFallback profile
є альтернативою статичним IP
ПРИМІТКА Цей метод НЕ рекомендується (і працює лише якщо ви вимкнете демон клієнта DHCP), особливо якщо ви плануєте використовувати обидва інтерфейси.
Налаштуйте статичну мережеву адресу на своєму Pi in /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
systemd-analyze
.
static domain_search=example.local
метод dhcpcd.conf. Не соромтесь повернути / редагувати / зв’язатися зі мною.
Для статичної IP-адреси на Ethernet-з'єднанні:
sudo nano /etc/dhcpcd.conf
Введіть наступні рядки у верхній частині файлу:
interface eth0
static ip_address=192.168.1.XX/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
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 та Stretch, які завантажуються без підключеного монітора, лише з живленням та мережею. Після доступу до нього з оболонкою ssh я можу продовжити налаштування.
Після цього лікування Raspberry PI мав два IP-адреси: один із вказаного вами фіксованого IP-адреси та один від dhcp-клієнта, який працює на Raspberry Pi.
ifconfig
покаже вам фіксований IP. Тоді як синя стрілка-значок у верхньому правому куті показує dhcpd-IP.
Перше, що вам потрібно зробити, це зробити IP вашого Raspberry pi статичним. Таким чином, щоразу, коли ви вмикаєте Raspberry pi, він повинен підключатися до точки доступу (Точка доступу).
Підключіться до точки доступу. Введіть ifconfig в термінал малинового пі та введіть цю 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 для збереження та перезавантаження. Тепер увімкніть ваш малиновий пі, і він автоматично підключиться до точки доступу.
routers
таdomain_name_servers
рядки необов’язкові, якщо ви не хочете налаштовувати маршрутизацію через цей інтерфейс.