Tuesday, October 08, 2013

Πρωτα βηματα με OpenWrt

Αφου δεν κρατηθηκα αλλο, μετα την καινουργια εγκατασταση ADSL στο σπιτι απο τον παροχο, ειπα επιτελους να βαλω το δικο μου ρουτερακι και να παιξω με ενα πιο ανοιχτο συστημα. Για αρχη, λοιπον, αποφασισα να εγκαταστησω OpenWrt. Μετα επρεπε να διαλεξω ενα ρουτερακι που να υποστηριζετε απο το συγκεκριμενο software. Η επιλογη ηταν το TL-WR741ND της TP-LINK. Καταληλο για τη δουλεια που ηθελα και σε πολυ χαμηλη τιμη.

OpenWrt

Το OpenWrt ειναι ενα λειτουργικο συστημα Linux για embedded συστηματα. Δηλαδη ενα... Linux για ρουτερ. Με βαση αυτο, συνεπαγεται οτι συμπεριλαμβανει ενα kernel, ενα package manager και πολλα features που μπορουν να χρησιμοποιηθουν... Μερικα απο αυτα ssh server, bittorent client, VPN, Proxy server...  Μπορει να χρησιμοποιηθει για traffic-shaping ή QoS, για captive portal, για firewall, για portforwarding, για packet injection, monitoring, DNS και πολλα αλλα.

Εκδοσεις

Η τρεχουσα εκδοση ειναι η Attitude Adjustment 12.09. Πριν απο αυτη θα βρειτε την backfire ενω μπροστα μας ετοιμαζεται η Barrier Breaker.

Για το ποια θα εγκαταστησουμε θα το βρουμε στο wiki στη σελιδα του μοντελου που θα χρησιμοποιήσουμε. Οπου trunk σημαινει οτι το branch ακομα δεν εχει ονομα, και πιθανοτατα ακομα δουλευεται που σημαινει οτι αν δεν βρειτε καποιο πακετο ισως να υπαρξει αργοτερα.


Εγκατασταση

Τα βηματα περιγραφονται στο link του router. Καποιες σημειωσεις λοιπον:

  • το πακετο εχει περιγραφη *-factory.bin (πχ openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-factory.bin).
  • Κατεβαστε και το firmware του κατασκευαστη μηπως κατι δεν παει καλα.
  • Στο  tl-wr741nd λογω καποια πιθανης περιπτωσης που ισχυει σε καινουργια μοντελα, μπορει να χρειαστει να αλαξετε το *-factory.bin με το ονομα του αρχειου του κατασκευαστη. Προσωπικα εμενα δεν μου χρειαστηκε.
  • Σιγουρα θα χρειαστειτε Putty ειδικα αν ειστε σε windows και ακομα περισσοτερο αν κατεβασετε καποια εκδοση χωρις web interface εγκατεστημενο.  Κατι που μπορειτε να το βαλετε αργοτερα.
  • Αν θελουμε να επεκτεινουμε το χωρο αποθηκευσης υπαρχει ενα καλο αρθρο απο το φιλο Γιαννου στο Deltahacker. Google it...
Command Line Interface

Αφου ακολουθησετε τα βηματα  του οδηγου και εισαγετε των κωδικο του root
θα δειτε την παρακατω εικονα να εμφανιζετε στην κονσολα

BusyBox v1.19.4 (2013-09-25 00:25:36 UTC) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 BARRIER BREAKER (Bleeding Edge, r38167)
 -----------------------------------------------------
  * 1/2 oz Galliano         Pour all ingredients into
  * 4 oz cold Coffee        an irish coffee mug filled
  * 1 1/2 oz Dark Rum       with crushed ice. Stir.
  * 2 tsp. Creme de Cacao
 -----------------------------------------------------
Καποια πραγματα που θα δειτε εδω ειναι την εκδοση του build-in bash που ονομαζετε ash και την εκδοση του BusyBox, ενω απο τα βασικα components (εκτος απο τον πυρηνα, το αλλο ειναι το uClibc) του OpenWrt το οποιο περιεχει καποια χρησιμα tools. Απο δω μπορουμε να χρησιμοποιησουμε τον package manager δινοντας opkg εγκαταστησουμε, διαγραψουμε ή να κανουμε update το συστημα.'Η να κανουμε σχεδον ολο το σεταρισμα με το uci.

Ας πουμε οτι θελουμε να εγκαταστησουμε το luci

opkg update
opkg list luci-* <Θα μας δωσει ολα τα διαθεσιμα πακετα>
opkg install luci-ssl <για υποστηριξη ssl>

Επισης θα προσεξατε τη συνταγη για το κοκτειλ. Ισως να προσεξατε οτι και τα ονοματα των εκδοσεων ειναι ονοματα απο κοκτειλ!!!!!

Χρηση σαν repeater

Για να το χρησιμοποιησουμε σαν repeater στο ηδη υπαρχον δικτυο, απλα συνδεουμε με ενα καλωδιο δικτυου ενα lan port στο wan port του openwrt router. Με την εγκατασταση ερχονται καποιες ηδη αρχικες ρυθμισεις οποτε αυτο θα παιξει αυτοματα λογικα.

Αν θελουμε να συνδεθουν wirelessly ακολουθουμε τα βηματα:
  1. Συνδεουμε lan port με lan port. 
  2. βρισκουμε την ip που μας εδωσε ο dhcp
  3. και αν εχουμε εγκατεστημενο web interface, παμε και δινουμε εκει την ip.
  4. Ενεργοποιουμαι το wifi
  5. Network>Wifi>Scan και βρισκουμε το δικτυο που θελουμε να συνδεθουμε
    1. essid: <wifi name>
    2. mode: client or client wps
    3. επιλεγουμε να δημιουργησει ενα αλλο δικτυο
    4. επιλεγουμε επισης advanced settings και στο ht mode διαλεγουμε 40MHz second channel above
  6. Παμε στο wifi που ενεργοποιησαμε πριν και δινουμε τα ιδια στοιχεια εκτος απο το mode. Επιλεγουμε AccessPoint για αυτο.Αν θελετε βαζετε διαφορετικα security settings
  7. Ελεγχουμε οτι τα δυο δικτυα εμφανιζονται κατω απο το Associated Stations
Δημιουργια Subnet

Για το WAN στο Hostname to send when requesting DHCP δινουμε hostname. Και κραταμε υποψιν οτι αν το modem εχει 192.168.1.1 πρεπει να αλλαξουμε το subnet στο router αλλιως δεν θα μπορεσει να δουλεψει το ιντερνετ.

Βασικα αφου ειναι ολα τα παραπανω οκ το μονο που θα κανουμε ειναι να παμε Network>Interface>lan>edit>General Setup και στο protocol δινουμε static address και IP4 address οριζουμε ενα αλλο δικτυο.

Και η αρχη εγινε...

Sunday, September 08, 2013

Fedora: Μια διανομη GNU/Linux

Πολλοι χρηστες των Windows εχουν σκεφτει κατα διαστηματα να βγαλουν το συγκεκριμενο λειτουργικο απο τους υπολογιστες τους για διαφορους λογους, οπως ασφαλειας, ελευθεριας ή λειτουργικοτητας. Καποιοι ισως γιατι αρχιζουν να ξαχνοντε και να ζητανε πιο advanved πραγματα να κανουνε. Αλλα τι θα μπορουσαν να εγκαταστησουν??


Αρκετοι σιγουρα θα εχουν σκεφτει να δοκιμασουν το linux. OK. Για αυτο θα μιλησουμε ετσι και αλλιως. Αλλα τι ειναι αυτο?? Πως το εγκαθιστουμε? Γιατι διαφερει και τι προσφερει? Πως λειτουργει? Πολλα ερωτηματα.... Καταρχην ειναι μια ξεχωριστη εμπειρια...

Και περνοντας τα πραγματα απο την αρχη και να λεμε τα πραγματα σωστα, παροτι ονομαζουμε λειτουργικο συστημα linux εννοουμε GNU/Linux. Ποια ειναι η διαφορα?? Το Linux ουσιαστικα δεν ειναι λειτουργικο. Ειναι ο πυρηνας. Καθε λειτουργικο εχει πυρηνα, το ιδιο και τα Windows. Ιστορικα λοιπον, το λειτουργικο ειναι το GNU το οποιο ξεκινησε να κατασκευαζεται το 1984. Ελειπε ομως ο πυρηνας. Κατι το οποιο ηρθε και δημιουργησε ο Linus Torvald και εδεσε για να δημιουργηθει το λειτουργικο που σημερα καλουμε Linux. Ολο αυτο εχει τη σημασια του και θα το δουμε αργοτερα, γι' αυτο κρατηστε το.

Το λειτουργικο αυτο λοιπον ειναι ελευθερο. Ελευθερο δεν σημαινει αναγκαστικα χωρις λεφτα. Σημαινει ομως οτι μπορεις να παρεις τον κωδικα και να φτιαξεις το δικο σου custom λειτουργικο συστημα. Ολα στα μετρα σου. Αυτο σημαινει ελευθερια. Αυτο που ουσιαστικα προσπαθησε να πετυχει το GNU project. Ενα εντελως ελευθερο και ανοικτο λειτουργικο(βασισμενο στο unix). Περνωντας τα χρονια πολλοι πηρανε τον καινουργιο πυρηνα και φτιαξανε τη δικη τους διανομη. Αυτη τη στιγμη υπαρχουν πανω απο 600 διανομες, οι οποιες δεν ειναι ολες active. Καθε μια μπορει να εξηπυρετει καποιο σκοπο, συγκεκριμενο λογο ή ιδεολογια. Για παραδειγμα το Edubuntu για την εκπαιδευση, το dsl για παλια μηχανηματα, knoppix σαν live cd, IPCop για router/firewall. Για το Desktop μας οπως μπορειτε να φανταστειτε και σαν εναλλακτικες υπαρχουν απειρες επιλογες. Το Fedora ειναι μια απο αυτες.



Το Fedora ειναι μια απο τις μεγαλυτερες και ενεργες διανομες που κατασκευαζεται απο το Fedora project. Προερχεται απο μια αλλη μεγαλη διανομη, τη Redhat η οποια αποφασισε καποια στιγμη να διαχωρισει το λειτουργικο της σε RHEL για εταιρειες και σε μια community διανομη για desktops. Αναμεσα στις δυο υπαρχει μεγαλη συνεργασια και μια δυνατη σχεση. Το Fedora ωστοσο στοχευει αλλου και αναπτυσετε ανεξαρτητα. Η RedHat χορηγει το Fedora Project και ενθαρυνει την συνεργασια για να εκκολαψει νεες τεχνολογιες που οταν πια θα ειναι stable μπορει να τις περασει στις δικες της εκδοσεις.

 Το Fedora ακολουθει πιστα τις αρχες του ανοικτου λογισμικου. Αναπτυσετε απο την κοινοτητα του και χρησιμοποιει μονο ανοικτο λογισμικο μεσα στις διανομες του. Σε καθε εκδοση περιλαμβανεται καθε νεα τεχνολογια ή προγραμμα αρκει να ειναι κατω απο ενα licence ανοικτου κωδικα. Αυτο βεβαια ειναι πολυ σημαντικο. Το να μπορεις να εχεις τα παντα σε ανοικτο κωδικα σημαινει οτι οποιος θελει μπορει να δει τι περιεχει ο κωδικας, να τον τροποποιησει και να τον μοιρασει ελευθερα. Σκεφτειτε το. Σημαινει ελευθερια επιλογης, ελεγχου και δυνατοτητα εξελιξης.

Για να λειτουργησει ολο το project υπαρχει μια τεραστια υποδομη που ελεγχεται απο ενα board εννια ατομων και εναν project leader που ειναι υπευθυνοι να διατηρουνται οι αρχες του λογισμικου, να κρατανε καλες τις σχεσεις αναμεσα στο fedoraproject και στη redhat και να φτανουν τους στοχους της κοινοτητας. Το board απαρτιζεται απο πεντε εκλεγμενους μεσα απο την κοινοτητα και τεσσερις που διαλεγονται απο τον Fedora Project Leader αναμεσα απο μελοι και υπαλληλους της RedHat. Κατω απο αυτη την υποδομη κατασκευαζονται και συντηρουνται επιπλεον project, απο εκατομμυρια εθελοντες.

Οπως καταλαβαινετε υπαρχει μια ιεραρχια, και μια πολυ σοβαρη υποδομη για να αναπτυχθει το Fedora και να συνεχισει το οραμα του. Στη σειρα που σκεφτομαι να ακολουθησει θα γραφω για αρχες και εννοιες του ανοικτου λογισμικου και θα περιγραφω λειτουργιες απο αυτη την τεραστια υποδομη που λεγετε Fedora Project για να γνωρισουμε καλυτερα το fedora.