3G роутер на Raspberry Pi 3

 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

Report Page