3G роутер на Raspberry Pi 3
@blacktimemanДелаем собственный роутер на базе мини-компьютера Raspberry Pi .

Здравствуй, камрат.
Помнишь из блога BT_Live, фото платы?

Это Raspberry Pi 3 - мини-компьютер.
- Частота процессора: 1.2 ГГц
- Оперативная память: 1 ГБ
- 4 USB порта
- HDMI, WiFi, Bluetooth...
Цена: 2500 руб.
Плата в умелых руках творит чудеса. В наших руках выйдет 3G роутер. А это больше анонимности =)
Хотя можно сделать роутер, который будет раздавать зашифрованный трафик через SSH, либо Tor соединение. Но это оставим на отдельную тему для статьи)
____________________________________________________________________________
Окей поехали. Изначально, необходимо:
Raspberry Pi 3
Флешка MicroSD минимум 2Gb. На неё нужно записать прошивку: 2018-04-18-raspbian-stretch-lite, которую можно скачать с оф. сайта и по простой инструкции поставить.
В качестве usb-модема использую Huawei 173u-1.
После того, как установили прошивку, запускаем плату.
Открываем командную строку, входим под root и прописываем:
apt-get update upgrade и apt-get upgrade
Для удаленного управления малинкой (платой), можно подключиться через SSH: https://youtu.be/imNsLfKNYoY
Устанавливаем необходимые пакеты:
apt-get install hostapd isc-dhcp-server ppp
Скачиваем и устанавливаем Sakis3G в папку /usr/bin/modem3g
wget "http://link_where_we_found/sakis3g.tar.gz" -O sakis3g.tar.gz sudo mkdir /usr/bin/modem3g sudo chmod 777 /usr/bin/modem3g sudo cp sakis3g.tar.gz /usr/bin/modem3g cd /usr/bin/modem3g sudo tar -zxvf sakis3g.tar.gz sudo chmod +x sakis3g
Установили нужные пакеты.
Настройка WiFi точки доступа
Настроим DHCP-сервер, чтобы при подключении к роутеру, устройство получало IP-адрес.
nano /etc/dhcp/dhcpd.conf
Удалив весть текст через Alt-T и копируем:
ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; log-facility local7;
Открываем /etc/default/isc-dhcp-server удаляем всё и вставляем
INTERFACES="wlan0"
Создаем /etc/hostapd/hostapd.conf и в содержимое файла пишем
interface=wlan0 driver=nl80211 ssid= НАЗВАНИЕ СЕТИ (НУЖНО ИЗЕМНИТЬ) wpa_passphrase= ПАРОЛЬ ОТ СЕТИ (НУЖНО ИЗМЕНИТЬ) hw_mode=g channel=4 ieee80211n=1 wmm_enabled=1 ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40] macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP
Выполняем nano /etc/default/hostapd и меняем содержимое на
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Редактируем файл /etc/network/interfaces заменив всё на:
source-directory /etc/network/interfaces.d auto lo iface lo inet loopback iface eth0 inet manual allow-hotplug wlan0
Редактируем файл /etc/sysctl.conf заменив содержимое на
net.ipv4.ip_forward=1
Настройка правил для брандмауэра.
Заходим как root
sudo su
И настраиваем правила:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE iptables -A FORWARD -i ppp0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i wlan0 -o ppp0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
Сохраняем:
iptables-save > /etc/iptables.ipv4.nat
Чтобы не сохранять правила каждый после перезагрузки, изменим перед концом файла /etc/rc.local до фразы "exit 0", пропишем:
iptables-restore < /etc/iptables.ipv4.nat
Запускам сервисы
/etc/init.d/networking restart /etc/init.d/isc-dhcp-server restart /etc/init.d/hostapd restart
Перезагружаемся
reboot
Если был подключен к малинке по шнурку - отключай и пробуй подключиться по WiFi. После подключения малинка будет по адресу:
10.5.5.1
Расшариваемся с модемом
Модем должен быть в режиме модема, а не картридера, флешки или ином.
Проверить можно выполнив команду lsusb которая выдаст примерно следующее:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 004: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
В ласт строке видно, что плата стоит в режиме "модем" с ID: 1001.
Запускаемся
Для этого открываем /etc/rc.local и, в конец перед фразой "exit 0" вставляем
/usr/bin/modem3g/sakis3g --console --pppd APN="internet" USBINTERFACE="1" USBDRIVER="option" USBMODEM="12d1:1001" OTHER="USBMODEM" MODEM="OTHER" --sudo "connect"
Обрати внимание на цифры "1001" - это мой режим модема, у тебя может быть другой.
Перезагружаемся и радуемся) Малинка должна получать интернет от мобильного оператора и раздавать WiFi.
____________________________________________________________________________
Если есть вопросы, пиши: @blacktime22
Обнял, поднял, подкинул <3