Как известно Raspberry Pi 3 имеет встроенную карту WiFi. Почему бы, в таком случае, не делать из Малинки точку доступа?
Нам потребуется установит пакеты hostapd – это сама точка доступа, и isc-dhcp-server – dhcp-сервер, который будет у нас раздавать настройки ip-адресов для беспроводных устройств.
Подключаемся к Raspberry и в терминале вводим следующие команды:
sudo apt-get update sudo apt-get install hostapd isc-dhcp-server
После установки отредактируем некоторые файлы. Начнем с сервера dhcp.
1. Настройка сервера DHCP
sudo nano /etc/dhcp/dhcpd.conf
Закомментируем строки
#option domain-name “example.org”;
#option domain-name-servers ns1.example.org, ns2.example.org;
И, наоборот раскомментируем следующее значение:
authoritative;
Далее, в самом конце файла добавляем следующее:
subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.101 192.168.100.199; option broadcast-address 192.168.100.255; option routers 192.168.100.1; default-lease-time 600; max-lease-time 7200; option domain-name "local"; option domain-name-servers 8.8.8.8, 8.8.4.4; }
Сохраняем файл.
Теперь нам надо указать при обращении к какому интерфейсу будут выдаваться адреса для клиентов. У нас это беспроводной интерфейс wlan0.
sudo nano /etc/default/isc-dhcp-server
находим параметр INTERFACES=”” и меняем на INTERFACES=”wlan0″
2. Настройка беспроводного интерфейса
sudo nano /etc/network/interfaces
Добавим строки
iface wlan0 inet static address 192.168.100.1 netmask 255.255.255.0
3. Настройка точки доступа
Создадим и отредактируем конфигурационный файл для точки доступа
sudo touch /etc/hostapd/hostapd.conf sudo nano /etc/hostapd/hostapd.conf
Вставим следующее содержимое:
interface=wlan0 driver=rtl871xdrv ssid=Raspberry_AP hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=PaSsWoRd wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
ssid= имя сети, wpa_passphrase= пароль для подключения
4. Настройка NAT
Теперь осталось сделать так, чтобы на подключаемых устройствах появился интернет.
sudo nano /etc/sysctl.conf
Найдем и раскомментируем строку net.ipv4.ip_forward=1
Сохраняем и закрываем файл.
Далее, создадим правила iptables для организации раздачи интернет.
Выполним в терминале:
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 sh -c "iptables-save > /etc/iptables.rules"
Добавим в автозагрузку правила iptables
sudo nano /etc/rc.local
Идем в самый конец файла и перед exit 0 добавим строку:
iptables-restore < /etc/iptables.rules
Перегружаем Raspberry и смотрим на устройствах заработало или нет.
Если не работает – проверяем что именно не запускается.
sudo service hostapd status sudo service isc-dhcp-server status
У меня не работает , где-то я ошибся