Оглавление:
- Запасы
- Шаг 1. Установите и обновите Raspbian
- Шаг 2: Установите Hostapd и Dnsmasq
- Шаг 3. Настройте статический IP-адрес для интерфейса Wlan0
- Шаг 4. Настройте DHCP-сервер (dnsmasq)
- Шаг 5:
- Шаг 6. Настройте переадресацию трафика
- Шаг 7: Добавление нового правила Iptables
- Шаг 8: Включение подключения к Интернету
- Шаг 9: перезагрузка
- Шаг 10: Готово
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Точка доступа Wi-Fi "src =" https://content.instructables.com/ORIG/F4E/T89P/K78SLNTN/F4ET89PK78SLNTN-j.webp
Точка доступа Wi-Fi "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300'%} ">
Вы когда-нибудь ходили в места без Wi-Fi, и ваши друзья не выдавали точку доступа? У меня есть, и в этой инструкции я покажу вам шаг за шагом, как превратить Raspberry Pi в точку доступа Wi-Fi. Более того, этот проект обойдется вам менее чем в 100 долларов США!
Запасы
Спецификация:
Raspberry Pi 3 (технически подойдет любая модель, но я считаю эту модель более последовательной):
Wi-Fi Stick (это необязательно, так как raspberry pi уже имеет встроенный Wi-Fi, но сигнал будет лучше с помощью Wi-Fi-палки): https://www.amazon.com/Adapter-1200Mbps-TECHKEY-Wireless-Network-300Mbps/dp / B07J65G9DD / ref = sr_1_3? Keywords = wifi + stick & qid = 1583146106 & sr = 8-3
Вам также понадобится клавиатура, мышь, экран / монитор и источник питания, который я получил от powerbank (при условии, что они у вас уже есть).
Шаг 1. Установите и обновите Raspbian
Обновите Raspbian, введя следующие команды:
sudo apt-get updatesudo apt-get upgrade
Если вы получили обновление, рекомендуется перезагрузиться с помощью sudo reboot.
Шаг 2: Установите Hostapd и Dnsmasq
Это две программы, которые мы собираемся использовать, чтобы превратить Raspberry Pi в точку беспроводного доступа. Чтобы получить их, просто введите эти строки в терминал:
sudo apt-get install hostapd
sudo apt-get install dnsmasq
Оба раза вам нужно будет нажать y, чтобы продолжить. hostapd - это пакет, который позволяет нам создавать беспроводную точку доступа с помощью Raspberry Pi, а dnsmasq - это простой в использовании DHCP- и DNS-сервер. Мы собираемся отредактировать файлы конфигурации программ через мгновение, поэтому давайте выключим программы, прежде чем мы начнем возиться:
sudo systemctl остановить hostapd
sudo systemctl остановить dnsmasq
Шаг 3. Настройте статический IP-адрес для интерфейса Wlan0
Для наших целей я предполагаю, что мы используем стандартные IP-адреса домашней сети, например 192.168. ###. ###. Учитывая это предположение, давайте назначим IP-адрес 192.168.0.10 для wlan0
интерфейс, отредактировав файл конфигурации dhcpcd. Начните редактирование с помощью этой команды:
sudo nano /etc/dhcpcd.conf
Теперь, когда вы находитесь в файле, добавьте в конец следующие строки:
интерфейс wlan0
статический ip_address = 192.168.0.10 / 24
denyinterfaces eth0
denyinterfaces wlan0
(Последние две строки необходимы для того, чтобы наш мост работал - но об этом подробнее на шаге 8.) После этого нажмите Ctrl + X, затем Y, затем Enter, чтобы сохранить файл и выйти из редактора.
Шаг 4. Настройте DHCP-сервер (dnsmasq)
Мы собираемся использовать dnsmasq в качестве нашего DHCP-сервера. Идея DHCP-сервера заключается в том, чтобы
динамически распределять параметры конфигурации сети, такие как IP-адреса, для интерфейсов и служб. Файл конфигурации dnsmasq по умолчанию содержит много ненужной информации, поэтому нам проще начать с нуля. Давайте переименуем файл конфигурации по умолчанию и напишем новый:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf
Теперь вы будете редактировать новый файл, а после переименования старого файла это будет файл конфигурации, который будет использовать dnsmasq. Введите эти строки в новый файл конфигурации:
интерфейс = wlan0
dhcp-range = 192.168.0.11, 192.168.0.30, 255.255.255.0, 24 часа
Добавленные нами строки означают, что мы собираемся предоставить IP-адреса от 192.168.0.11 до 192.168.0.30 для интерфейса wlan0.
Шаг 5:
Еще один конфигурационный файл! На этот раз мы возимся с файлом конфигурации hostapd. Откройте ее:
sudo nano /etc/hostapd/hostapd.conf
Это должно создать новый файл. Введите это:
интерфейс = wlan0
мост = br0
hw_mode = g
канал = 7
wmm_enabled = 0
macaddr_acl = 0
auth_algs = 1
ignore_broadcast_ssid = 0
wpa = 2
wpa_key_mgmt = WPA-PSK
wpa_pairwise = TKIP
rsn_pairwise = CCMP
ssid = СЕТЬ
wpa_passphrase = ПАРОЛЬ
Обратите внимание, что там, где у меня есть «СЕТЬ» и «ПАРОЛЬ», вы должны придумать свои собственные имена. Таким образом вы подключитесь к сети Pi с других устройств. Нам все еще нужно показать системе расположение файла конфигурации:
судо нано / и т.д. / по умолчанию / hostapd
В этом файле найдите строку с # DAEMON_CONF =”” - удалите этот # и поместите путь к нашему файлу конфигурации в кавычки, чтобы он выглядел так: DAEMON_CONF = "/ etc / hostapd / hostapd.conf" Знак # предотвращает чтение строки как кода, поэтому вы, по сути, оживляете эту строку здесь, указывая ей правильный путь к нашему файлу конфигурации.
Шаг 6. Настройте переадресацию трафика
Идея здесь в том, что когда вы подключаетесь к Pi, он будет перенаправлять трафик по вашему кабелю Ethernet. Итак, мы собираемся использовать wlan0 для пересылки через кабель Ethernet на ваш модем. Это включает в себя редактирование еще одного файла конфигурации:
sudo nano /etc/sysctl.conf
Теперь найдите эту строку: # net.ipv4.ip_forward = 1… и удалите символ «#» - оставив все остальное, так что она просто читается:
net.ipv4.ip_forward = 1
Шаг 7: Добавление нового правила Iptables
Затем мы собираемся добавить маскировку IP для исходящего трафика на eth0 с помощью iptables:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
… И сохраните новое правило iptables:
sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"
Чтобы загрузить правило при загрузке, нам нужно отредактировать файл /etc/rc.local и добавить следующую строку прямо над строкой exit 0:
iptables-restore </etc/iptables.ipv4.nat
Шаг 8: Включение подключения к Интернету
Теперь Raspberry Pi действует как точка доступа, к которой могут подключаться другие устройства. Однако эти устройства пока не могут использовать Pi для доступа в Интернет. Чтобы сделать это возможным, нам нужно построить мост, который будет передавать весь трафик между интерфейсами wlan0 и eth0.
Чтобы построить мост, давайте установим еще один пакет:
sudo apt-get install bridge-utils
Мы готовы добавить новый мост (под названием br0):
sudo brctl addbr br0
Затем мы подключим интерфейс eth0 к нашему мосту:
sudo brctl addif br0 eth0
Наконец, давайте отредактируем файл интерфейсов:
Судо нано / и т. д. / сеть / интерфейсы
… И добавьте следующие строки в конец файла:
авто br0
iface br0 inet руководство
bridge_ports eth0 wlan0
Шаг 9: перезагрузка
Теперь, когда мы готовы, давайте перезагрузимся с помощью sudo reboot.
Теперь ваш Pi должен работать как точка беспроводного доступа. Попробуйте, переключившись на другое устройство и ища имя сети, которое вы использовали на шаге 5.
Шаг 10: Готово
Да, теперь вы можете хвастаться перед друзьями своим новым сервером Wi-Fi с точкой доступа!