Відповіді:
У цьому підручнику описано, як налаштувати мережу за допомогою мережевого менеджера 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- адреса з команди вище (або інша невикористана адреса в тій же мережі),
netmask255.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/interfacesudo service networking restart
Короткий і нерозумний метод, як це зробити:
Це встановить фіксований IP і включить ssh демон:
/boot/cmdline.txtі додайте ip=192.168.1.20до кінця рядка./boot/sshssh 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рядки необов’язкові, якщо ви не хочете налаштовувати маршрутизацію через цей інтерфейс.