Этапы:
1. Настройка Static IP для wlan0.
2. Настройка DHCP сервера.
3. Настройка AP (точки доступа).
4. Роутинг и IP forwarding.

Предварительная подготовка:

Первый шаг — установить и запустить Raspberry Pi 3 (B+) .Купить можно перейдя по этой ссылке.

В этом руководстве образ- (Rasbian Stretch). Официальное руководство по началу работы на сайте Raspberry Pi — лучший ресурс для этого.
Как только ваш Raspberry Pi будет готов и запущен, переходите к следующему шагу.
Обращаем ваше внимание,что не на каждой SD карте будет работать ,поэтому лучше покупать проверенные носители информации.

Купить SD карту можно перейдя по этой ссылке.

Далее-Обновление Raspberry Pi

Сначала мы обновим список пакетов, доступных в репозиториях, используя терминал

    sudo apt-get update

После этого мы можем установить эти последние пакеты с помощью этой команды

    sudo apt-get upgrade

Настройка Static IP для wlan0

Настраивать статический IP в Raspbian Stretch нужно в конфиге /etc/dhcpcd.conf:

interface wlan0
static ip_address=192.168.2.1/24
static routers=192.168.2.1
static domain_name_servers=192.168.2.1 8.8.8.8

Настройка DHCP сервера

Установка dnsmasq:

sudo apt -y install dnsmasq

Настройка выдачи IP адресов для клиентов:  

sudo nano /etc/dnsmasq.conf

interface=wlan0
domain-needed
bogus-priv
dhcp-range=192.168.2.120,192.168.2.250,12h

Настройка режима AP

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

sudo apt install hostapd

Конфигурим параметры AP:

sudo nano /etc/hostapd/hostapd.conf

interface=wlan0
## Drivers: hostap/wired/none/nl80211/bsd
#driver=nl80211
#ieee80211n=1
ssid=eschool
country_code=UA
hw_mode=g
channel=6
wmm_enabled=0
macaddr_acl=0
auth_algs=1
## 1: hide SSID
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=eschool8
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Укажем путь к конфигу при запуске сервиса hostapd:

sudo nano /etc/default/hostapd

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

Проверим режим точки доступа:

sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf

p.s
Команда для определения wifi драйвера:

basename $(readlink /sys/class/net/wlan0/device/driver)
# brcmfmac

Настройка роутинга и IP forwarding

Сохраним и запустим скрипт wifi_router_setup.sh:

#!/bin/bash

sudo iw wlan0 set power_save off

## Activate IP forwarding immediately
sudo sysctl net.ipv4.ip_forward=1
# or:
#sudo sh -c «echo 1 > /proc/sys/net/ipv4/ip_forward»

## Or permanently:
# Way one:
#sudo sysctl -w net.ipv4.ip_forward=1
# Way two:
# sudo nano /etc/sysctl.conf
# net.ipv4.ip_forward=1

## Configure the iptables to create a network translation between eth0 and wlan0
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

   Автозагрузка скрипта настройки роутинга:

   sudo nano /etc/rc.local
   
   
   /home/pi/apps/wifi-router/wifi_router_setup.sh &
exit 0

Перезапуск сервисов

sudo service dnsmasq restart
sudo service hostapd restart

P.S.

Если вы уже подключались с Raspberry к Wi-Fi сетям, то для автостарта hostapd может понадобится удалить или переименовать конфиг: /etc/wpa_supplicant/wpa_supplicant.conf

Shopping Cart