Настройка беспроводной точки доступа — метод NAT (интернет через беспроводной интерфейс)

Настройка беспроводной точки доступа — метод 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.

Вывод команды ifconfig с сетевыми интерфейсами wlan0 и wlan1

Настройка WiFi-подключения к интернету

Первое, что нужно сделать — настроить наше WiFi-подключение к интернету. Для этого нам нужно знать SSID и пароль.

Отредактируйте файл wpa_supplicant.conf:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

и добавьте следующий фрагмент, заменив данные на свои:

network={
    ssid="YOUR_NETWORK_SSID"
    psk="WIFI_PASSWORD"
}
Файл wpa_supplicant.conf с настройками WiFi-сети

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

Теперь мы можем настроить нашу точку доступа. Первое, что нужно сделать — назначить точке доступа статический IP-адрес.

Отредактируйте файл dhcpcd.conf:

sudo nano /etc/dhcpcd.conf

и добавьте следующее:

interface wlan1
    static ip_address=192.168.10.1/24
    nohook wpa_supplicant
Файл dhcpcd.conf со статическим IP-адресом для wlan1

Далее нам нужно настроить 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
Файл dnsmasq.conf с настройками DHCP и DNS

Теперь нам нужно настроить параметры точки доступа.

Отредактируйте файл 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.conf с настройками точки доступа

После добавления этой конфигурации нам нужно указать hostapd использовать её по умолчанию. Для этого нам нужно отредактировать файл настроек hostapd по умолчанию:

sudo nano /etc/default/hostapd

Обновите строку #DAEMON_CONF на:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Обратите внимание, что символ # был удален!

Файл /etc/default/hostapd с путем к конфигурации

Последний шаг — настроить автозапуск hostapd при загрузке:

sudo systemctl unmask hostapd
sudo systemctl enable hostapd
Включение автозапуска hostapd через systemctl

Настройка NAT и перенаправления трафика

После завершения настройки точки доступа, последние шаги — разрешить передачу трафика между двумя WiFi-интерфейсами.

Во-первых, убедитесь, что включена переадресация IPv4.

Отредактируйте файл sysctl.conf:

sudo nano /etc/sysctl.conf

Найдите строку, которая гласит:

# net.ipv4.ip_forward=1

И раскомментируйте её, удалив символ #:

net.ipv4.ip_forward=1
Файл sysctl.conf с включенной переадресацией IPv4

Теперь мы можем добавить правило 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
Файл rc.local с правилом загрузки iptables при старте системы

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