- Обязательные компоненты:
- Шаги по настройке Raspberry Pi в качестве точки беспроводного доступа:
- Доступ к Интернету с точки доступа Wi-Fi Raspberry Pi
- Тестирование беспроводной точки доступа Raspberry Pi:
Привет, ребята, сегодня я покажу, как превратить Raspberry Pi в точку беспроводного доступа, к которой могут подключаться другие устройства. По сути, мы превращаем Raspberry Pi в беспроводной «маршрутизатор». В качестве бонуса я также покажу нам, как настроить точку беспроводного доступа, созданную для предоставления (совместного использования) доступа в Интернет для (с) подключенных устройств. Итак, приступим к созданию точки доступа Wi-Fi с Raspberry Pi.
Обязательные компоненты:
Следующие компоненты потребуются для настройки raspberry pi в качестве точки беспроводного доступа:
- Raspberry Pi 2
- SD-карта на 8 ГБ
- USB-ключ Wi-Fi
- сетевой кабель
- Блок питания для Pi.
- Монитор (необязательно)
- Клавиатура (необязательно)
- Мышь (необязательно)
В то время как Raspberry Pi 3 и Pi zero широко доступны и могли быть использованы, для этого урока я буду использовать Raspberry Pi 2, потому что мой Pi3 в настоящее время занят выполнением некоторых сложных задач, связанных с компьютерным зрением, которыми я надеюсь поделиться в учебник здесь скоро. Однако эта процедура также работает для Pi 3 и должна (обратите внимание на выделение) также работать для Raspberry Pi zero W. При использовании Raspberry Pi 3 или Zero W не будет необходимости во внешнем модуле Wi-Fi. поскольку на этих двух платах уже есть Wi-Fi.
Чтобы определить цели этого руководства более сложно, мы дадим нашему Raspberry Pi возможность служить точкой беспроводного доступа, и для этого нам нужно будет установить и настроить программное обеспечение, которое оснащает Raspberry Pi этой функцией вместе с программное обеспечение сервера DHCP для обеспечения сетевого адреса для устройств, которые будут подключены к точке доступа. Чтобы удовлетворить это требование к программному обеспечению, мы будем использовать программное обеспечение dnsmasq и hostapd.
Это руководство будет основано на ОС Raspbian stretch, поэтому, чтобы продолжить как обычно, я предполагаю, что вы знакомы с настройкой Raspberry Pi с ОС Raspbian stretch и знаете, как подключиться к Raspberry Pi по SSH с помощью программного обеспечения терминала, такого как шпатлевка. Если у вас есть проблемы с чем-либо из этого, на этом веб-сайте есть множество руководств по Raspberry Pi, которые могут помочь.
Шаги по настройке Raspberry Pi в качестве точки беспроводного доступа:
Выполнив следующие ключевые шаги один за другим, мы сможем настроить raspberry pi в качестве точки беспроводного доступа. Следует отметить, что некоторые беспроводные USB-ключи не работают в режиме AP, но после того, как я попробовал этот ключ, и он сработал, я склонен сказать, что 5 из 8 ключей будут работать.
Шаг 1. Обновите Pi
Как обычно, мы обновляем Raspberry Pi, чтобы у нас была последняя версия всего. Это делается с помощью;
sudo apt-get update
с последующим;
sudo apt-get upgrade
После завершения обновления перезагрузите ваш Pi, чтобы изменения вступили в силу.
Шаг 2. Установите « dnsmasq » и « hostapd »
Затем мы устанавливаем программное обеспечение, которое позволяет настроить Pi как точку беспроводного доступа, а также программное обеспечение, которое помогает назначать сетевой адрес устройствам, которые подключаются к AP. Мы делаем это, бегая;
sudo apt-get install dnsmasq
с последующим;
sudo apt-get install hostapd
или вы можете объединить это, запустив;
sudo apt-get install dnsmasq hostapd
Шаг 3. Остановите запуск программного обеспечения
Поскольку у нас еще нет настроенного программного обеспечения, нет смысла запускать его, поэтому мы отключаем их работу в подполье. Для этого мы запускаем следующие команды, чтобы остановить работу systemd .
sudo systemctl stop dnsmasq sudo systemctl stop 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, чтобы изменения, внесенные в конфигурацию, вступили в силу с помощью;
Перезапуск dhcpcd службы Sudo
Шаг 5. Настройте сервер dhcpcd
Теперь, когда для Raspberry Pi wlan настроен статический IP-адрес, нам нужно настроить сервер dhcpcd и предоставить ему диапазон IP-адресов, которые будут назначены устройствам, которые подключаются к точке беспроводного доступа. Для этого нам нужно отредактировать файл конфигурации программного обеспечения dnsmasq, но файл конфигурации программного обеспечения содержит слишком много информации, и многое может пойти не так, если оно не отредактировано должным образом, поэтому вместо редактирования мы будем создавать новую конфигурацию файл, содержащий ровно столько информации, сколько необходимо для полноценной работы беспроводной точки доступа.
Перед созданием нового файла конфигурации мы сохраняем старый, перемещая и переименовывая его.
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.old
Затем запустите редактор, чтобы создать новый файл конфигурации;
sudo nano /etc/dnsmasq.conf
в запущенном редакторе скопируйте строки ниже и вставьте или введите прямо в него.
Interface = wlan0 # указать интерфейс связи, который обычно является wlan0 для беспроводного dhcp-range = 192.168.4.2, 192.168.4.20, 255.255.255.0,24h
содержимое файла должно выглядеть как на изображении ниже.
Сохраните файл и выйдите. Содержимое этого файла конфигурации предназначено только для указания диапазона IP-адресов, который может быть назначен устройствам, подключенным к точке беспроводного доступа.
После этого мы сможем идентифицировать устройства в нашей сети.
Следующий набор шагов поможет нам настроить программное обеспечение хоста точки доступа, настроить ssid, выбрать encrytpion и т. Д.
Шаг 6. Настройте hostapd для SSID и пароля
Нам нужно отредактировать файл конфигурации hostapd (запустить sudo nano /etc/hostapd/hostapd.conf ), чтобы добавить различные параметры для настраиваемой беспроводной сети, включая ssid и пароль. Следует отметить, что пароль (кодовая фраза) должен содержать от 8 до 64 символов. Меньшее не сработает.
interface = wlan0 driver = 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_pair_mgmt = wpa_key_mgmt rsn_pairwise = CCM
Содержимое файла должно выглядеть как на изображении ниже.
Не стесняйтесь менять ssid и пароль в соответствии со своими потребностями и желаниями.
Сохраните файл конфигурации и выйдите.
После того, как файл конфигурации был сохранен, нам нужно указать программному обеспечению hostapd, где был сохранен файл конфигурации. Для этого запустите;
судо нано / и т.д. / по умолчанию / 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 POSTROUTING -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
и добавьте следующие строки в нижней части системы, непосредственно перед оператором exit 0
iptables-restore </etc/iptables.ipv4.nat
Шаг 9: Перезагрузитесь! и использовать
На этом этапе нам нужно перезагрузить систему, чтобы изменения вступили в силу, и протестировать точку беспроводного доступа, запускающуюся при загрузке с обновленным правилом iptables.
Перезагрузите систему, используя:
перезагрузка sudo
Как только система снова включится, вы сможете получить доступ к точке беспроводного доступа, используя любое устройство с поддержкой Wi-Fi и пароль, использованный во время настройки.
Доступ к Интернету с точки доступа Wi-Fi Raspberry Pi
О да, поэтому я добавлю бонусное руководство, чтобы показать, как созданную точку беспроводного доступа можно использовать для обеспечения подключения к Интернету для подключенных к ней устройств. Доступ в Интернет, распределяемый между устройствами, предоставляется через порт Ethernet на Pi, который может быть подключен к маршрутизатору или любым подобным устройствам.
Чтобы реализовать это, нам нужно установить «мост» между беспроводным устройством и устройством Ethernet на Raspberry Pi (точка беспроводного доступа), чтобы передавать весь трафик между двумя интерфейсами. Чтобы настроить это, мы будем использовать программное обеспечение bridge-utils . Установите hostapd и bridge-utils . Хотя мы уже устанавливали hostapd , запустите установку еще раз, чтобы развеять все сомнения.
sudo apt-get install hostapd bridge-utils
Затем мы останавливаем hostapd, чтобы настроить программное обеспечение.
sudo systemctl остановить hostapd
При создании моста над двумя соединяемыми портами создается конструкция более высокого уровня, и мост, таким образом, становится сетевым устройством. Чтобы предотвратить конфликты, нам необходимо остановить выделение 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, чтобы различные устройства могли работать с мостом. Отредактируйте файл интерфейсов, включив в него информацию ниже;
#Bridge setup auto br0 iface br0 inet manual bridge_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:
Чтобы проверить эти инструкции, используйте мобильный телефон или любое другое устройство, способное подключаться к сети точки доступа Wi-Fi, вы должны увидеть всплывающее окно с названием. Затем вы можете подключиться к нему, используя тот ужасный пароль, который мы указали «emmanuel». Обязательно используйте более безопасный пароль при реализации. Я использовал этот пароль только для того, чтобы упростить отслеживание.
Также обратите внимание, что для того, чтобы точка беспроводного доступа стала видимой после перезагрузки, может потребоваться некоторое время, поскольку Pi должен загрузиться до начала сетевой активности.
Вот и все, ребята из этого учебника. Это длинный текст, спасибо, что нашли время почитать. Отзывы и комментарии всегда приветствуются.
До следующего раза!