Настройка беспроводной точки доступа — метод NAT (интернет через беспроводной интерфейс)
В этом руководстве мы покажем вам, как настроить Raspberry Pi в качестве WiFi точки доступа и как использовать NAT для подключения точки доступа к вашему беспроводному интернет-соединению. Если вы хотите подключить точку доступа к интернету через проводное Ethernet-соединение, ознакомьтесь с этим руководством.
Мы рекомендуем проходить это руководство с проводным Ethernet-подключением, чтобы сохранить интернет-соединение для установки необходимых пакетов.
В этом руководстве мы будем использовать наш WiFi-адаптер с ультра-большим радиусом действия и высоким коэффициентом усиления в качестве точки доступа, а встроенный WiFi на Raspberry Pi 3B+ — для подключения к интернету. Если у вас более старая модель Pi без встроенного WiFi, вы можете просто использовать два USB WiFi-адаптера.
Начнем с того, что убедимся, что наша установка Raspbian полностью обновлена:
sudo apt-get update
sudo apt-get upgrade
Затем мы можем установить программное обеспечение, необходимое для этого руководства — hostapd и dnsmasq:
sudo apt-get install dnsmasq hostapd
Теперь мы можем проверить имена наших WiFi-интерфейсов, так как они понадобятся нам позже.
ifconfig
Вы должны увидеть список сетевых интерфейсов, включая WiFi-интерфейсы. Скорее всего, они будут называться wlan0 и wlan1.
Настройка WiFi-подключения к интернету
Первое, что нужно сделать — настроить наше WiFi-подключение к интернету. Для этого нам нужно знать SSID и пароль.
Отредактируйте файл wpa_supplicant.conf:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
и добавьте следующий фрагмент, заменив данные на свои:
network={
ssid="YOUR_NETWORK_SSID"
psk="WIFI_PASSWORD"
}
Настройка точки доступа
Теперь мы можем настроить нашу точку доступа. Первое, что нужно сделать — назначить точке доступа статический IP-адрес.
Отредактируйте файл dhcpcd.conf:
sudo nano /etc/dhcpcd.conf
и добавьте следующее:
interface wlan1
static ip_address=192.168.10.1/24
nohook wpa_supplicant
Далее нам нужно настроить dnsmasq для предоставления правильного IP-адреса подключениям через точку доступа.
Отредактируйте файл dnsmasq.conf:
sudo nano /etc/dnsmasq.conf
и добавьте следующее:
interface=wlan1
dhcp-range=192.168.10.2,192.168.10.50,255.255.255.0,24h
server=8.8.8.8
listen-address=127.0.0.1
listen-address=192.168.10.1
Теперь нам нужно настроить параметры точки доступа.
Отредактируйте файл hostapd.conf:
sudo nano /etc/hostapd/hostapd.conf
и добавьте следующее:
interface=wlan1
driver=nl80211
ssid=RPi_AP
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=SecurePassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
Измените следующие строки по необходимости:
ssid= — это имя сети, которое вы видите при поиске WiFi-сетей.
wpa_passphrase= — это пароль, необходимый для подключения к WiFi-сети (обратите внимание, что кавычки НЕ должны использоваться вокруг пароля, и он должен быть длиннее 8 символов, но короче 64).
После добавления этой конфигурации нам нужно указать hostapd использовать её по умолчанию. Для этого нам нужно отредактировать файл настроек hostapd по умолчанию:
sudo nano /etc/default/hostapd
Обновите строку #DAEMON_CONF на:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Обратите внимание, что символ # был удален!
Последний шаг — настроить автозапуск hostapd при загрузке:
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
Настройка NAT и перенаправления трафика
После завершения настройки точки доступа, последние шаги — разрешить передачу трафика между двумя WiFi-интерфейсами.
Во-первых, убедитесь, что включена переадресация IPv4.
Отредактируйте файл sysctl.conf:
sudo nano /etc/sysctl.conf
Найдите строку, которая гласит:
# net.ipv4.ip_forward=1
И раскомментируйте её, удалив символ #:
net.ipv4.ip_forward=1
Теперь мы можем добавить правило iptables:
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Сохраните правила в файл, чтобы мы могли автоматически загружать правило при загрузке:
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Чтобы загрузить файл при загрузке, отредактируйте файл rc.local:
sudo nano /etc/rc.local
непосредственно перед:
exit 0
добавьте:
iptables-restore < /etc/iptables.ipv4.nat
Вот и все! Перезагрузите ваш Raspberry Pi, и вы должны увидеть беспроводную сеть с именем RPi_AP. Подключитесь к ней, и у вас должен быть доступ к интернету (при условии, что Pi подключился к вашей основной WiFi-сети).