====== Kompletní sestavení rb133 ======
* [[embedded_devices#mikrotik_routerboard|přehled RouterBoard zařízení]]
* deska je Infineon/ADMtek ADM5120
* prý je potřeba nejdřív boot do img s ramdisk rootfs a z něj pak provést flash img s squashfs rootfs
* k dispozici jsou binární soubory https://downloads.openwrt.org/chaos_calmer/15.05.1/adm5120/rb1xx
* je tam ten ramdisk img?
* požadavky
* nahrazení asusu
* dvě rádia, jedno klientské, jedno jako WISP
* podpora r52 i r52n wifi karet
* lighttpd pro hezké přepínání profilů, info o spojení
* základní nástroje pro útok: aircrack, tcpdump, nmap
* přidat samba klienta nebo něco, aby šlo hack data ukládat na vzdálený pc (místo usb)
* https://wiki.openwrt.org/doc/howto/cifs.client
* nějaký UDP tunelovací mechanismus.. n2n, mirredo, aiccu
===== Kompilace základního img =====
* stažení zdrojáků
git clone -b chaos_calmer git://github.com/openwrt/openwrt.git
* stažení dostupných balíčků
scripts/feeds update
* volání update stáhne nejnovější verze balíčků. V době kompilace šlo o hash commitu:
for i in */.git/refs/heads/*; do echo -e -n "$i:\t"; cat $i; done
luci/.git/refs/heads/for-15.05: d4bec262868ec355e38d1e9afe642c4b7fdbd061
management/.git/refs/heads/for-15.05: 4586e817b33901fe63fdf3c4be5493f62b7eb7e5
packages/.git/refs/heads/for-15.05: 1a64129034f6b5a7c7d559571c7ea997777e154c
routing/.git/refs/heads/for-15.05: 1975a41c2cc4ba0e612e7c617d9515b2f3e1e6b1
telephony/.git/refs/heads/for-15.05: 5ef9ebae811caace9750c5c3c872efc85b778236
* přidání požadovaných balíčků do menuconfig (je tam velká flash, můžeme si dovolit)
* tento krok lze pro základní image přeskočit
scripts/feeds install ...
* make menuconfig
* výběr plaftormy
Target System (Infineon/ADMtek ADM5120) --->
Subtarget (MikroTik RB-1xx boards) --->
Target Profile (Mikrotik RouterBoard 1xx family) --->
* výběr formátu image
* ramdisk je potřeba pro boot po síti
* squashfs je ideální pro zápis do NAND
==== Problémy ====
build_dir/host/u-boot-2014.10/lib/rsa/rsa-sign.c:279:21: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’
if (BN_num_bits(key->e) > 64)
apt-get install libssl1.0-dev
Následující balíky budou ODSTRANĚNY:
libsnmp-dev libssl-dev
Následující NOVÉ balíky budou nainstalovány:
libssl1.0-dev
===== Boot po síti =====
* ethernet kabel připojit do WAN/POE portu (jiné porty nelze použít pro boot)
* přes sériovou linku nastavíme boot po síti
RouterBoard 133
CPU frequency: 175 MHz
Memory size: 32 MB
Press any key within 2 seconds to enter setup..
What do you want to configure?
d - boot delay
k - boot key
s - serial console
o - boot device
u - cpu mode
r - reset booter configuration
e - format nand
g - upgrade firmware
i - board info
p - boot protocol
t - do memory testing
x - exit setup
Select boot device:
* e - boot over Ethernet
n - boot from NAND, if fail then Ethernet
1 - boot Ethernet once, then NAND
o - boot from NAND only
b - boot chosen device
your choice:
Choose which boot protocol to use:
1 - bootp protocol
* 2 - dhcp protocol
* nastavení boot atributu u DHCP
* použil jsem dnsmasq na routeru
* dnsmasq umí fungovat i přímo jako tftpd server, ale já mám tftpd přímo na build stroji
* [[https://wiki.openwrt.org/doc/uci/dhcp|popis parametrů dnsmasq]]
* nastavení IP adresy tfptd serveru a název souboru s img
vim /etc/config/dhcp
config dnsmasq
option dhcp_boot 'openwrt-adm5120-rb1xx-vmlinux-initramfs.elf,pharaon,10.10.11.2'
* nastavení TFTP serveru
* použil jsem tftpd-hpa ([[https://www.cyberciti.biz/faq/install-configure-tftp-server-ubuntu-debian-howto/|návod]])
* nakopírování img (nestačí jen symlink)
cp bin/adm5120/openwrt-adm5120-rb1xx-vmlinux-initramfs.elf /srv/tftp/
==== Problémy ====
setting up elf image kernel out of range
* mikrotik má prý limit 4 MB na kernel. Můj img měl 7.5 MB :) Musel jsem zapnout xz kompresy
==== Záloha Mikrotik ====
* záloha licence přes WinBox (System -> License -> Export Key) podle [[http://wiki.hwmn.org/w/Mikrotik_RouterBoard_450G|návodu]]
cat 439S-DR7L.key
-----BEGIN MIKROTIK SOFTWARE KEY------------
rXPNBZpIOOH5WlsIIlvRdcSS57uFKMi4FTSoh8Kx9H4R
73fInH2EQnoomTF+CiPWPerWj0kc/6xH8BGFdieUEA==
-----END MIKROTIK SOFTWARE KEY--------------
* záloha paritions
mount /dev/mtdblock2 /tmp/a
cd /tmp/a
tar czf /tmp/root.tgz *
mount /dev/mtdblock3 /tmp/b
cd /tmp/b
tar czf /tmp/rootfs.tgz *
scp /tmp/root* djbuldog@192.168.1.10:/tmp
===== Instalace do NAND =====
* kopírování z pharaon
scp bin/adm5120/*vmlinux.elf bin/adm5120/*tar.gz root@192.168.1.1:/tmp/
openwrt-adm5120-rb1xx-vmlinux.elf 100% 3082KB 548.9KB/s 00:05
openwrt-adm5120-rb1xx-RouterBoard-rootfs.tar. 100% 1821KB 544.2KB/s 00:03
* rozbalení na RB
umount /tmp/a
umount /tmp/b
mtd erase kernel
mtd erase rootfs
mount /dev/mtdblock2 /tmp/a
mount /dev/mtdblock3 /tmp/b
cp /tmp/openwrt-adm5120-rb1xx-vmlinux.elf /tmp/a/kernel
cd /tmp/b
tar xzf /tmp/openwrt-adm5120-rb1xx-RouterBoard-rootfs.tar.gz
===== Úpravy základního img =====
* default konfigurace switche
config switch
option eth0 '0 1 2 3 4' // LAN
option eth1 '4' // WAN
* musel jsem nastavit přístup do internetu
* gateway a dns v config/network
* a pak ručně nastavení dns v /var/resolv.conf
* úpravy balíčků
opkg update
scripts/feeds install tcpdump nmap ettercap kismet-server aircrack-ng lighttpd
* luci2 - https://wiki.openwrt.org/doc/techref/luci2#how_to_test
vim /etc/opkg/customfeeds.conf
src/gz base http://10.10.11.2/openwrt/rb133/packages/base
src/gz luci2 http://10.10.11.2/openwrt/rb133/packages/luci2
src/gz packages http://10.10.11.2/openwrt/rb133/packages/packages
* kvůli překompilování kernel musím....
mkdir /tmp/a
mkdir /tmp/b
mtd erase kernel
mtd erase rootfs
mount /dev/mtdblock2 /tmp/a
mount /dev/mtdblock3 /tmp/b
cd /tmp
wget http://10.10.11.2/openwrt/rb133/openwrt-adm5120-rb1xx-RouterBoard-rootfs.tar.gz
wget http://10.10.11.2/openwrt/rb133/openwrt-adm5120-rb1xx-vmlinux.elf
cp /tmp/openwrt-adm5120-rb1xx-vmlinux.elf /tmp/a/kernel
cd /tmp/b
tar xzf /tmp/openwrt-adm5120-rb1xx-RouterBoard-rootfs.tar.gz
umount /tmp/a
umount /tmp/b
* jako WebUI rozhraní použiji luci.. existuje sice už luci2, ale nemá tolik konfiguračních voleb
opkg install luci
==== Hodnocení prvního nasazení ====
* rb133 je znatelně pomalejší než asusek
* pomalejší boot, přihlašování na ssh, restart network, ..
* rb133 má nějaké horší ethernet konektory, kabel bylo občas potřeba přitlačit, přestože byl zacvaknutý
* tplink fungující jako AP měl mnohem silnější signál než r52 :(
* mám pocit, že ten tplink vysílá 23dbm, ale r52 byla na cca 16dbm ([[atheros]])
* tplink nemá cenu nahrazovat za něco slabšího
* r52n měla určitě lepší signál než asusek s r52
* na 802.11b je citlivost téměř stejná, na 802.11g je znatelný rozdíl ([[atheros]])
* prakticky se to ale výrazně na reálné rychlosti neprojevovalo, protože slabý signál měla zrovna 802.11b sít. U druhé sítě, 802.11g byl signál dost silný pro obě karty.
* iwconfig zobrazoval divný birate.. pořád 11Mbps i když ta měl být 54Mbps. Luci rozhraní to ukazovalo ale asi dobře. Chtělo by to prozkoumat, odkud ten bitrate vyčítat
* chtělo by to silnější HW s rs232/SD... 433AH
* do něj šoupnout dvě r52n-m nebo nějakou výkonnější.. ale aby to neomezoval drv :)
* spustit tam asterisk srtp gateway
==== TODO ====
* skript na aircrack utok
* mám hotovo vytváření monitorovacího interface přes uci, ale nejde změnit MAC u mon
* pro superscan to stačí, ale pro aircrack to chce opravit..
* například nastavit pouze disabled u wifi přes uci, to by mělo vyřadit z uci
* následně změnit mac postaru přes volání ''ip''
* monitor rozhraní zapnout taky postaru
* chtělo by to vyzkoušt i nějaké ty útoky :)
* n2n
* chci jej opět rozchodit
* asi už není oficiálně v openwrt (ve verzi 12 ještě byl)
* ntop jej přestal oficiálně vyvíjet
* našel jsem forky:
* https://github.com/RomanHargrave/openwrt-n2n
* https://github.com/MuJJus/openwrt-n2n
* https://github.com/MuJJus/n2n
* https://github.com/meyerd/n2n
* je třeba mít stejný build jako je supernode na gate
* teď mám na rspro z revize 3875, na asusek je z 4002
* tak to nebylo asi tím, on neuměl hostname, ale pouze IP adresu
* a těch živých supernodes je taky víc
* vpnhosting
* For n2n_v1 supernode: IP: 88.86.108.50 port: 82
* n2n_v2 supernode: IP: 88.86.108.50 port: 86
* remoteqth
* remoteqth.com:82 - používá se v debian
* přidat ten miredo, zkusit jej...
* opět už není v balíčcích openwrt
* projít poznámky a uzavřít..
* vypsat balíčky, které jsem tam nakonec dal
* zálohovat speciální soubory jako /bin/set_radio*, /bin/WLAN*, /www, /etc, ..
* prozkoumat a zdokumentovat ten uci a ubus systém :)
* https://wiki.openwrt.org/doc/uci
* https://wiki.openwrt.org/doc/techref/ubus
==== Problémy ====
* karta má pouze kanály 1-11 na 2.4GHz
* na vině jsou regulační omezení
* [[https://wiki.openwrt.org/doc/faq/faq.wireless#how_do_i_enable_channels_12_and_13|zde]] doporučují použít binární hack
* lepší je ale zapnout volbu ''CONFIG_ATH_USER_REGD=y'' ([[https://dev.openwrt.org/ticket/9678|info]]) a nastavit zemi
* přes ''iw reg set CZ''
* nebo soubor /etc/config/wireless, ''option country 'CZ'''