Этапы:
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