- Необхідні компоненти:
- Кроки для налаштування Raspberry Pi як бездротової точки доступу:
- Доступ до Інтернету з точки доступу Wi-Fi Raspberry Pi
- Тестування бездротової точки доступу Raspberry Pi:
Привіт, хлопці, сьогодні я покажу, як перетворити Raspberry Pi на бездротову точку доступу, до якої можуть підключатися інші пристрої, в основному ми перетворюємо Raspberry Pi на бездротовий “маршрутизатор”. В якості бонусу я також покажу нам, як налаштувати бездротову точку доступу, створену для надання (спільного доступу) до Інтернету (з) підключеними пристроями. Тож давайте почнемо створювати точку доступу Wi-Fi з Raspberry Pi.
Необхідні компоненти:
Наступні компоненти будуть потрібні для встановлення Raspberry Pi як бездротової точки доступу:
- Raspberry Pi 2
- SD-карта на 8 Гб
- WiFi USB-ключ
- Кабель Ethernet
- Блок живлення для Pi.
- Монітор (додатково)
- Клавіатура (додатково)
- Миша (необов’язково)
Хоча Raspberry Pi 3 та Pi zero є широко доступними та могли б бути використані, для цього підручника я буду використовувати Raspberry Pi 2, оскільки мій Pi3 зараз зайнятий виконанням важких завдань, пов’язаних із комп’ютерним зором, якими я сподіваюся поділитися в підручник тут незабаром. Однак ця процедура також працює для pi 3 і повинна (зверніть увагу на акценти) також працювати для Raspberry Pi нуль W. При використанні Raspberry Pi 3 або Zero W не буде необхідності у зовнішньому модулі Wi-Fi оскільки ці дві плати вже мають Wi-Fi.
Для більш точного визначення цілей цього підручника ми надамо нашому Raspberry Pi можливість виконувати функції бездротової точки доступу, і для досягнення цього нам потрібно буде встановити та налаштувати програмне забезпечення, яке оснащує Raspberry Pi цією функцією разом із програмне забезпечення сервера DHCP для забезпечення мережевої адреси для пристроїв, які будуть підключені до точки доступу. Для задоволення цієї вимоги до програмного забезпечення ми будемо використовувати програмне забезпечення dnsmasq та hostapd.
Цей підручник базуватиметься на розтяжній ОС Raspbian, тому, щоб продовжувати, як зазвичай, я припускаю, що ви знайомі з налаштуванням Raspberry Pi з розтяжною ОС Raspbian, і ви знаєте, як SSH в Raspberry pi за допомогою термінального програмного забезпечення, такого як шпаклівка. Якщо у вас є проблеми з цим, на цьому веб-сайті є безліч підручників з Raspberry Pi, які можуть вам допомогти.
Кроки для налаштування Raspberry Pi як бездротової точки доступу:
Виконуючи наступні ключові кроки, один за одним, ми зможемо встановити Raspberry Pi як точку бездротового доступу. Слід зазначити, що деякі бездротові USB-ключі не працюють у режимі точки доступу, але спробувавши цей ключ, і він спрацював, я маю спокусу сказати, що 5 із 8 ключів будуть працювати.
Крок 1: Оновіть Pi
Як завжди, ми оновлюємо малиновий пі, щоб забезпечити останню версію всього. Це робиться за допомогою;
sudo apt-get update
слідом за ним;
sudo apt-get upgrade
Завершивши оновлення, перезавантажте свій pi, щоб внести зміни.
Крок 2: Встановіть “ dnsmasq ” та “ hostapd ”
Далі ми встановлюємо програмне забезпечення, яке дозволяє встановити pi як бездротову точку доступу, а також програмне забезпечення, яке допомагає призначати мережеву адресу пристроям, які підключаються до точки доступу. Ми робимо це, бігаючи;
sudo apt-get встановити dnsmasq
слідом за ним;
sudo apt-get встановити hostapd
або ви можете поєднати його, запустивши;
sudo apt-get встановити dnsmasq hostapd
Крок 3: Зупиніть роботу програми
Оскільки у нас ще не налаштовано програмне забезпечення, немає сенсу запускати його, тому ми відключаємо їх від роботи в метро. Для цього ми виконуємо такі команди, щоб зупинити роботу systemd .
sudo systemctl зупинка dnsmasq sudo systemctl зупинка hostapd
Крок 4: Налаштуйте статичну IP-адресу для бездротового порту
Перевірте порт wlan, до якого підключений використовуваний бездротовий пристрій. Для мого Pi бездротова мережа працює на wlan0. Налаштування Raspberry Pi для роботи в якості сервера вимагає від нас призначення статичної IP-адреси бездротовому порту. Це можна зробити, відредагувавши конфігураційний файл dhcpcd . Щоб відредагувати файл конфігурації, запустіть;
sudo nano /etc/dhcpcd.conf
Прокрутіть до кінця конфігураційного файлу та додайте наступні рядки.
Інтерфейс wlan0 статичний ip_address = 192.168.4.1 / 24
Після додавання рядків конфігураційний файл повинен виглядати як на малюнку нижче.
Примітка: Цю IP-адресу можна змінити відповідно до бажаної конфігурації.
Збережіть файл і вийдіть за допомогою; ctrl + x, а потім Y
Перезапустіть службу dhcpcd, щоб внести зміни, внесені в конфігурацію за допомогою;
Перезапуск служби Sudo dhcpcd
Крок 5: Налаштуйте сервер dhcpcd
Завдяки статичній IP-адресі, налаштованій зараз для розетки Raspberry Pi, наступне, що ми повинні налаштувати сервер dhcpcd та надати йому діапазон IP-адрес, які призначаються пристроям, які підключаються до бездротової точки доступу. Для цього нам потрібно відредагувати файл конфігурації програмного забезпечення dnsmasq, але файл конфігурації програмного забезпечення містить занадто багато інформації, і багато чого може піти не так. Якщо неправильно відредаговано, то замість редагування ми створимо нову конфігурацію файл із лише тим обсягом інформації, який необхідний, щоб зробити бездротову точку доступу повністю функціональною.
Перш ніж створювати новий файл конфігурації, ми зберігаємо старий у безпеці, переміщуючи та перейменовуючи його.
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.old
Потім запустіть редактор, щоб створити новий файл конфігурації;
sudo nano /etc/dnsmasq.conf
з запущеним редактором скопіюйте рядки нижче та вставте або введіть безпосередньо в нього.
Інтерфейс = wlan0 # вкажіть інтерфейс зв'язку, який зазвичай є wlan0 для бездротового діапазону dhcp = 192.168.4.2, 192.168.4.20, 255.255.255.0,24h
вміст файлу повинен виглядати як на малюнку нижче.
Збережіть файл і вийдіть. Зміст цього конфігураційного файлу полягає лише у визначенні діапазону IP-адреси, яку можна призначити пристроям, підключеним до бездротової точки доступу.
Після цього ми зможемо надати ідентифікацію пристроям у нашій мережі.
Наступний набір кроків допоможе нам налаштувати програмне забезпечення хоста точки доступу, налаштувати ssid, вибрати шифрування тощо.
Крок 6: Налаштуйте hostapd для SSID та пароля
Нам потрібно відредагувати файл конфігурації hostapd (запустити sudo nano /etc/hostapd/hostapd.conf ), щоб додати різні параметри для налаштування бездротової мережі, включаючи ssid та пароль. Слід зазначити, що пароль (парольна фраза) повинен містити від 8 до 64 символів. Все, що менше, не буде працювати.
інтерфейс = драйвер wlan0 = nl80211 ssid = piNetwork hw_mode = g channel = 7 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = emmanuel # використовуйте дуже безпечний пароль, а не цей wpa_key_mgwise = TPA WPA WPA rsn_pairwise = CCM
Вміст файлу повинен виглядати як на малюнку нижче.
Не соромтеся змінювати ssid та пароль відповідно до ваших потреб та бажання.
Збережіть файл конфігурації та вийдіть.
Після збереження конфігураційного файлу нам потрібно вказати програмне забезпечення hostapd туди, де був збережений конфігураційний файл. Для цього запустіть;
sudo nano / etc / default / hostapd
знайдіть рядок з daemon_conf, який прокоментували, як показано на малюнку нижче.
Розкоментуйте рядок DAEMON_CONF і додайте рядок внизу між лапками перед знаком "дорівнює".
/etc/hostapd/hostapd.conf
Крок 7: Запустіть його
Оскільки ми спочатку відключили два програмні засоби, щоб дозволити нам їх правильно налаштувати, нам потрібно перезапустити систему після конфігурації, щоб здійснити зміни.
Використання;
sudo systemctl start hostapd sudo systemctl start dnsmasq
Крок 8: Маршрутизація та маскарад для вихідного трафіку
Нам потрібно додати маршрутизацію та маскарад для вихідного трафіку.
Для цього нам потрібно відредагувати конфігураційний файл systemctl , запустивши:
sudo nano /etc/sysctl.conf
Розкоментуйте цей рядок net.ipv4.ip_forward = 1 (виділено на зображенні нижче)
Збережіть файл конфігурації та вийдіть, використовуючи ctrl + x, а потім y.
Далі ми переходимо до маскування виїзного трафіку. Це можна зробити, внісши деякі зміни до правила iptable. Для цього виконайте такі команди:
sudo iptables -t nat -A ПОРОЛЮВАННЯ -o eth0 -j MASQUERADE
потім збережіть правило Iptables, використовуючи:
sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"
Крок 9: Створіть точку бездротового доступу під час запуску:
Для більшості програм бездротової точки доступу часто бажано, щоб точка доступу з’являлася, як тільки система завантажується. Щоб реалізувати це на Raspberry Pi, одним із найпростіших способів є додавання інструкцій щодо запуску програмного забезпечення у файлі rc.local, тому ми ставимо команди для встановлення правил iptable при завантаженні у файлі rc.local.
Щоб відредагувати файл rc.local, запустіть:
sudo nano /etc/rc.local
і додайте наступні рядки внизу системи, безпосередньо перед оператором виходу 0
iptables-restore </etc/iptables.ipv4.nat
Крок 9: Перезавантажте! та використання
На цьому етапі нам потрібно перезавантажити систему, щоб здійснити всі зміни та протестувати бездротову точку доступу, що запускається під час завантаження з оновленим правилом iptables.
Перезавантажте систему, використовуючи:
sudo reboot
Як тільки система знову увімкнеться, ви зможете отримати доступ до бездротової точки доступу, використовуючи будь-який пристрій із підтримкою Wi-Fi та пароль, який використовувався під час налаштування.
Доступ до Інтернету з точки доступу Wi-Fi Raspberry Pi
Так, так, я додаю бонусний підручник, щоб показати, як створена бездротова точка доступу може використовуватися для забезпечення Інтернет-з'єднання для підключених до неї пристроїв. Доступ до Інтернету, розподілений між пристроями, забезпечується через порт Ethernet на Pi, який можна підключити до маршрутизатора або будь-яких подібних пристроїв.
Щоб реалізувати це, нам потрібно поставити "міст" між бездротовим пристроєм та пристроєм Ethernet на Raspberry Pi (бездротовій точці доступу), щоб пропускати весь трафік між двома інтерфейсами. Щоб це налаштувати, ми використаємо програмне забезпечення bridge-utils . Встановіть hostapd та bridge-utils . Поки ми вже встановлювали hostapd , запустіть установку ще раз, щоб очистити всі сумніви.
sudo apt-get встановити hostapd bridge-utils
Далі ми зупиняємо hostapd, щоб налаштувати програмне забезпечення.
sudo systemctl зупинити
Коли створюється міст, конструкція вищого рівня створюється над двома портами, що перетинаються, і міст, таким чином, стає мережевим пристроєм. Щоб запобігти конфліктам, нам потрібно припинити розподіл IP-адрес клієнтом DHCP, що працює на Raspberry Pi, до портів eth0 та wlan0. Це буде зроблено шляхом редагування конфігураційного файлу клієнта dhcpcd, щоб включити denyinterfaces wlan0 та denyinterfaces eth0, як показано на малюнку нижче.
Файл можна редагувати за допомогою команди;
sudo nano /etc/dhcpcd.conf
Примітка: З цього моменту переконайтеся, що ви не від'єднували кабель Ethernet від ПК, якщо ви працюєте в безголовому режимі, оскільки можливо, вам не вдасться знову підключитися через SSH, оскільки ми вимкнули порт Ethernet. Якщо ви працюєте з монітором, вам нема чого боятися.
Далі ми створюємо новий міст під назвою br0
sudo brctl addbr br0
Далі ми підключаємо порт Ethernet (eth0) до мосту (br0) за допомогою;
sudo brctl addif br0 eth0
Далі ми редагуємо файл інтерфейсів за допомогою sudo nano / etc / network / interfaces, щоб різні пристрої могли працювати з мостом. Відредагуйте файл інтерфейсів, щоб включити інформацію нижче;
# Налаштування моста авто br0 iface br0 inet manual most_ports eth0 wlan0
Нарешті, ми редагуємо файл hostapd.conf, щоб включити конфігурацію моста. Це можна зробити, запустивши команду: sudo nano /etc/hostapd.conf та відредагувавши файл, щоб містити інформацію нижче. Зверніть увагу, міст був доданий під інтерфейс wlan0, а рядок драйверів був закомментований.
Інтерфейс = wlan0 міст = br0 # водій = nl80211 = NameOfNetwork SSID hw_mode = г канал = 7 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 ВПА = 2 wpa_passphrase = AardvarkBadgerHedgehog wpa_key_mgmt = WPA-PSK wpa_pairwise = TKIP rsn_pairwise = CCMP
Після цього збережіть файл конфігурації та вийдіть.
Щоб здійснити зміни, внесені до Raspberry Pi, перезавантажте систему. Після відновлення ви зможете отримати доступ до Інтернету, підключившись до бездротової точки доступу, створеної Raspberry Pi. Це, звичайно, буде працювати лише в тому випадку, якщо доступ до Інтернету доступний pi через порт Ethernet.
Хоча цей проект може бути використаний для розширення Wi-Fi навколо будинку або офісу або цілого комплексу, є кілька програм, які я вважаю дуже цікавими та корисними, як Raspberry Pi як центр домашньої автоматизації, тому кілька пристроїв для автоматизації дому з можливістю Wi-Fi можуть підключіться до Інтернету за допомогою бездротової точки доступу Raspberry Pi. У вас є якась інша крута ідея, до якої це можна застосувати, сміливо діліться через розділ коментарів, щоб надихнути інших.
Тестування бездротової точки доступу Raspberry Pi:
Щоб перевірити ці вказівки, використовуйте мобільний телефон або будь-який інший пристрій, здатний підключатися до мережі гарячих точок WiFi, ви побачите спливаюче ім’я. Потім ви можете підключитися до нього, використовуючи той жахливий пароль, який ми вказали "emmanuel". Обов’язково використовуйте більш безпечний пароль при впровадженні. Я використовував цей пароль лише для того, щоб зробити речі простішими.
Також зауважте, може знадобитися деякий час, поки точка бездротового доступу стане видимою після перезавантаження, оскільки Pi потрібно завантажити до початку мережевих дій.
Ось і все для цього підручника, хлопці. Це довгий, дякую, що взяли тайм-аут для читання. Відгуки та коментарі завжди раді.
До наступного разу!