Раздаем WIFI на Raspberry Pi с USB модема
Поставил себе задачу сделать из Raspberry Pi, WIFI роутер на даче. Интернет берем от USB модема (Yota)
Настраивал голый Raspbian
Обновляем систему
$ sudo apt update
$ sudo apt upgrade
Смотрим где у нас находится USB модем (Yota)
$ ifconfig
У меня это eth1
wlan0 - это интерфейс WIFI
Открываем файл и задаем IP адреса
$ sudo nano /etc/network/interfaces
Копируем в файл, для модема делаем назначение IP с использованием DHCP
auto eth1
allow-hotplug eth1
iface eth1 inet dhcp
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.10.1
netmask 255.255.255.0
broadcast 192.168.10.255
network 192.168.10.0
Для применения создаем скрипт
$ sudo nano dn.sh
Копируем и сохраняем
#!/bin/bash
systemctl stop NetworkManager.service
echo "Network Manager stopped"
systemctl disable NetworkManager.service
echo "Network Manager disabled"
echo "Rebooting...."
reboot
Выполнить скрипт, Raspberry перезагружается
$ sudo sh dn.sh
Устанавливаем Hostapd
$ sudo apt install hostapd
$ sudo service hostapd stop
Создаем файл конфигурации WIFI
$ sudo nano /etc/hostapd/hostapd.conf
Копируем и заменяем имя сети и пароль
nterface=wlan0
ssid=YOUR_WIFI_NAME
wpa_passphrase=WIFI_PASSWORD
hw_mode=g
ieee80211n=1
channel=6
wmm_enabled=1
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
Закрываем сохраняем.
$ sudo nano /etc/default/hostapd
# снимаем комментарий с DAEMON_CONF=”” вписываем /etc/hostapd/hostapd.conf
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Запускаем службу
$ sudo service hostapd start
На данном этапе будет доступна WIFI сеть но не будет интернета.
Устанавливаем DHCP server
$ sudo apt install isc-dhcp-server
$ sudo service isc-dhcp-server stop
$ sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.bak
Настраиваем DHCP
$sudo nano /etc/dhcp/dhcpd.conf
Копируем сохраняем
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.10.255;
option routers 192.168.10.1;
option domain-name-servers 192.168.10.1,8.8.8.8;
option domain-name "home.ru";
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.150;
}
$ sudo nano /etc/default/isc-dhcp-server
Прописываем интерфейс для INTERFACES="wlan0" Для IPv4 и для IPv6
Запускаем DHCP server
$ sudo service isc-dhcp-server start
Выпадает ошибка можно игнорировать. После перезагрузки все будет работать.
Активируем IPv4 forwaring
$ sudo nano /etc/sysctl.conf
# Снять комментарий с net.ipv4.ip_forward=1
$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Настраиваем Firewall
$ sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
$ sudo iptables -A FORWARD -i eth1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -A FORWARD -i wlan0 -o eth1 -j ACCEPT
$ sudo iptables -L -n -v
$ sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Открываем
$ sudo nano /etc/rc.local
Удаляем все над "exit 0" и выше копируем iptables-restore < /etc/iptables.ipv4.nat
$ sudo reboot
После перезагрузки можно подключаться к WIFI
Промучился сам долго, статью русскую не нашел. Брал кусками основной источник тут
Для ssh IP будет 192.168.10.1
Arduino & Pi
1.4K постов20.6K подписчик
Правила сообщества
В нашем сообществе запрещается:
• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)
• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском
• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)
• Рассуждать на темы политики
• Нарушать установленные правила Пикабу