Накатываем малину. Raspberry Pi.
Шана това у метука вэ гмар хатима това, шавуа тов! Ты купил роутер Raspberry Pi. Как его настроить-то? Изначально я хотел написать статью как это всё поднимать, расписывать каждый конфиг, но я понял, что это убьет уж очень много времени.
Проще будет вам показать, что получилось, продемонстрировать инсталяционный скрипт и конфиги.
Описание
Итак, перейдём к описанию. Платформой нашего роутера выбран Raspberri PI 3. На текущий момент всё собрано на последней версии raspbian.
OS: Debian Strech 9
RASPBIAN STRETCH LITE
Version: November 2017
Release date: 29.11.2017
Kernel version: 4.9
Оригинальная ОС доступна для загрузки вот тут.
Роутер умеет подбирать интернет через Ethernet или USB 3G модем, воткнутый в него.
Дальше у роутера есть 3 режима работы.
TOR — (Работает только через тор)
TOR + SOCKS (ТОР, а сверху тора на выходе используется обычный socks5)
TOR + SOCKS = AUNTH (ТОР, а сверху тора на выходе используется обычный socks5 с авторизацией)
Все это добро раздаётся по Wi-Fi.
Вы подключаетесь по Wi-Fi к нашему роутеру.
SSID: AP-1
Password: 12345678
И без всяких дополнительных настроек получаете интернет через ТОР или ТОР + Сокс, проксифаер и другие вещи не нужны, все делается на роутере.
Все DNS-запросы идут через ТОР с помощью демона dns_tcp_proxy.
Что на самом роутере?
3proxy — в качестве сокс демонна в режиме транспарент + parrent
dns_proxy — для туннелирования dns запросов в тор.
hostapd — для раздачи wifi
dnsmasq — для раздачи IP адресов wifi клиентам.
python3 — для работы написанного мной webmanager интерфейса.
TOR — сами знаете для чего.
wvdial — для работы с 3G модемом.
Я не очень программист, у меня ушло 2 дня на создание интерфейса роутера на Python и получилось в результате вот это.
Полный образ Raspberri PI3 со всем установленным и полностью рабочим вариантом можете скачать тут.
Образ полностью готов к работе, записываем на SD-карту с помощью etcher, и вставляем в малинку.
Образ слегка модифицирован, удалена запись pi вход только под root, SSH уже включен.
Данные для подключения по SSH:
Username: root
Pass: 123456
Всё остальное по дефолту, как и в классическом распбиан.
При первом запуске нужно будет расширить файловую систему.
Для этого набираем "raspi-config".
И соглашаемся на увеличение пространства.
Своя малина...
Вариант для тех кто хочет все собрать сам, на своей малинке с чистым debian stretch.
Записываем на SD-карту, я рекомендую для записи ethcer. Взять можно тут.
После того, как запись завершена, не забываем включить ссш. Для этого снова подключаем SD-карту в ноут и создаём на бутовой партиции файлик ssh без расширения txt и т.д. Безопасно извлекаем карту и вставляем в малинку. Когда загрузится малинка, логинимся на неё с помощью SSH.
Username: pi
Password: raspberry
Затем набираем sudo -s. Это нужно, чтобы перейти в режим root. И скачиваем мой инсталлятор:
curl -O https://nova.ws/dl/release/pi_tor_socks/install.sh
Когда процесс загрузки будет завершен, набираем:
sh install.sh
Дальше мой скрипт сделает всё сам.
Проблемы и вопросы
В процессе установки могут возникнуть дополнительные вопросы, вот ответы на них.
Админка роутера доступна по адресу: http//192.168.22.1:5000 (если вы к ней подключаетесь по wi-fi).
На текущий момент всё протестировано, перезаписано не один раз, и работает корректно.
Возможно будет работать и на других устройствах, Orange PI, BananaPI и т.д.
В теории, если на ваше устройство можно поставить дистрибутив raspbian lite, указанный выше по ссылке, то всё должно работать.
Готовые конфиги можно качнуть вот тут.
Вебморду на питоне отдельно можно качнуть тут.
3G-демон запущен по дефолту, у меня MF180 И MF667 заводятся нормально. Чтобы не менять порт в конфиге 3G в интерфейсе малинки, втыкаем вот в этот порт.