Jump to content
  • entries
    5
  • comments
    15
  • views
    563

Afterhours PART 1: advanced (home/small office) router setup


gspiliot

242 views

Πολλές φορές εργάζομαι από το σπίτι. Όπως όλοι μας έχω χτίσει ένα μικρό(;) δίκτυο για την εξυπηρέτηση των καθημερινών αναγκών αλλά πολλές φορές αναρωτιόμουν γιατί ένα τέτοιο δίκτυο να μην είναι το ίδιο ασφαλές, διαθέσιμο και αξιόπιστο όσο και ένα επιχειρηματικό δίκτυο. Σίγουρα υπάρχουν πολλές διαφορές αλλά η τεχνολογία έχει προοδεύσει τόσο πολύ που μπορούμε πολύ οικονομικά αλλά και χωρίς συμβιβασμούς να αποκτήσουμε εκείνες τις δυνατότητες που έχουν και μεγαλύτερα επιχειρηματικά δίκτυα με μόνο κόστος την προσωπική μας ενασχόληση after hours.

 

Σε μια σειρά από άρθρα για το home/small office workspace θα ασχοληθούμε με το χτίσιμο ενός μικρού δικτύου που δεν θα υστερεί σε δυνατότητες από άλλα εταιρικά δίκτυα. Θα εξερευνήσουμε πολλές έξυπνες συσκευές που μπορούμε να τις φτάσουμε στα όριά τους ξεζουμίζοντας ουσιαστικά και την τελευταία σταγόνα των δυνατοτήτων τους.

 

Τι ζητάμε από ένα μικρό home/small office δίκτυο;

  • Σταθερότητα στην λειτουργία του (φυσικά)
  • Πολύ χαμηλή κατανάλωση
  • Τον λιγότερο δυνατό θόρυβο (δεν φαντάζομαι να διαθέτετε computer room!)
  • Όσο το δυνατόν μικρότερο μέγεθος για να χωρέσουν σε κάνα ντουλάπι κάπου...
  • Μα φυσικά, δυνατότητες, που θα ζήλευαν όλοι... 

Θα ξεκινήσουμε από το πιο νευραλγικό τμήμα του δικτύου: τον router. Αν δεν είσαστε ικανοποιημένοι από το modem/router που σας προμήθευσε ο ISP σας δεν είσαστε μόνοι, σας συμπαραστέκονται και δισεκατομμύρια Κινέζοι κατασκευαστές. Η πρότασή μου: επενδύστε σε έναν router που κάνει καλά αυτό και μόνο: routing (άντε και ασύρματο AP). Χωρίς να θέλω να διαφημίσω τίποτα ρίξτε μια ματιά στο Fonera 2.0n (προσοχή στο "n", https://shop.fon.com/FonShop/shop/GR/ShopController?view=product&product=PRD-022). Η τελευταία προσφορά της fon είναι πολύ διαφορετική από τις προηγούμενες στα ακόλουθα σημεία:

  • Οικονομικός (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)
  • Αθόρυβος

Τώρα τι ακριβώς μας βοηθάει το open source λειτουργικό; Απλά να φτάσουμε αυτό το υλικό στα άκρα του:

  • Υποστήριξη 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)

  • ...
Για να ξεκινήσουμε όλα αυτά τα καλά, λίγη θεωρία. Μέχρι τώρα την σύνδεση στο internet την αναλάμβανε το modem/router που σας προμήθευε ο ISP σας. Ο προαναφερθέν router δεν έχει modem οπότε δυστυχώς δεν μπορούμε να απαλλαγούμε ακόμα από αυτό που μας έδωσε ο ISP. Αρκεί να το μετατρέψουμε σε απλό modem (και να σταματήσουμε το routing function). Ανάλογα με το modem που έχετε θα έχετε μια επιλογή να το θέσετε σε bridge mode. Σε αυτή την κατάσταση δεν κάνει πια login στον ISP σας, ούτε routing αλλά κρατάει μια IP για να μπορείτε ανα πάσα στιγμή να "δείτε" το web interface του.

 

Αποσυνδέστε όλα τα καλώδια 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)
Τα πακέτα στο bin/packages είτε τα μεταφέρουμε χειροκίνητα στον router και τα κάνουμε install με την εντολή

 

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

Πολύ καλό, περιμένουμε και τα επόμενα.

Νομίζω ότι το Fonera δεν λειτουργεί σε Multiple WAN. Τουλάχιστον δεν βρήκα κάτι τέτοιο στο wiki αλλά μονο στο Wishlist.

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...