Afterhours PART 1: advanced (home/small office) router setup
Πολλές φορές εργάζομαι από το σπίτι. Όπως όλοι μας έχω χτίσει ένα μικρό( δίκτυο για την εξυπηρέτηση των καθημερινών αναγκών αλλά πολλές φορές αναρωτιόμουν γιατί ένα τέτοιο δίκτυο να μην είναι το ίδιο ασφαλές, διαθέσιμο και αξιόπιστο όσο και ένα επιχειρηματικό δίκτυο. Σίγουρα υπάρχουν πολλές διαφορές αλλά η τεχνολογία έχει προοδεύσει τόσο πολύ που μπορούμε πολύ οικονομικά αλλά και χωρίς συμβιβασμούς να αποκτήσουμε εκείνες τις δυνατότητες που έχουν και μεγαλύτερα επιχειρηματικά δίκτυα με μόνο κόστος την προσωπική μας ενασχόληση after hours.
Σε μια σειρά από άρθρα για το home/small office workspace θα ασχοληθούμε με το χτίσιμο ενός μικρού δικτύου που δεν θα υστερεί σε δυνατότητες από άλλα εταιρικά δίκτυα. Θα εξερευνήσουμε πολλές έξυπνες συσκευές που μπορούμε να τις φτάσουμε στα όριά τους ξεζουμίζοντας ουσιαστικά και την τελευταία σταγόνα των δυνατοτήτων τους.
Τι ζητάμε από ένα μικρό home/small office δίκτυο;
- Σταθερότητα στην λειτουργία του (φυσικά)
- Πολύ χαμηλή κατανάλωση
- Τον λιγότερο δυνατό θόρυβο (δεν φαντάζομαι να διαθέτετε computer room!)
- Όσο το δυνατόν μικρότερο μέγεθος για να χωρέσουν σε κάνα ντουλάπι κάπου...
- Μα φυσικά, δυνατότητες, που θα ζήλευαν όλοι...
- Οικονομικός (79€ για draft-n router, άσε που κατά περιόδους έχει και προσφορές)
- Draft 802.11n ασύρματο δίκτυο δηλαδή ταχύτητες μεγαλύτερες και από 100MBit ενσύρματο δίκτυο (ονομαστική 150MBit)
- MIPSel επεξεργαστή στα 300MHz (ικανοποιητική ταχύτητα για πολλαπλές λειτουργίες σε έναν SOHO router)
- USB host port που υποστηρίζει HUBs, DISKs, 3G Modems, WebCams και πολλά άλλα
- Open Source λειτουργικό με βοήθεια από την fon για να "χτίσεις" και να "περάσεις" το δικό σου
- Λειτουργικό βασισμένο στο OpenWRT με πολλές εφαρμογές
- Δυνατότητα να απεμπλέξεις εξολοκλήρου το router από το fon network (http://www.fon.com, για να διαβάσετε τι ακριβώς είναι το fon)
- Χαμηλή κατανάλωση (ο μόνος "n" router με τροφοδοτικό 12V, 1A)
- Αθόρυβος
- Υποστήριξη QoS ειδικά για ADSL. O developer nbd του project openwrt έχει φτιάξει ένα QoS που κάνει κυριολεκτικά μαγικά με το router (σκεφτείτε να κατεβάζετε το τελευταίο DVD των windows 7 και ταυτόχρονα να έχετε εκπληκτικά ping times ενώ μιλάτε άψογα με τον VoIP πάροχό σας...)
- VLAN
- Multi-WAN setup (περισσότερες από μία ADSL ή/και AWMN για πραγματικό fault tolerant δίκτυο, αν προσθέσουμε και την δυνατότητα 3G USB stick τότε δεν "πέφτει" με τίποτα)
- RIP, BGP, Quagga (και άλλα πολλά ακρωνύμια για όσους καταλαβαίνουν)
- Transparent HTTP proxy, Antivirus control, Content filtering, parental controls
- VPNs forever: OpenVPN, PPtP, IPSec, L2TP
- Radius server
- Asterisk (telephony server)
- tcpdump (κάτι σαν το wireshark)
- ...
Αποσυνδέστε όλα τα καλώδια UTP από τις θύρες του switch του παλαιού modem router και μεταφέρετέ τα στις αντίστοιχες θύρες LAN του switch tου νέου router. Τέλος συνδέστε ένα UTP καλώδιο μεταξύ της θύρας WAN του νέου router και μιας από τις θύρες LAN του παλαιού. Ρυθμίστε το νέο router σε πρωτόκολλο PPPoE, δώστε εκεί το username/password για τον ISP σας και voila... το νέο router συνδέθηκε στο internet.
Το default firmware του προαναφερθέν router κάνει ήδη πολλά αλλά για να δούμε τι περισσότερο μπορούμε να κάνουμε. Θα χρειαστούμε ένα Linux box για να κάνουμε compile το νέο firmware αφού και αυτό με την σειρά του βασίζεται σε Linux. Η όλη ιδέα βασίζεται στο cross-compilation που μας επιτρέπει να δημιουργούμε κώδικα και images για επεξεργαστές που είναι τελείως διαφορετικοί από την κλασική πλατφόρμα x86 της intel. Η ακόλουθη εντολή θα "εξάγει" την τελευταία έκδοση του firmware από το repository:
svn co http://svn.fonosfera.org/fon-ng/trunk fonera
κατόπιν τρέχουμε τις ακόλουθες εντολές για να το προετοιμάσουμε:
cd fonera/
./install.sh
cd openwrt/
./scripts/feeds update
Φυσικά όλα αυτά τα κάνουμε ώς κοινός χρήστης γιατί ο root δεν επιτρέπεται για λόγους ασφαλείας να κάνει compile το firmware. Τώρα, κάθε εφαρμογή που έχει τροποποιήσει, ίσως, κάποιος για να εκτελείται σε αυτή τη πλατφόρμα πρέπει να προστεθεί ως πακέτο (feed) στο building process. Για να πάρουμε μια γεύση από τις διαθέσιμες εφαρμογές δίνουμε:
./scripts/feeds list
Για παράδειγμα για να προσθέσουμε το πακέτο tcpdump αρκεί να δώσουμε:
./scripts/feeds install tcpdump
Αφού τελειώσουμε με την επιλογή μας δίνουμε make μετά από κάποια λογική ώρα παίρνουμε:
- bin/openwrt-fonera2n-squashfs.img, που είναι το νέο firmware που θα κάνουμε flash στον router
- bin/packages, ένας κατάλογος με τα έξτρα πακέτα που θα προσθέσουμε αργότερα κατά το δοκούν (π.χ. το tcpdump)
opkg install tcpdump_4.0.0-1_mipsel.ipk
ή ακόμα καλύτερα τα τοποθετούμε σε έναν http server (π.χ. IIS στο PC μας, έστω http://notebook.local/packages) και διορθώνουμε το /etc/opkg.conf στον router ως ακολούθως:
src/gz packs http://notebook.local/packages
dest root /
dest ram /tmp
dest usb /tmp/mounts/Disc-A1
lists_dir ext /var/opkg-lists
option overlay_root /
και μετά μπορούμε να δώσουμε απλά
opkg -dest usb install tcpdump
για να εγκαταστήσουμε σε κάποιο external media το tcpdump (ώστε να μην καταναλώσει χώρο από την εσωτερική περιορισμένη flash).
Για να πάρετε μια γεύση από το τι μπορεί να εκτελέσει ο router μπορείτε να διαβάσετε την δική μου συνδρομή στο openwrt για το πως κανείς μπορεί να τρέξει nagios: https://forum.openwrt.org/viewtopic.php?id=21625. Το συγκεκριμένο post αναφέρεται σε WRT+MMC αλλά εφαρμόζεται ακριβώς το ίδιο σε οποιονδήποτε router "τρέχει" openwrt.
1 Comment
Recommended Comments