# Software > OpenWrt >  OpenWrt on rb912 Ίσως ο πιο πειραγμένος οδηγός

## nikolas_350

Ένας οδηγός βάση του http://wiki.openwrt.org/toh/mikrotik/rb91xg_5hpnd αρκετά πειραγμένος, όχι για guru του linux αλλά για τον μέσο χρήστη ασύρματων κοινοτήτων.
Θα χρειαστούμε το rb912 ένα ακόμα mikrotik σε σχετικά νέα έκδοση και ένα pc με το λειτουργικό της αρεσκείας μας.

*Προετοιμασία.*
Κάνουμε back up το license του rb 912 από το mikrotik και το κρατάμε για μελλοντική χρήση είτε για επαναφορά routerOS, είτε λόγο εγγύησης.

Θα χρειαστούμε τρία αρχεία
Tο initramfs από την barrier breaker όπου είναι ένα αρχείο για την εκκίνηση από την ram ενός βασικού openwrt. Θα το ανεβάσουμε στο rb με trivial file transport protocol (στον επίσημο οδηγό τα “μαγειρεύουμε” μόνοι μας, πράγμα που δεν χρειάζεται) ακα τεμπέλης mode.
http://downloads.openwrt.org/barrier...-initramfs.elf

από την chaos calmer rc1 ή εάν υπάρχει νεότερη τον πυρήνα.
http://downloads.openwrt.org/chaos_c...linux-lzma.elf

και το root file system
http://downloads.openwrt.org/chaos_c...-rootfs.tar.gz

σε νεώτερες εκδόσεις θα αλλάζει το rc1 ή στην τελική θα απουσιάζει το 15,05-rc1 από το όνομα και τη διαδρομή.

Βάζουμε στο pc μας μια ip από το 192.168.1.0/24 αφήνοντας ελεύθερη την 192.168.1.1

Για tftp server μπορούμε να το τρέξουμε σε μια linux distro ή σε κάποιο πρόγραμμα από windows ή ακόμα και σε ένα mikrotik όπως παρακάτω.
Στο παράδειγμα έχουμε βάλει το αρχείο στην microsd αλλά μπορείτε να το αφήσετε και στο root directory εάν έχετε επαρκή χώρο.

Ρυθμίζουμε τον tftp του mikrotik 


```
/ip tftp
add ip-addresses=0.0.0.0/0 real-filename=/microsd/openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf req-filename=.*
```

Για να βάλουμε το rb σε κατάσταση bootp (όπως θα κάναμε για να τρέξουμε netinstall) κρατάμε πατημένο το reset button για 15-20 sec ενώ το βάζουμε στο ρεύμα.
ή από το winbox κάνουμε


```
> system routerboard settings set boot-device=try-ethernet-once-then-nand
```

 και reboot. (η ρύθμιση ισχύει μόνο για μια φορά, μετά περνά στην default nand)

Μετά περιμένουμε λίγο και συνδεόμαστε με telnet στη 192.168.1.1
bb ram openwrt 912.jpg
Για το rb 912 θα δούμε τα παρακάτω διαμερίσματα. Για άλλα routerboard πρέπει να διαφέρουν.


```
cat /proc/mtd
dev:    size  erasesize  name
mtd0: 0000b000 00001000 "routerboot"
mtd1: 00001000 00001000 "hard_config"
mtd2: 00001000 00001000 "bios"
mtd3: 00001000 00001000 "soft_config"
mtd4: 00040000 00020000 "booter"
mtd5: 003c0000 00020000 "kernel"
mtd6: 07c00000 00020000 "rootfs"
```

Εμείς θα ασχοληθούμε με τα δυο τελευταία kernel & rootfs αφήνοντας στην ησυχία τους τα πρώτα, όπου περιέχουν τη δομή του yaf file system με το bios, boot καθώς και το soft key (το κλειδί της άδειας) του routerOS.

Μέχρι τώρα ότι έχουμε κάνει αναιρείτε με ένα reboot. Από εδώ και κάτω θα είναι *μόνιμη η αλλαγή*.

*Εκτέλεση* 

Διαγράφουμε τα διαμερίσματα μέσω του openwrt στο rb 


```
mtd erase /dev/mtd5
mtd erase /dev/mtd6
```

δημιουργούμε την διαδρομή για την προσωρινή προσάρτηση


```
mkdir /mnt/kernel
mkdir /mnt/rootfs
```

κάνουμε την προσάρτηση


```
mount /dev/mtdblock5 /mnt/kernel
mount /dev/mtdblock6 /mnt/rootfs
```

ορίζουμε ένα προσωρινό password (αν κάνουμε scp)


```
passwd
```

Η προβλεπόμενη ταχτική για την μεταφορά των άλλον δυο αρχείων είναι σε ένα pc με linux να κάνουμε secure copy



```
$ scp openwrt-15.05-rc1-ar71xx-mikrotik-vmlinux-lzma.elf  [email protected]:/tmp
$ scp openwrt-15.05-rc1-ar71xx-mikrotik-DefaultNoWifi-rootfs.tar.gz [email protected]:/tmp
```

θα μας ζητήσει το password που έχουμε ορίσει πιο πριν.

Επειδή όμως ο οδηγός γράφτηκε από πειραγμένο άτομο θα προτείνω κάτι χωρίς την χρήση μιας διανομής linux, τραβώντας τα αρχεία από το ίδιο το mikrotik που τρέχαμε τον tftp μέσω ftp.
Από το openwrt


```
 cd /tmp
wget ftp://admin:[email protected]/microsd/openwrt-15.05-rc1-ar71xx-mikrotik-vmlinux-lzma.elf  
wget ftp://admin:[email protected]/microsd/openwrt-15.05-rc1-ar71xx-mikrotik-DefaultNoWifi-rootfs.tar.gz
```

όπου admin : password το username και pass που έχουμε στο mikrotik
όπου 192.168.1.d η ip του mikrotik
χρησιμοποιούμε το microsd/ εάν έχουμε βάλει τα δυο αρχεία στην sd.
Εάν τα έχουμε βάλει στο root το παραλείπουμε.

Μεταφέρουμε τον πυρήνα 


```
mv /tmp/openwrt-15.05-rc1-ar71xx-mikrotik-vmlinux-lzma.elf  /mnt/kernel/kernel
```

του δίνουμε δικαιώματα 


```
chmod +x /mnt/kernel/kernel
```

σταματάμε την προσάρτηση 


```
umount /mnt/kernel
```

αποσυμπιέζουμε το root file system


```
tar -C /mnt/rootfs -xvzf /tmp/openwrt-15.05-rc1-ar71xx-mikrotik-DefaultNoWifi-rootfs.tar.gz
```

σταματάμε την προσάρτηση


```
umount /mnt/rootfs
```

Εδώ μπορούμε να σταματήσουμε τον tftp
Τέλος κάνουμε ένα reboot, (προαιρετικά και τον σταυρό μας) περιμένουμε λίγο και συνδεόμαστε με telnet ή με έναν browser στη 192.168.1.1 στο νέο μας λειτουργικό.
rb912openwrt.jpg

Όλα τα βήματα του οδηγού έχουν δοκιμαστεί ωστόσο δεν φέρω καμία ευθύνη για προβλήματα ή τούβλα.

Κάπου εδώ σε άλλες εποχές θα πεταγόταν ο Αλέξανδρος και θα έλεγε
Ιερόσυλοι βάζετε open μέσω κλειστού λογισμικού  :: 
Αλλά ο σκοπός αγιάζει τα μέσα.

Υ.γ το νέο luci στο 912 είναι πολύ γρήγορο και δεν υστερεί σε σχέση με το winbox

----------


## nikolas_350

Διόρθωση:

Από την κανονική διανομή του openwrt το wget στον ftp του mikrotik λειτουργεί κανονικά.
Στο προσωρινό όμως φορτωμένο από την ram δείχνει να έχει πρόβλημα.
Οπότε το scp μάλλον δεν το αποφεύγουμε. 
wget-s.jpg

Λόγω στραβωμάρας κάποια στιγμή αντί να κάνω disable από το luci το named έκανα το network με αποτέλεσμα να μην έχω πρόσβαση. Η μόνη λύση είναι ξανά όλη η διαδικασία.

Με ένα καλώδιο ethernet ενώ έδειχνε να λειτουργεί, είχε πρόβλημα και δεν φόρτωνε από τον tftp (κλείδωνε στα 100mbps) και μέχρι να καταλάβω τι φταίει έκανα netinstall κατευθείαν από το pc στο rb.

Στο routerOS που μπήκα, soft-key και license ήταν κανονικά περασμένα και δεν χρειαζόταν κάτι παραπάνω για να συνεχίσει να λειτουργεί ως mikrotik.

----------


## nikolas_350

Διόρθωση στην διόρθωση ωωω διόρθωση.
Σε ένα Rb951 έγινε η παραπάνω επέμβαση χωρίς καθόλου την χρήση υπολογιστή με linux.
Πιθανή αιτία για την πιο πάνω αποτυχία η χρήση κωδικού με ειδικούς χαρακτήρες, λάθος διαδρομή ή κάποιο από τα ανεξερεύνητα bug του mikrotik.

Tips: Σε multi port routerboard η port 1 είναι μόνο για wan (είτε σε mikrotik είτε σε openwrt με τα απαραίτητα firewall) 
Θα χρειαστούμε 2 καλώδια. Στο port 1 για τον tftp και στα ports 2-5 για την lan και επικοινωνία με το μηχάνημα.



Καλά φλασαρίσματα σε όλους!!

----------


## nikolas_350

> Διόρθωση στην διόρθωση ωωω διόρθωση.
> Σε ένα Rb951 έγινε η παραπάνω επέμβαση χωρίς καθόλου την χρήση υπολογιστή με linux.
> Πιθανή αιτία για την πιο πάνω αποτυχία η χρήση κωδικού με ειδικούς χαρακτήρες, λάθος διαδρομή ή κάποιο από τα ανεξερεύνητα bug του mikrotik.


When you are a security freak you must remember that you are still a freak  :: 


```
/ip service
set telnet address=10.0.0.0/8
```

Πώς να δουλέψει το καημένο στο 192.168.1.x;

Ενδεικτικά για το rb951 διαμερίσματα που θα ασχοληθούμε είναι το 1 και 2
Το 0 μη τζιζζζζ!!



```
[email protected]:/# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00040000 00020000 "booter"
mtd1: 003c0000 00020000 "kernel"
mtd2: 07c00000 00020000 "rootfs"
```

----------

