Raspberry pi как wifi роутер

Время на прочтение
7 мин

Количество просмотров 12K

Если вдруг у вас есть Raspberry Pi, вы уже с ним наигрались и хотите найти ему полезное применение, то в этой статье я расскажу как быстро и просто превратить его в роутер, который может работать c VPN сервером по протоколу WireGuard. В виду того, что вычислительные возможности Raspberry Pi выше, чем у среднестатистического роутера, вы получите большую скорость Интернет при работе через VPN.

Ранее я публиковал статью, в которой рассказывал, как настроить WireGuard VPN клиент на роутере ASUS RT N56U. Вы можете сказать, что можно купить более мощный роутер или вообще роутер, который поддерживает WireGuard из коробки, но мне хотелось обойтись устройствами, которые были у меня в наличии. К тому же, что-то сделанное своими руками часто приносит большее удовольствие, так как ты начинаешь лучше разбираться в теме, да и греет душу мысль о том, что ты сэкономил деньги и можешь потратить их на что-то другое.

Как возникла идея

Купив себе Raspberry Pi 4 пару лет назад , я поигрался с ним, и как всегда, когда угасает интерес к вещи, положил на полку и забыл.

Когда я пытался установить VPN клиент на своей коллекции старых роутеров (TP-Link WR-841N, TP-Link WR-702N), и у меня это не выходило из-за их низких технических характеристик, я уже начал рассматривать Raspberry Pi в качестве альтернативы. У него было все для того, чтобы стать хорошим роутером: компактный размер, Ethernet разъем, встроенный модуль WiFi, производительный SoC и большой объем оперативной памяти, но мне попался ASUS RT N56U, и я решил использовать его.

На свой роутер АSUS я поставил прошивку OpenWRT и WireGuard клиент. Все работало, я даже написал статью о своем уcпешном опыте, но уж очень меня растраивала скорость Интернета через VPN. Да, она была больше, чем при использовании OpenVPN, достаточна для просмотра 4К видео, но WireGuard клиент на компьютере выдавал результат в несколько раз больше, так как производительность компьютера в разы выше производительности роутера.

Raspberry Pi 4 — это полноценный компьютер, отличающийся компактностью, на который можно установить множество операционных систем, такие как различные дистрибутивы Linux и даже Windows, поэтому я решил сделать из него роутер.

Поиск решения

Итак, задача о превращении Raspberry Pi 4 в роутер с поддержкой WireGuard была поставлена, и я принялся за ее решение.

Так как у мне удалось заставить свой роутер ASUS работать с протоколом WireGuard, используя прошивку OpenWRT, я и сейчас решил использовать ее.

OpenWRT – это Linux дистрибутив, основная задача которого – обеспечение работы роутера. Он имеет обширную библиотеку пакетов, позволяющую подстроить роутер под свои нужды.

WireGuard — это программное обеспечение и протокол, который проще и быстрее, чем OpenVPN и IPSec.

Первым делом я изучил видео и статьи в Интернете о том, как люди решали задачу, подобную моей. Но нужной мне полноценной инструкции от А до Я, я не нашел.

Больше всего меня увлекло эмоциональное и захватывающее видео от NetworkChuck, хотя оно подразумевало установку OpenVPN клиента, а не WireGuard, и подразумевалась настройка из командной строки, а не из GUI OpenWRT.

Как это часто бывает, видео немного устарело, и мне приходилось решать что-то уже по-своему, но когда я дошел до шага установки драйвера для WiFi USB адаптера, я не смог его установить, ни для одного из имеющихся у меня адаптеров.

Предлагаемое на форумах решение в виде компиляции исходного кода драйверов для OpenWRT мне с одной стороны показалось интересным и позволяющим получить новые знания, но с другой – нудным и менее универсальным. Хотелось какое-то другое решение.

У меня есть дорожный роутер TP-Link WR-702N, у которого всего лишь один разъем Ethernet и один встроенный модуль WiFi, я подумал, что ничто не мешает мне сделать что-то похожее из моего Raspberry Pi. Не знаю, для кого как, но для меня, когда я вижу, что задачу можно решить – это вдохновляет и мотивирует.

В итоге я нашел решение для своей задачи. Оно решает проблему подключения устройств из локальной сети к VPN, позволяет узнать новое применение вашему Raspberry Pi, разнообразить свой досуг или удивить друзей и знакомых необычным применением малинки.

Что понадобится

  1. Raspberry Pi 4.

  2. Роутер с доступом в Интернет.

  3. Ethernet кабель.

  4. Сетевой адаптер питания на 5В 3A с кабелем USB type C.

  5. MicroSD карта. Достаточно и 4GB.

  6. Адаптер MicroSD-SD и ноутбук с кардридером или USB MicroSD кардридер.

Решение задачи

  1. Заходим на страницу официального сайта OpenWRT, посвященную Raspberry Pi и загружаем свежий образ OpenWRT для Raspberry Pi 4. На момент написания статьи это версия 22.03.2

  2. Записываем образ OpenWRT на Micro SD карту. Я делал это в Windows при помощи программы balenaEtcher.

  3. Соединяем Ethernet кабелем компьютер и Raspberry Pi . Включаем Raspberry Pi. По умолчанию Raspberry Pi 4 c установленным OpenWRT имеет статический IP адрес 192.168.1.1, не имеет пароль для входа, также по умолчанию отключен WiFi интерфейс. Поэтому нужно включить и настроить WiFi, а также желательно поменять IP адрес и установить пароль.

  4. Настраиваем WiFi. Network->Wireless->Edit->Interface Configuration. Вводим настройки на владках General Setup, Advanced Settings.

  5. Устанавливаем пароль. System->Administration.

  6. Меняем IP адрес и убираем Ethernet интерфейс из LAN, чтобы использовать Ethernet интерфейс в качестве WAN. Network->Interfaces->Edit->LAN.

  7. Отключаем Raspberry Pi от сетевой карты компьютера.

  8. Подключаемся к точке доступа, созданной на Raspberry Pi. Открываем в браузере URL c адресом IP, который вы назначили Raspberry Pi.

  9. Настраиваем WAN порт Raspberry. Network->Interfaces->Add New Interface… В качестве WAN порта мы будем использовать Ethernet разъем Raspberry Pi. Так как разъем будет использоваться как WAN порт, а доступ к Raspberry Pi будет осуществляться через WiFi, при неверных настройках, которые нарушат работу интерфейса WiFi вам прийдется заново записать образ OpenWRT на microSD карту.

  10. Выключаем Raspberry Pi. Подключаем WAN порт Raspberry Pi к LAN порту домашнего роутера. Включаем Raspberry Pi.

  11. Убеждаемся, что доступ в интернет есть. Network->Diagnostics.

  12. Настраиваем файервол для WAN интерфейса. Network->Interfaces->WAN->Edit->Firewall Settings.

  13. Заходим на сайт https://www.myip.com/ чтобы узнать свой внешний IP адрес.

  14. Устанавливаем WireGuard. System->Software. Обновляем список пакетов (Update lists…), находим пакет luci-i18n-wireguard-en и устанавливаем его.

  15. Перегружаем Rasperry Pi. System->Reboot.

  16. Устанавливаем WireGuard на VPS сервер. Как это сделать я подробно расписал в своей статье.

  17. Добавляем Wireguard интерфейс. Network->Interfaces->Add New Interface… -> Create Interface

  18. Вводим данные на вкладке General Settings. Здесь необходимо ввести Private Key, Public Key, IP Address для созданного WireGuard интерфейса, который теперь находится на Raspberry Pi. Public Key можно посмотреть в секции Peer в конфиграционном файле /etc/wireguard/wg0.conf на VPS сервере с установленным WireGuard или получить из имеющегося Private Key.

  19. Заходим на вкладку Peers. Нажимаем Add Peer. Вводим оставшиеся данные для WireGuard. Это параметры интерфейса WireGuard, который находится на удаленном сервере.

  20. Удостоверяемся, что WireGuard интерфейс работает. RX и TX должны содержать ненулевые значения.

  21. Настраиваем Firewall. Network->Firewall->Add.

  22. Настраиваем маршрутизацию. Network->Routing->Add. В поле Target вводится IP адрес вашего сервера WireGuard фомате CIDR (<IP адрес>/32).

  23. Настраиваем DNS. Network->Interfaces->WAN->Edit->Advanced Settings.

  24. Проверяем работу VPN. Заходим на сайт https://www.myip.com/ и смотрим на свой внешний IP. Если он отличается от того, что был до включения VPN, то VPN работает.

  25. Если все устраивает, то можно сделать резервную копию micro SD карты при помощи программы Win32 Disk Imager. Это позволит хранить всю настроенную OpenWRT для вашего Raspberry Pi на локальном диске компьютера и быстро развернуть уже настроенный OpenWRT в случае, если собьются настройки.

Надеюсь, что я вас не сильно утомил, и вы теперь наслаждаетесь результатами своего труда.

Сравнение с решением от NetworkChuck

Мое решение отличается от решения NetworkChuck следующим:

1. Я использую только один WiFi интерфейс, который работает в качестве точки доступа, а не два, один из которых (встроенный) работает в качестве WiFi клиента к точке доступа, предоставляющей доступ в Интернет, а второй (USB WiFi адаптер, желательно с антенной) в качестве точки доступа.

2. Я выполняю все настройки, используя исключительно GUI OpenWRT.

3. Для VPN я использую WireGuard, а не OpenVPN.

У решения от NetworkChuck есть ряд преимуществ:

1. Так как не нужен проводной доступ роутеру, раздающему Интернет, решение подходит для публичной точки доступа в кафе или в аэропорту (если конечно публичная точка доступа позволит это сделать).

2. Так как для организации точки доступа используется USB WiFi адаптер с антенной, покрытие созданной WiFi сети будет шире и стабильнее.

У моего решения тоже есть ряд преимуществ:

1. Неподготовленному пользователю проще выполнить все в GUI OpenWRT по приведенным скриншотам, чем вводить все в комадной строке.

2. Cкорость Интернет, у моего решения будет выше и стабильнее, так как я подключаю Raspberry Pi к роутеру с Интернет через проводное соединение и использую WireGuard вместо OpenVPN.

Оставляю вам возможность проверить решение от NetworkChuck, если у вас окажется USB WiFi адаптер, для которого вы сможете установить драйвер в OpenWRT.

Анализ результатов

У меня дома не было лабораторных условий для проведения эксперимента.

Подключившись к VPN серверу, установленному на VPS от PulseHeberg и проверив скорость Интернета, я получил заветные цифры. Если учитывать, что у меня Интернет от провайдера с заявленной скоростью 100 МБ/c, я не уже не вижу смысла улучшать скорость соединения.

Я надеюсь, что вы получите результат не хуже моего. Буду признателен, если вы в комментариях напишете, какие результаты получились у вас. Желательно указать версию Raspberry PI, версию OpenWRT, заявленную скорость интренет вашего провайдера, на каком хостинге располагается WireGuard VPN сервер, и полученные вами результаты в SPEEDTEST.

Выводы

Raspberry Pi подходит для создания компактного роутера с поддержкой WireGuard. Скорость Internet через Wireguard VPN на Rapsberry Pi практически такая же как и при работе без него.

Теоретически можно попробовать сделать роутер и из Raspberry Pi 3, но я не проверял и думаю скорость VPN будет значительно ниже.

К спорным моментам можно отнести:

  1. Cтоимость Raspberry Pi (роутер, на который можно поставить OpenWRT все-таки стоит дешевле).

  2. Доступность Raspberry Pi в контексте происходящих сейчас событий.

  3. Мощность антенны встроенного модуля WiFi (я считаю, что у обычного роутера антенна получше).

Сфера применения Raspberry Pi не ограничивается домашним роутером с VPN, я находил и другие интересные решения, способные удивить вас и ваших знакомых. Я думаю, что это тема моей следующей статьи.

Технология WiFi в нашей время является одной из самых популярных технологий для осуществления беспроводной связи. Но в подобных условиях особенно остро стоит проблема перехвата пользовательской информации. И если вы хотите защитить свои данные от несанкционированных посягательств на них со стороны других лиц, то для использования технологии WiFi желательно использовать свой собственный роутер (маршрутизатор). И в данной статье мы рассмотрим создание своего собственного WiFi роутера на основе платы Raspberry Pi.

Внешний вид проекта WiFi роутера на основе платы Raspberry Pi

Ранее на нашем сайте мы также рассматривали создание ретранслятора WiFi сигнала на основе модуля ESP8266.

OpenWrt (Open Wireless Router) – это операционная система с открытым исходным кодом на основе Linux, которая была разработана для встраиваемой электроники. Она позволяет разработчикам модифицировать (настраивать) программное обеспечение на совместимых сетевых устройствах. Благодаря ей нам доступен следующий функционал:

  • понятная и «естественная» блокировка рекламных объявлений, которая сделает ваш серфинг в сети интернет более комфортным;
  • возможность использования VPN аддонов, исключающих возможность контроля со стороны интернет-провайдера вашего трафика и ваших поисковых запросов;
  • обновления программного обеспечения. Многие производители роутеров спустя некоторое время прекращают выпуск для них обновлений прошивки, что делает их уязвимыми к новым возникающим угрозам безопасности. OpenWrt имеет огромное «живое» сообщество разработчиков, которое всегда выпускает обновления своего программного обеспечения, поэтому вы можете быть уверены в том, что ваш роутер будет защищен от новых угроз;
  • поскольку OpenWrt основана на дистрибутиве Linux, это означает что она по умолчанию не восприимчива к большинству обычных атак.

В данном проекте мы рассмотрим установку программного обеспечения OpenWrt на плату Raspberry Pi, которую будем использовать в качестве роутера, работающего мостом между роутером от вашего интернет-провайдера и вашим компьютером.

Необходимые компоненты

  1. Плата Raspberry Pi 3-й или 4-й серии (купить на AliExpress).
  2. Источник питания.
  3. Ethernet LAN кабель.
  4. Обычный WiFi роутер (можно от провайдера).
  5. SD карта и модуль чтения SD карт.

Принципы работы нашего проекта

Основное устройство, которое предоставляет нам доступ в сеть интернет, это WiFi роутер от провайдера, но вместо непосредственного подключения наших устройств к этому роутеру мы будем подключать к нему нашу плату Raspberry Pi с помощью сетевого (LAN) кабеля. И в этом случае наша плата Raspberry Pi с загруженной в нее операционной системой (ОС) OpenWrt будет работать как точка доступа WiFi для всех ваших остальных устройств. В данной статье мы рассмотрим как установить и настроить OpenWrt на плату Raspberry Pi, чтобы эффективно использовать ее в качестве персонального WiFi роутера.

Принцип работы нашего проекта роутера наглядно представлен в следующем видео:

Установка OpenWrt на плату Raspberry Pi и настройка точки доступа WiFi

1. Вначале необходимо скачать файлы образа самой последней стабильной версии OpenWrt с ее официального сайта.

Выберите модель платы Raspberry Pi, которую вы будете использовать, и скачайте файл образа EXT4 (мы рекомендуем использовать плату Raspberry Pi 3-й или 4-й серии).

Выбор модели платы Raspberry Pi на официальном сайте OpenWrt

2. После успешного скачивания последней сборки ОС OpenWrt нам необходимо поместить ее на SD карту, но для этого нам понадобится два дополнительных инструмента: SD Card Formatter для очистки SD карты и Balena Etcher для записи файла образа на SD карту. Их можно скачать с их официальных сайтов.

Страницы для скачивания программ SD Card Formatter и Balena Etcher

3. После того как вы скачаете и установите эти программы, вставьте SD карту в модуль чтения для нее и затем в компьютер. Откройте SD Card Formatter > выберите SD карту > нажмите на format.

Форматирование SD карты в программе SD Card Formatter

4. Откройте программу Balena Etcher Tool и выберите в ней “Flash from file option”.

Подготовка программы Balena Etcher Tool к работе

5. Выберите файл образа (image file), который вы загрузили с официального сайта OpenWrt на шаге 1.

Открытие файла образа в программе Balena Etcher

6. Нажмите на кнопку Select Target и выберите вашу карту.

Выбор SD карты для записи в программе Balena Etcher

7. И, наконец, нажмите на кнопку Flash Button. После этого OpenWrt будет смонтирована на вашу SD карту и теперь ее можно будет вставлять в плату Raspberry Pi.

Загрузка OpenWrt на SD карту с помощью программы Balena Etcher завершена

8. Перед загрузкой Raspberry Pi нам необходимо указать IP шлюз по умолчанию (default gateway) для нашего роутера от провайдера. Для этого подключите ваш Wi-fi роутер к компьютеру, откройте CMD (командную строку) и выполните в ней следующую команду:

Результат выполнения команды Ipconfig

После чего в разделе LAN adapter option вы увидите Default Gateway IP для вашего роутера. Запишите его – он нам потребуется в дальнейшем.

9. Теперь вам необходимо отключиться от вашего Wi-fi. Вставьте подготовленную SD карту в вашу плату Raspberry Pi и подключите к ней источник питания. Используя кабель Ethernet LAN подключите плату Raspberry Pi к вашему компьютеру.

Внешний вид собранной конструкции нашего проекта

10. После этого вы увидите на экране компьютера основные свойства вашей Ethernet сети.

Основные свойства вашей Ethernet сети

11. Откройте командную строку (Command Prompt) и выполните команду:

Эта команда покажет вам список всех доступных устройств в вашей сети. Запишите IP адрес вашего устройства, который будет в следующем формате:

Определенный IP адрес вашей платы Raspberry Pi

Это будет IP адрес вашей платы Raspberry Pi и мы его будем использовать чтобы подключиться к плате по протоколу SSH (Secure Shell Protocol).

12. Если у вас Windows 10 или выше, вы можете непосредственно подключиться по протоколу SSH к плате Raspberry Pi используя команду:

Здесь root – это имя пользователя по умолчанию, а 192.x.x – IP адрес (если командная строка будет запрашивать у вас пароль, оставьте его пустым).

Примечание: командная строка спросит вас хотите ли вы продолжить соединение, напечатайте yes и нажмите enter.

Подключение по протоколу SSH к плате Raspberry Pi

Также для доступа к плате Raspberry Pi по протоколу SSH можно использовать программу PuTTy. В этом случае начните с SSH клиента, показанного на рисунке выше.

Когда вас спросят имя пользователя (Username) введите “root”, а поле для ввода пароля оставьте пустым.

13. Когда вы успешно подключитесь к плате Raspberry Pi по протоколу SSH вы увидите приглашение, которое будет означать что OpenWrt успешно установлена и загружена.

Приглашение, которое означает что OpenWrt успешно установлена и загружена

14. Выполните команду:

С ее помощью вы установите пароль для вашего устройства, он будет использоваться только когда вы будете снова подключаться к плате через протокол SSH или через web панель инструментов.

Установка пароля для доступа к плате через протокол SSH

15. Теперь нам нужно отредактировать два файла конфигурации. Поскольку обычно используемый в Linux-подобных системах редактор ‘nano’ недоступен в OpenWrt, мы будем использовать текстовый редактор «vim».

16. Сначала нам необходимо изменить наш текущий каталог, сделаем это с помощью команды:

  1. Вы можете посмотреть все доступные файлы конфигурации с помощью команды:
  1. Сначала отредактируем файл сети с помощью команды:

19. После того как этот файл откроется, нажмите кнопку ‘i’ на клавиатуре чтобы начать его редактирование. Окно редактирования в этом случае будет выглядеть примерно следующим образом:

Окно редактирования файла

20. Сначала нам в настройки необходимо добавить IP шлюз по умолчанию для роутера, который мы определили на шаге 8.

Также нам необходимо добавить настройку dns с тем же самым IP.

option dns 192.168.x.x

option gateway 192.168.x.x

Эти изменения должны выглядеть примерно следующим образом:

Изменения после настройки dns

21.Теперь вам необходимо изменить IP в опции ipaddr таким образом, чтобы первые 3 части IP адреса были бы такими же как у шлюза, а опция dns отличалась.Эти изменения должны выглядеть примерно следующим образом:

Изменения после редактирования опции ipaddr

22. После того как вы закончите вносить все изменения в файл, для выхода из файла нажмите ESC.

После этого введите команду:

Нажмите Enter и тогда ваши изменения будут сохранены.

23. Теперь нам необходимо отредактировать этот файл по беспроводному каналу связи, для этого используйте команду:

— измените опцию отключения с ‘1’ на ‘0’;
— измените шифрование (encryption) с ‘none’ на ‘psk2’.

Создайте новую опцию для ключа (new option key) и введите пароль для точки доступа WiFi в кавычках. В этом случае сделанные изменения должны выглядеть примерно следующим образом:

Создание новой опции для ключа и ввод пароля для точки доступа WiFi

24. Проделайте аналогичную процедуру сохранения и выхода из файла, то есть нажмите сначала ESC, а потом введите команду:

25. После того как вы нажмете Enter все необходимые настройки будут сделаны, нам нужно будет всего лишь перезагрузить сеть с помощью команды:

reboot network /etc/init.d/network restart

26. Это приведет к закрытию вашего SSH соединения и рестарту вашей платы Raspberry Pi. Также вы можете отключить Ethernet LAN кабель от вашего компьютера.

27. После того как плата Raspberry Pi перезагрузится вы можете увидеть точку доступа OpenWrt среди ваших Wi-fi устройств находящихся поблизости. Вы можете легко к ней подключиться введя ключ, введенный вами ранее.

Ввод пароля для доступа к нашей сети Wi-fi

28. Вы можете открыть панель управления OpenWrt из любого браузера, просто введя там в строке браузера ее IP адрес. Зайти в нее вы сможете введя в качестве имени пользователя «root», а пароль для входа в нее вы установили на шаге 14.

Вход в панель управления OpenWrt

29. После того все настройки в панели управления OpenWrt будут сделаны, мы можем подключить один конец Ethernet кабеля в ваш роутер от провайдера, а другой – в вашу плату Raspberry Pi.

Соединение Ethernet кабелем роутера от провайдера и платы Raspberry Pi

Перезагрузите плату Raspberry Pi, отключив и подключив снова питание. После этого вы сможете заметить точку доступа OpenWrt среди всех доступных Wi-fi устройств. И если ваша плата Raspberry Pi подключена кабелем к роутеру, то вы можете успешно выходить в интернет, используя эту созданную нами точку доступа.

Загрузка…

1 717 просмотров

Беспроводные роутеры имеют несколько неприятных особенностей. Во-первых, они небезопасны, если только не разобраться с установкой OpenWrt. Во-вторых, со временем они перестают выпускаться, а значит, если ваш роутер сломается, вам придется разбираться с установкой OpenWrt на совершенно другой роутер. В-третьих, как правило, они довольно ограничены в ресурсах, а значит возложить на роутер какие-то дополнительные функции может быть проблематично. Между тем, абсолютно любой компьютер под управлением Linux может быть настроен в качестве полноценного Wi-Fi роутера, что решает проблемы безопасности, повторяемости и производительности. Для примера, рассмотрим создание беспроводного роутера на базе одноплатного компьютера Raspberry Pi.

Подготовительные работы

Я использовал уже не новую Raspberry Pi 2 Model B под управлением Raspbian Linux 9 (Stretch). В последних версиях этого дистрибутива SSH по умолчанию выключен. Чтобы его включить, вам понадобится USB-клавиатура и монитор с HDMI. Логинимся под пользователем pi с паролем raspberry, меняем пароль, включаем SSH:

passwd
sudo systemctl enable ssh.service
sudo systemctl start ssh.service

Из сетевых интерфейсов данный одноплатник имеет только один Ethernet-разъем. Чтобы у устройства появился второй разъем, я использовал сетевую карту от компании Olimex на базе чипа AX88772B. Вы можете помнить это устройство по заметке Снифинг Ethernet-трафика с платой Throwing Star. Чтобы малина также умела и Wi-Fi, был использован донгл Panda Wireless PAU07 (a.k.a Panda N600) на базе чипа Ralink RT5572. Вообще, это довольно неплохой и популярный чип. На eBay вы найдете много других устройств на его базе. Примите во внимание, что не всякий донгл работает с Linux, а из тех, что работают, не всякий поддерживает работу в качестве точки доступа. Поэтому перед покупкой устройства будет не лишним загуглить, подходит ли оно для задачи.

Внешний вид роутера у меня получился следующим:

Raspberry Pi в качестве Wi-Fi роутера

С точки зрения ОС картина такая:

  • eth0 — встроенный Ethernet, здесь у нас будет WAN;
  • eth1 — сетевая карта на базе AX88772B будет использована для LAN;
  • wlan0 — донгл Panda Wireless PAU07, здесь будет WLAN;

Само собой разумеется, все описанные далее шаги будут работать для любого компьютера под управлением Linux с подходящими сетевыми интерфейсами, не только Raspberry Pi. Это вполне может быть какой-то старый стационарный компьютер, нетбук, или другой одноплатник. Интересно, что существуют даже специальные одноплатники с Wi-Fi и двумя или более Ethernet-портами. Одним из таких одноплатников является Orange Pi R1. На AliExpress или eBay устройство можно купить где-то за 20$ с доставкой. Пользователь vova_ivanov из чата Hardware & Radio даже подсказал, что используемый в нем Realtek RTL8189 без проблем работает в роли точки доступа под Linux. А также предупредил, что Orange Pi R1 не умеет PoE и убивается им. В том же чате Xarlan подсказал, что больше подобных одноплатников можно найти на сайте board-db.org. В частности, довольно интересно выглядят Banana Pi BPI-R1, Banana Pi BPI-R2 и Banana Pi BPI-R64. Впрочем, эти устройства относятся уже к другому ценовому диапазону, а BPI-R64 на момент написания этих строк еще нигде не продавался.

Первоначальная настройка NAT

Открываем /etc/network/interfaces и пишем туда следующее:

auto lo
iface lo inet loopback

auto eth0

# Вариант А, без смены MAC:
# iface eth0 inet dhcp

# Вариант Б, со сменой MAC:
iface eth0 inet dhcp
  hwaddress ether 11:22:33:44:55:66

auto eth1
iface eth1 inet static
  address 10.128.10.1
  network 10.128.10.0
  netmask 255.255.255.0
  broadcast 10.128.10.255

auto wlan0
iface wlan0 inet static
  address 10.128.11.1
  network 10.128.11.0
  netmask 255.255.255.0
  broadcast 10.128.11.255

Вариант со сменой MAC нужен исключительно в случае, если ваш интернет-провайдер ограничивает доступ по MAC-адресам, как это зачем-то делает мой. Если ваш ISP не страдает такой фигней, смело используйте вариант А.

Поскольку мы подправили /etc/network/interfaces, демон dhcpcd теперь будет отказываться стартовать. Для порядку отключим его, чтобы система при загрузке не ругалась ошибками:

sudo systemctl stop dhcpcd
sudo systemctl disable dhcpcd

Затем говорим:

sudo systemctl restart networking

Следующим шагом ставим dnsmasq, который будет играть роль DHCP-сервера и кэширующего DNS-сервера. Если нужно, в нем также есть функция TFTP-сервера. Такой сервер, к примеру, бывает нужен для установки OpenWrt на некоторые роутеры.

sudo apt install dnsmasq dnsutils

Правим /etc/dnsmasq.conf:

# Можно явно указать апстрим DNS-сервера
# Это может быть особенно полезно, если вы
# хотите заворачивать весь трафик в VPN
server=8.8.8.8
server=8.8.4.4

domain-needed
bogus-priv

# Listen only given interfaces
interface=lo
interface=eth1
interface=wlan0
bind-interfaces

# DNS cache size
cache-size=15000

# IP ranges
dhcp-range=eth1,10.128.10.50,10.128.10.250
dhcp-range=wlan0,10.128.11.50,10.128.11.250

# Default gateways
dhcp-option=eth1,3,10.128.10.1
dhcp-option=wlan0,3,10.128.11.1

# DNS servers
dhcp-option=eth1,6,10.128.10.1
dhcp-option=wlan0,6,10.128.11.1

Перезапускаем демона:

sudo systemctl restart dnsmasq
sudo systemctl status dnsmasq

Проверяем работу DNS-сервера:

DHCP и DNS настроены, осталось настроить NAT. Делается это при помощи iptables:

# enable IP-forwarding
sudo sh -c ‘echo 1 > /proc/sys/net/ipv4/ip_forward’

# for LAN
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o eth1 -m conntrack \
  —ctstate ESTABLISHED,RELATED -j ACCEPT

# for WLAN
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -m conntrack \
  —ctstate ESTABLISHED,RELATED -j ACCEPT

# allow traffic between LAN and WLAN
sudo iptables -A FORWARD -i wlan0 -o eth1 -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o wlan0 -j ACCEPT

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Подключаем ноутбук ко второму Ethernet-порту малины. Проверяем, что нам выдали IP-адрес, и что имеется доступ в интернет. Если все работает, сохраняем сделанные изменения, чтобы они не потерялись после перезагрузки.

Для этого дописываем в /etc/sysctl.conf:

Выполняем: команду:

sudo sh -c ‘iptables-save > /etc/iptables.rules’

Создаем скрипт /etc/network/if-pre-up.d/iptables:

#!/bin/sh

set -e

iptables-restore < /etc/iptables.rules
exit 0

Говорим:

sudo chmod +x /etc/network/if-pre-up.d/iptables

Перезагружаем малину:

Проверяем, что все работает и после перезагрузки.

Настройка точки доступа Wi-Fi

Устанавливаем hostapd:

Правим /etc/default/hostapd

DAEMON_CONF=»/etc/hostapd/hostapd.conf»

Создаем файл /etc/hostapd/hostapd.conf:

interface=wlan0
ssid=RaspberryPi
country_code=RU

# Enable IEEE 802.11d
ieee80211d=1

# Enable IEEE 802.11n
ieee80211n=1

hw_mode=g
channel=5

# Use PSK
auth_algs=1

wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=s3cre7_pa55w0rd

SSID, пароль и номер канала, естественно, указываем какие нужно.

Запускаем hostapd:

sudo systemctl enable hostapd
sudo systemctl start hostapd

Должна появиться точка доступа с SSID RaspberryPi. Пробуем к ней подключиться и проверяем, что все работает. Если вдруг что-то не работает, отладочный вывод можно получить командой:

sudo hostapd -dd /etc/hostapd/hostapd.conf

Делаем ребут:

Проверяем, что все работает и после ребута.

Заключение

Как видите, вся настройка занимает считанные минуты. Так как теперь у нас есть постоянно работающая машина под управлением Linux с выходом в интернет, почему бы заодно не воспользоваться и имеющимися на ней GPIO? К примеру, можно выводить прогноз погоды на HD44780-совместимые ЖК-индикаторы.

Если заплатить интернет-провайдуру за внешний IP (у моего провайдера эта услуга стоит 1.5$ в месяц), помимо роутера получим еще и домашний VDS. При желании на нем можно поднять веб-сервер, почтовый сервер, или даже VNC. Можно запустить какие-то дополнительные скрипты, например feed2email.py. Только следует учитывать, что по умолчанию SSH торчит наружу. Вам может захотеться сменить используемый им порт, ограничить доступ по IP при помощи фаервола, или же слушать только eth1 и wlan0.

Также теперь можно с легкость завернуть весь трафик в OpenVPN. Для этого на малине нужно 1) указать гугловые DNS в dnsmasq.conf, 2) запустить клиент OpenVPN обычным образом в каком-нибудь screen и 3) добавить правила фаервола для интерфейса tun0 аналогично тому, как это делалось для eth0. Понятно, что последнее можно обернуть в скрипт, чтобы постоянно не вспоминать эти пять команд.

Метки: Linux, Беспроводная связь, Девайсы, Сети, Электроника.

Raspberry Pi — это одноплатный компьютер, который широко используется в различных областях. Он обладает небольшим размером и низкой стоимостью, что делает его идеальным выбором для создания собственного wifi роутера. В этой статье мы рассмотрим процесс настройки и установки Raspberry Pi в качестве wifi роутера.

Настройка Raspberry Pi в качестве wifi роутера включает в себя несколько шагов. Во-первых, необходимо установить операционную систему на Raspberry Pi. Затем нужно настроить wifi адаптер и соединить его с сетью Интернет. После этого можно настроить wifi роутер и задать пароль для доступа к сети.

Установка Raspberry Pi как wifi роутера может быть полезна в различных ситуациях. Например, если у вас есть несколько устройств, которые нужно подключить к Интернету, но нет доступного роутера. Вы также можете использовать Raspberry Pi как wifi роутер для создания отдельной сети в офисе или дома.

Важно отметить, что Raspberry Pi имеет ограниченные возможности по сравнению с обычными роутерами, поэтому он может быть не подходящим выбором для крупных сетей или задач с высокой нагрузкой. Однако, Raspberry Pi является прекрасным решением для небольших сетей и домашних проектов.

В этой статье мы рассмотрим подробный процесс настройки и установки Raspberry Pi в качестве wifi роутера. Мы расскажем о необходимых программных компонентах, конфигурациях и настройках, которые позволят вам создать собственный wifi роутер на базе Raspberry Pi.

Содержание

  1. Подготовка Raspberry Pi к установке
  2. Выбор необходимой операционной системы
  3. Подключение Raspberry Pi к сети
  4. Установка необходимых пакетов для работы wifi роутера
  5. Настройка Raspberry Pi в качестве wifi роутера

Подготовка Raspberry Pi к установке

Перед установкой Raspberry Pi в качестве wifi роутера, необходимо выполнить несколько подготовительных шагов:

1. Установка операционной системы

Сначала нужно установить операционную систему на Raspberry Pi. Рекомендуется использовать операционную систему Raspbian, которая специально разработана для устройств Raspberry Pi. Её можно скачать с официального сайта проекта.

2. Подключение к сети

Чтобы получить доступ к Raspberry Pi, необходимо подключить его к сети. Для этого можно воспользоваться Ethernet-портом или подключиться через Wi-Fi. Если выбрано подключение через Ethernet, необходимо подключить Ethernet-кабель между Raspberry Pi и роутером. Если выбрано подключение через Wi-Fi, нужно выполнить настройку Wi-Fi, указав SSID и пароль сети.

3. Обновление операционной системы

После установки операционной системы необходимо выполнить обновление. Для этого нужно открыть терминал или командную строку и ввести команду sudo apt-get update , а затем команду sudo apt-get upgrade. Эти команды загрузят и установят последние обновления для операционной системы Raspberry Pi.

После выполнения всех этих шагов, Raspberry Pi будет готов к установке в качестве wifi роутера.

Выбор необходимой операционной системы

Перед установкой Raspberry Pi в качестве wifi роутера необходимо выбрать подходящую операционную систему для этой цели. Существует несколько вариантов, которые могут быть рассмотрены:

Raspberry Pi OS: Это официально рекомендуемая операционная система для Raspberry Pi. Она предоставляет большое количество возможностей и настроек для создания wifi роутера.

Ubuntu Server: Ubuntu Server — это операционная система, которая предоставляет мощные функции сервера и может быть использована в качестве операционной системы для Raspberry Pi как wifi роутера.

OpenWRT: OpenWRT — это вариант операционной системы, который специально разработан для создания wifi роутеров. Он имеет простой интерфейс и множество настроек для сетевого оборудования.

Рекомендуется более подробно изучить каждую операционную систему, чтобы выбрать наиболее подходящую для ваших потребностей и навыков. Также не забудьте проверить совместимость выбранной операционной системы с Raspberry Pi, чтобы избежать возможных проблем при настройке и установке.

Подключение Raspberry Pi к сети

Для подключения Raspberry Pi к сети необходимо выполнить следующие шаги:

  1. Проверьте наличие рабочего сетевого кабеля и его правильное подключение.
  2. Убедитесь, что ваш маршрутизатор или модем работают и подключены к электропитанию.
  3. Подключите сетевой кабель из маршрутизатора или модема к Ethernet-порту Raspberry Pi. Порт Ethernet находится справа от порта HDMI.
  4. Убедитесь, что питание Raspberry Pi подключено и устройство включено.
  5. Дождитесь загрузки операционной системы Raspberry Pi.
  6. Настройте сетевые параметры Raspberry Pi с помощью команды sudo nano /etc/network/interfaces.
  7. Редактируйте файл конфигурации сети в соответствии с вашими параметрами сети. Не забудьте сохранить изменения.
  8. Перезагрузите Raspberry Pi командой sudo reboot.
  9. После перезагрузки Raspberry Pi будет подключен к вашей сети.

Теперь вы можете использовать Raspberry Pi в качестве wifi роутера и настроить его параметры с помощью соответствующего программного обеспечения.

Установка необходимых пакетов для работы wifi роутера

Перед настройкой Raspberry Pi в качестве wifi роутера необходимо установить несколько пакетов, которые обеспечат его корректную работу:

  • hostapd: пакет, отвечающий за создание точки доступа wifi;
  • dnsmasq: пакет, предоставляющий возможность работать в режиме DHCP сервера;
  • iptables: пакет, используемый для настройки правил межсетевого экрана.

Чтобы установить эти пакеты, выполните следующую команду в терминале Raspberry Pi:

sudo apt-get install hostapd dnsmasq iptables

По завершении установки всех необходимых пакетов, Raspberry Pi будет готов к дальнейшей настройке в качестве wifi роутера.

Настройка Raspberry Pi в качестве wifi роутера

Для настройки Raspberry Pi в качестве wifi роутера необходимо выполнить следующие шаги:

  1. Установить операционную систему на Raspberry Pi. Рекомендуется использовать операционную систему Raspbian. Ее можно скачать с официального сайта Raspberry Pi и установить на MicroSD карту.
  2. Подключить Raspberry Pi к интернету через Ethernet порт. Для этого нужно подключить Ethernet кабель к Raspberry Pi и к модему или роутеру.
  3. Настроить Raspberry Pi как точку доступа wifi. Для этого необходимо открыть терминал на Raspberry Pi и выполнить команду:

sudo apt-get install hostapd dnsmasq

Hostapd — это программа, которая позволяет настроить Raspberry Pi в качестве точки доступа wifi. Dnsmasq — это программа для настройки DHCP и DNS сервера на Raspberry Pi.

  1. Создать конфигурационный файл для hostapd. Для этого нужно открыть терминал и выполнить команду:

sudo nano /etc/hostapd/hostapd.conf

Внутри файла hostapd.conf нужно указать следующие параметры:

interface=wlan0
ssid=Имя_сети
hw_mode=g
channel=6
wpa=2
wpa_passphrase=Пароль_сети

Где:
— interface — имя интерфейса wifi адаптера Raspberry Pi
— ssid — имя вашей домашней wifi сети
— hw_mode — режим работы wifi (g, b, n)
— channel — номер канала wifi сети
— wpa — версия протокола безопасности (1 или 2)
— wpa_passphrase — пароль вашей домашней wifi сети

  1. Сохранить и закрыть файл hostapd.conf.
  2. Настроить dnsmasq. Для этого нужно открыть терминал и выполнить команду:

sudo nano /etc/dnsmasq.conf

Внутри файла dnsmasq.conf нужно указать следующие параметры:

interface=wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h

Где:
— interface — имя интерфейса wifi адаптера Raspberry Pi
— dhcp-range — диапазон адресов для подключаемых устройств

  1. Сохранить и закрыть файл dnsmasq.conf.
  2. Настроить IPv4 forwarding. Для этого нужно открыть терминал и выполнить команду:

sudo nano /etc/sysctl.conf

Внутри файла sysctl.conf нужно найти и раскомментировать следующую строку:

net.ipv4.ip_forward=1

  1. Сохранить и закрыть файл sysctl.conf.
  2. Настроить NAT для IPv4 forwarding. Для этого нужно открыть терминал и выполнить команду:

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

  1. Сохранить iptables правила и загрузить их при каждой перезагрузке Raspberry Pi. Для этого нужно открыть терминал и выполнить команду:

sudo sh -c «iptables-save > /etc/iptables.ipv4.nat»

После этого нужно открыть файл rc.local:

sudo nano /etc/rc.local

Внутри файла rc.local нужно добавить следующую строку перед «exit 0»:

iptables-restore < /etc/iptables.ipv4.nat

  1. Сохранить и закрыть файл rc.local.
  2. Перезагрузить Raspberry Pi, чтобы применить все настройки.

После перезагрузки Raspberry Pi вы сможете подключиться к вашей домашней wifi сети с помощью других устройств, используя указанное имя сети и пароль.

Таким образом, настройка Raspberry Pi в качестве wifi роутера позволяет создать собственную домашнюю wifi сеть, которую можно использовать для подключения различных устройств к интернету.

Мини-компьютер Raspberry Pi открыл новые возможности для тех, кто хочет создать собственную сеть. Одним из самых полезных применений Raspberry Pi является его использование в качестве wifi роутера. Вместе с операционной системой Raspbian и установленным wifi-адаптером, вы можете создать надежную и функциональную беспроводную сеть с минимальными затратами.

В этой статье мы рассмотрим различные способы создания wifi роутера на базе Raspberry Pi. Мы расскажем о необходимых компонентах и настройках, которые позволят вам создать собственную беспроводную сеть, маршрутизировать трафик и обеспечить безопасность подключенных устройств.

Подключение устройств к вашей собственной беспроводной сети имеет множество преимуществ. Вы сможете обмениваться данными между устройствами, создавать локальные сервера, а также защищать свой трафик от посторонних лиц. Кроме того, создание собственной сети позволяет расширить покрытие wifi и управлять скоростью и качеством интернет-соединения.

Если у вас есть Raspberry Pi и вы хотите улучшить свою беспроводную сеть, создание wifi роутера на основе мини-компьютера — отличное решение. В этой статье мы рассмотрим все необходимые шаги для создания собственной беспроводной сети с использованием Raspberry Pi. Готовы начать?

Содержание

  1. Как создать свою сеть на основе Raspberry Pi wifi роутера
  2. Шаг 1: Подготовка Raspberry Pi к использованию в качестве wifi роутера
  3. Шаг 2: Установка необходимого программного обеспечения на Raspberry Pi

Как создать свою сеть на основе Raspberry Pi wifi роутера

Создание собственной сети на основе Raspberry Pi wifi роутера может быть удобным и доступным способом обеспечить беспроводное подключение к интернету для ваших устройств.

Для начала вам понадобится Raspberry Pi, мини-компьютер, который можно приобрести по доступной цене. Также вам понадобится беспроводной адаптер Wi-Fi, который подключится к Raspberry Pi и позволит ему работать в качестве точки доступа.

После того, как у вас есть Raspberry Pi и Wi-Fi адаптер, вам нужно установить и настроить операционную систему Raspbian на Raspberry Pi. Подключите Raspberry Pi к монитору, клавиатуре и мыши, загрузите Raspbian и выполните настройку сети.

После успешной установки и настройки Raspbian вы можете перейти к созданию собственной сети на основе Raspberry Pi wifi роутера. Это можно сделать, используя утилиту hostapd, которая позволяет Raspberry Pi работать как точка доступа Wi-Fi.

Сначала вам нужно установить утилиту hostapd. Откройте терминал на Raspberry Pi и выполните следующую команду:

sudo apt-get install hostapd

После успешной установки утилиты hostapd вы можете настроить ее. Откройте файл настройки утилиты hostapd с помощью команды:

sudo nano /etc/hostapd/hostapd.conf

В этом файле вы можете указать имя и пароль для своей сети Wi-Fi, выбрать канал и другие параметры. Найдите строку с именем сети (SSID) и настройте ее в соответствии с вашими предпочтениями:

ssid=название_сети

Также вы можете указать пароль для своей сети Wi-Fi, чтобы защитить ее от несанкционированного доступа:

wpa_passphrase=пароль

После настройки утилиты hostapd отредактируйте файл сетевых настроек:

sudo nano /etc/network/interfaces

Добавьте следующие строки в файл:

iface wlan0 inet static

address 192.168.1.1

netmask 255.255.255.0

Эти строки указывают Raspberry Pi использовать статический IP-адрес и определенную подсеть. Замените «192.168.1.1» на IP-адрес, который вы хотите использовать для вашей сети Wi-Fi.

После настройки утилиты hostapd и сетевых настроек вам нужно перезагрузить Raspberry Pi, чтобы изменения вступили в силу:

sudo reboot

После перезагрузки Raspberry Pi вы должны быть в состоянии подключиться к новой сети Wi-Fi с использованием заданного вами имени сети и пароля. Вам также можно будет присваивать IP-адреса устройствам, подключенным к вашей сети Wi-Fi.

Теперь вы создали свою сеть на базе Raspberry Pi wifi роутера, которую вы можете использовать для беспроводного подключения к интернету и обмена данными между устройствами. Удачи в вашем проекте!

Шаг 1: Подготовка Raspberry Pi к использованию в качестве wifi роутера

1 Raspberry Pi Мини-компьютер размером с кредитную карту, на котором мы будем создавать наш wifi роутер.
2 SD-карта SD-карта, объемом не менее 8 ГБ, на которую мы будем устанавливать операционную систему для Raspberry Pi.
3 Компьютер Компьютер с возможностью записи на SD-карту, на котором мы будем создавать образ операционной системы для Raspberry Pi.
4 Клавиатура и мышь Клавиатура и мышь для управления Raspberry Pi в процессе настройки.
5 Экран Экран с HDMI-портом для подключения Raspberry Pi в качестве монитора.
6 Питание USB-адаптер питания для Raspberry Pi.
7 Интернет-подключение Интернет-подключение через Ethernet-кабель для загрузки операционной системы на Raspberry Pi.

После того, как вы подготовили необходимое оборудование, вы готовы перейти к установке операционной системы на Raspberry Pi. В следующем разделе мы расскажем о выборе и установке правильной операционной системы для создания wifi роутера.

Шаг 2: Установка необходимого программного обеспечения на Raspberry Pi

Перед тем, как мы сможем использовать Raspberry Pi в качестве wifi роутера, нам нужно установить необходимое программное обеспечение на наш мини-компьютер. В этом разделе мы рассмотрим, как установить следующие компоненты:

Название Описание
Raspbian Операционная система, основанная на Linux и разработанная специально для Raspberry Pi.
DHCP сервер Сервер, который будет назначать IP-адреса устройствам, подключенным к нашему wifi роутеру.
Hostapd Демон, отвечающий за создание и управление wifi точкой доступа на Raspberry Pi.
DNS сервер Сервер, который будет отвечать на DNS-запросы, отправляемые устройствами подключенными к нашей сети.
Iptables Утилита для настройки правил межсетевого экрана (firewall) на Raspberry Pi.

Продолжение следует…

  • Qos в роутере и нужен ли он
  • Qos что это в роутере xiaomi redmi
  • Qos wmm в роутере что это
  • Qnap проброс портов на роутере
  • Qnap как подключить к роутеру