Раздаем WIFI на Raspberry Pi с USB модема

Поставил себе задачу сделать из Raspberry Pi, WIFI роутер на даче. Интернет берем от USB модема (Yota)

Раздаем WIFI на Raspberry Pi с USB модема Rasberi PI, Usb-модем, Роутер, Длиннопост
Раздаем WIFI на Raspberry Pi с USB модема Rasberi PI, Usb-модем, Роутер, Длиннопост

Настраивал голый 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 запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

Вы смотрите срез комментариев. Показать все
2
Автор поста оценил этот комментарий

Автор, помоги пожалуйста. Есть малинка. Нужно чтобы после загрузки в терминал ввелось пару команд. Как черт возьми это сделать? В инете решения какие то близкие к постройке боинга.

раскрыть ветку (11)
1
Автор поста оценил этот комментарий

Юзай Cron.d.

Автор поста оценил этот комментарий

Можно подробней что за команды?

раскрыть ветку (9)
Автор поста оценил этот комментарий

Да любые. Например, у меня после перезагрузки малины иногда глючит dlna, и проблема решается просто перезагрузкой сервера после загрузки малинки. Приходится подключаться по vnc и вводить в терминал "sudo service minidlna force-reload". Как это можно автоматизировать?

раскрыть ветку (8)
2
Автор поста оценил этот комментарий

Ну можно написать скрипт и добавить ссылку на него в  /etc/rc.local будет исполняться после полной загрузки

раскрыть ветку (3)
Автор поста оценил этот комментарий

скрипт это .sh?

Если вам не сложно, можете набросать этот скрипт хотя бы на примере команды, которую я написал выше?

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

Пишете в текстовом файле все то же что вы вводили в консоли. переименовываете файл в file.sh
и запихиваете скрипт в автозапуск.
вот ссыль про скрипты
http://www.ithowto.ru/268-kak-napisat-prostoj-skript-na-bash...
вот ссыль про cron.d
https://losst.ru/kak-dobavit-komandu-v-cron
http://www.codenet.ru/webmast/php/cron.php

Автор поста оценил этот комментарий

Вот да крон хорошая идея, вообще очень много способов, задача очень простая... почитайте очень много на русском, не обязательно инфу искать на распи, дебиан и убунту это практически тоже самое

Автор поста оценил этот комментарий
monit в помощь, только надо условие правильно для него задать, чтобы он знал как проверять что он весит.
А так надо смотреть лог почему видимо падает, или поменять на другой dlna. Я лично на малине юзаю minidlna, великолепно справляется с данной задачей.
раскрыть ветку (3)
Автор поста оценил этот комментарий

вот именно он и тупит.

Использую plex

раскрыть ветку (2)
Автор поста оценил этот комментарий
Plex это же скорее медиа сервер, типа xbmc, у него вроде и функционал побольше, а в minidlna, само название говорит о минимуме, потому он только на устройства отдает, но сам не показывает. У меня он отдает как на мобилы, так и на телек, плюс его видит ноут, именно как DLNA сервер.
раскрыть ветку (1)
Автор поста оценил этот комментарий

1. dlna так то и есть медиа сервер

2. Plex это все таки ближе к dlna чем xbmc. Он тоже передает видео и на мобилу и на телик. Только все в красивом интерфейсе и с хорошей организацией библиотеки.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку