Як з Raspberry Pi зробити маршрутизатор Wi-Fi
User Rating: / 18
PoorBest 
There are no translations available.

Wi-Fi AP Raspberry PiХочете мати окрему мережу Wi-Fi для своїх гостей? Або домашню мережу, яка працює з альтернативною конфігурацію DNS?
Вам більше не доведеться купувати новий Wi-Fi маршрутизатор, щоб зробити це - Ви можете перетворити свій Raspberry Pi (RPi) в Wi-Fi маршрутизатор.
Ми проведемо Вас через процес налаштування RPi як мережі Wi-Fi.
Передумови та обладнання
Вам потрібні:
  • Raspberry Pi
  • USB Wi-Fi адаптер (наприклад, Edimax EW-7811Un - бездротовий 802.11b/g/n нано USB адаптер - крихітний і дешевий)
  • SD-карта з встановленою ОС Raspbian (керівництво, якщо Вам потрібно)
  • Доступ до RPi як за допомогою клавіатури і монітора, так і віддалено
Raspberry Pi з Edimax Wi-Fi адаптером
Перш, ніж ми приступимо, хочемо вказати на важливість покупки правильного USB Wi-Fi адаптера. Як Ви, можливо, відчули з іншими типами пристроїв, що не всі вони plug-n-play. Іноді Вам було необхідно завантажити драйвер, щоб змусити їх працювати. У той час як драйвери, як правило, легко доступні для комп'ютерів Windows, - це зовсім інший світ для Linux і RPi. Ось чому дуже важливо, щоб купити Wi-Fi адаптер, який згадує "Linux" в описі продукту або пакета. Автор використовує Edimax - бездротовий 802.11b/g/n нано USB адаптер, тому що він дешевий і з ним дуже легко працювати. Рекомендую Вам зробити те ж саме - це допоможе заощадити багато головного болю.
Edimax Wi-Fi
Переконайтеся, що Wi-Fi адаптер працює на Raspberry Pi
Вставте адаптер USB Wi-Fi в один з вільних портів USB на RPi. Подайте живлення на RPi. У цей момент Ви повинні або підключитися до RPi за допомогою кабелю Ethernet, або використовувати клавіатуру і монітор для доступу до RPi.
Якщо потрібна допомога з зовнішнього підключення до RPi, то прочитайте статтю, як віддалено отримати зручний захищений доступ до RPi за допомогою дротового підключення до мережі.
Після завантаження та реєстрації Ви повинні переконатися, що RPi знайшов свій новий бездротової адаптер. Щоб подивитися, яка периферія знайдена операційною системою при завантаженні, виконайте наступну команду:
dmesg | more
Ви можете використовувати пробіл, щоб прокрутити сторінку вниз за один раз - в кінці побачите щось схоже на наступні рядки:
[ 3.282651] usb 1-1.2: new high-speed USB device number 4 using dwc_otg
[ 3.394810] usb 1-1.2: New USB device found, idVendor=7392, idProduct=7811
[ 3.407489] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.420530] usb 1-1.2: Product: 802.11n WLAN Adapter
Це означає, що операційна система визнала USB Wi-Fi адаптер за допомогою одного з вбудованих драйверів (можете повернутися до терміналу, натиснувши Q). Все, що залишилося, це налаштувати підключення Wi-Fi.
Встановлення програмного забезпечення маршрутизатора
Для того, щоб RPi виступав як Wi -Fi роутер і точка доступу, необхідно встановити деяке додаткове програмне забезпечення на RPi. Вам необхідне наступне програмне забезпечення:
  • hostapd
hostapd є службою (демоном) користувача для серверів точок доступу і аутентифікації. Це означає, що він може перетворити Ваш RPi в точку доступу і інші комп'ютери зможуть підключитися. Він також займатиметься безпекою таким чином, щоб можна було налаштувати Wi-Fi з паролем.
  • isc-dhcp-server
isc-dhcp-server є реалізацією Internet Systems Consortium DHCP-сервера. DHCP-сервер відповідає за призначення адрес комп'ютерам і пристроям, підключеним до точки доступу Wi-Fi.
Щоб встановити ПЗ для DHCP виконайте наступну команду:
sudo apt-get install isc-dhcp-server
Далі необхідне програмне забезпечення для HostAPD. Тому, що необхідний драйвер точки доступу нашого USB-модуля не підтримує рідний додаток HostAPD, нам необхідно встановити спеціальну версію, компільовану з драйвером, який потрібний. Це може бути зроблено за допомогою наступних команд, виконаних одна за одною.
wget https://github.com/jenssegers/RTL8188-hostapd/archive/v1.1.tar.gz
tar -zxvf v1.1.tar.gz
cd RTL8188-hostapd-1.1/hostapd
sudo make
sudo make install
Це займе трохи часу.
Після завантаження ми готові налаштувати програмне забезпечення.
Налаштування ISC-DHCP-сервера
Для налаштування DHCP-сервера відкрийте файл /etc/dhcp/dhcpd.conf у Вашому улюбленому текстовому редакторі. Ви можете відкрити його в нано за допомогою команди:
sudo nano /etc/dhcp/dhcpd.conf
Знайдіть розділ, який нижче, і закоментуйте його, поставивши хештег на початку рядка:
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
Далі знайдіть наведений нижче розділ і розкоментуйте слово авторизації (видаліть hastag):
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;
Тепер файл виглядає наступним чином:
Wi-Fi AP Raspberry Pi-1
Далі нам потрібно вказати мережу і мережеві адреси, які DHCP-сервер буде обслуговувати. Це робиться шляхом додавання наступного блоку конфігурації в кінець файлу:
subnet 192.168.10.0 netmask 255.255.255.0 {
 range 192.168.10.10 192.168.10.20;
 option broadcast-address 192.168.10.255;
 option routers 192.168.10.1;
 default-lease-time 600;
 max-lease-time 7200;
 option domain-name "local-network";
 option domain-name-servers 8.8.8.8, 8.8.4.4;
}
Це дозволить DHCP-серверу роздавати IP-адреси з 192.168.10.10 до 192.168.10.20 у власній локальній мережі. Фахівці з конфігурації мереж можуть змінити ці значення, якщо хочуть використовувати інші мережеві адреси та/або інші сервери DNS. Наведена конфігурація буде використовувати DNS-сервери Google на 8.8.8.8 і 8.8.4.4.
Щоб зберегти файл, натисніть Ctrl+O, щоб запису файла на диск - потім можна вийти з нано, натиснувши Ctrl+X. Якщо нано запитає, чи хочете зберегти змінений буфер, то натисніть "Y", а потім натисніть Enter для підтвердження імені файлу.
Наступний файл для редагування /etc/default/isc-dhcp-server, який Ви можете відкрити в нано допомогою наступної команди:
sudo nano /etc/default/isc-dhcp-server
Перейдіть до рядка, який згадує про інтерфейси і оновіть рядок, щоб він виглядав так:
INTERFACES="wlan0"
Це дозволить DHCP-серверу роздавати мережеві адреси через бездротовий інтерфейс. Збережіть файл і вийдіть з нано.
Останнім кроком у налаштуванні DHCP-сервера необхідно налаштувати статичну IP-адресу для адаптера бездротової мережі. Це робиться у файлі /etc/network/interfaces - перед його відкриттям переконайтеся, що інтерфейс WLAN не працює. Зробіть це за допомогою наступних команд:
sudo ifdown wlan0
sudo nano /etc/network/interfaces
Змінений файл повинен виглядати наступним чином:
Wi-Fi AP Raspberry Pi-2
Це дозволить бездротовому адаптеру взяти адресу 192.168.10.1 в нашій новій локальній мережі. Не забудьте закоментувати останні 3 рядки файлу.
На цьому налаштування DHCP-сервера завершене, однак, ми все ще не можемо підключитися до нашої нової мережі, бо не встановлена точка доступу. Це робиться шляхом налаштування програми hostapd.
Налаштування HostAPD
Щоб налаштувати HostAPD, відкрийте файл /etc/hostapd/hostapd.conf у текстовому редакторі. Ви можете відкрити його в нано за допомогою наступної команди:
sudo nano /etc/hostapd/hostapd.conf
Стандартна конфігурація створить нову бездротову мережу під назвою wifi з паролем YourPassPhrase. Ви можете змінити параметр "ssid=wifi" на ім'я WiFi SSID, яке хочете, а в параметрі "wpa_passphrase=YourPassPhrase" вказати свій власний пароль.
Це завершує конфігурацію програмного забезпечення HostAPD нашої точки доступу. Наступний буде дозвіл NAT.
Включення NAT
Останній крок перш, ніж ми зможемо запустити точку доступу, є налагодження трансляції мережевих адрес (Network Address Translation - NAT). Це дозволить переконатися, що наш мережевий трафік може досягти Інтернету, використовуючи з'єднання через Ethernet-кабель RPi з інтернет-маршрутизатором.
Відкрийте etc/sysctl.conf з:
sudo nano /etc/sysctl.conf
Перейдіть до останнього рядка файлу і додайте рядок:
net.ipv4.ip_forward=1
Наступне - запустити трансляцію відразу командою:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Запустіть бездротову мережу через:
sudo ifup wlan0
Наступним кроком є створення фактичної трансляції між портом локальної мережі під назвою eth0 і бездротової карти під назвою wlan0.
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
З налаштованим NAT тепер настав час для першого запуску точки доступу.
Запуск власного бездротового маршрутизатора
Тепер Ви готові запустити DHCP-сервер і додаток HostAPD точки доступу. Це можна зробити командою:
sudo service isc-dhcp-server start
sudo service hostapd start
У цей момент Ви повинні бути в змозі знайти свою бездротову мережу на ноутбуці, підключитися до неї і вийти в Інтернеті!
Завершення...
У той час, як дуже чудово, що тепер у Вас є своя RPi, яка працює як бездротова точки доступу, але не все так добре, бо Ви повинні вводити логін щоразу, коли перезавантажуєтеся, щоб запустити програмне забезпечення HostAPD і DHCP...
Щоб уникнути цього, виконайте наступні команди:
sudo update-rc.d hostapd enable
sudo update-rc.d isc-dhcp-server enable
Щоб уникнути необхідності налаштовувати NAT щоразу, коли перезавантажуєте RPi, можете зробити наступне.
Виконайте дану команду для резервного копіювання NAT конфігурації:
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Додайте наступне в кінець файлу /etc/network/interfaces для відновлення конфігурації, коли підніметься мережевий інтерфейс:
up iptables-restore < /etc/iptables.ipv4.nat
Файл повинен виглядати так:
Wi-Fi AP Raspberry Pi-3
У цей момент спробуйте перезавантажити RPi, щоб переконатися, що все працює як годиться - можна перезавантажити за допомогою команди:
sudo reboot
Сподіваюся, Ви знову побачите свою нову точку доступу в онлайн. Після того, як вона підніметься, Ви зможете підключитися до неї і отримати доступ до Інтернету.
(Джерело EN: raspberrypihq.com)
 
>
BookNewsPractice SearchPartnersAbout
Підтримка та дизайн: Могильний С.С. Шаблон: Joomla Templates by BuyHTTP Joomla Hosting