Το προφίλ μας στο Google Plus
76

Φως στην άκρη του τούνελ!

Μην ανησυχείτε, ο τίλος δεν είναι πολιτικάντικος, ούτε εμπνευσμένος από την προεκλογική περίοδο. Αντιθέτως, σχεδόν κυριολεκτούμε: Σε λίγο θα σας δείξουμε πώς ν’ ανοίγετε δικτυακά τούνελ από τον υπολογιστή σας προς κάποιον άλλον, μέσα από τα οποία με χαρά θα θέλετε να ταξιδεύετε! Εκτός από την απόλυτη ασφάλεια που παρέχουν, στις εξόδους τους θα σας περιμένουν ένα σωρό ενδιαφέροντα πράγματα που μέχρι χθες ακούγατε ότι υπάρχουν, αλλά στα οποία δεν ήταν καθόλου εύκολο να έχετε πρόσβαση.

deltaHacker Απριλίου (τεύχος 007) | Φως στην άκρη του τούνελ!

Ο λόγος γίνεται για τα δίκτυα VPN ή, αν θέλουμε να αποφύγουμε τον πλεονασμό, απλά για τα VPNs (Virtual Private Networks). Ένας υπολογιστής που συμμετέχει σε κάποιο VPN έχει ασφαλέστατη πρόσβαση σε πόρους και υπηρεσίες ενός απομακρυσμένου, τοπικού δικτύου, ασχέτως του πού βρίσκεται ο ίδιος κι ανεξαρτήτως του αν χρησιμοποιεί ασφαλή τρόπο σύνδεσης ή όχι. Για παράδειγμα, χάρη στην τεχνολογία των VPN ένας εργαζόμενος αποκτά πρόσβαση στο εταιρικό δίκτυο από το σπίτι του, από μια καφετέρια, κάποιο αεροδρόμιο, ένα ξενοδοχείο κ.ο.κ. Ομοίως, ένας χρήστης που παίρνει στα σοβαρά το θέμα της ασφάλειας, έχει στήσει έναν VPN server κι έτσι μπορεί να συνδέεται στον υπολογιστή ή στους υπολογιστές του σπιτιού του ακόμη κι από το δημόσιο, επισφαλές δίκτυο της πλατείας.

Τώρα, πέρα από την ασφαλή, κρυπτογραφημένη πρόσβαση στους πόρους ενός απομακρυσμένου LAN, ο χρήστης του VPN έχει τη δυνατότητα να περνά *όλη* τη δικτυακή κίνηση του υπολογιστή του *μέσα* από το VPN. Έτσι, το web browsing γίνεται μέσω ενός ασφαλούς καναλιού: Πρόκειται για το ίδιο κανάλι που ξεκινά από τον λεγόμενο VPN client και φτάνει έως τον απομακρυσμένο VPN server. Κανένα πρόβλημα, λοιπόν, αν κάπου στην πλατεία βρίσκεται ένας ανήσυχος χρήστης με το Pineapple του, ο οποίος διασκεδάζει υποκλέπτοντας τις συνδέσεις άλλων χρηστών της περιοχής: Ακόμη και να υποκλέψει το traffic του VPN client, από τη στιγμή που είναι κρυπτογραφημένο θα του είναι εντελώς άχρηστο. (Για το Pineapple, τη λογική λειτουργίας του και το τι μπορεί να κάνει, δείτε το σχετικό άρθρο που αρχίζει από τη σελίδα 22 του deltaHacker 005.) Φυσικά, δεν είναι απαραίτητο να ‘χει κάποιος Pineapple, προκειμένου να καταλύσει την ασφάλεια των απρόσεκτων χρηστών. Για παράδειγμα, ένα laptop με το BackTrack Linux είναι ό,τι ακριβώς χρειάζεται για να υλοποιηθούν ένα σωρό ενδιαφέροντα MiTM attacks. Αλλά ας μην ξεφεύγουμε.

Τα VPN, λοιπόν, προσφέρουν μεγάλη ευκολία κι άριστη ασφάλεια. Την ίδια στιγμή, υπό προϋποθέσεις μάς “ανοίγουν” υπηρεσίες στις οποίες δεν θα ήταν δυνατόν να έχουμε πρόσβαση, τουλάχιστον όχι χωρίς να κάναμε πρώτα ένα υπερατλαντικό ταξίδι. Ενδεχομένως να ‘χετε ακούσει για το Hulu, ένα site όπου ο ενδιαφερόμενος παρακολουθεί επεισόδια αμερικάνικων τηλεοπτικών σειρών, μάλιστα ασχέτως αν μιλάμε για παλιές σειρές ή καινούργιες, που προβάλλονται τώρα. Το θέμα με το Hulu είναι ότι επιτρέπει την πρόσβαση *μόνο* σε αμερικανούς.

Τώρα, κάποιος εκτός Αμερικής που θα ‘θελε να ‘χει πρόσβαση στο Hulu και σ’ άλλες παρόμοιες υπηρεσίες, ως λύση θα μπορούσε να σκεφτεί τη χρήση ενός ανοικτού proxy server που φυσικά θα βρίσκεται σε αμερικάνικο έδαφος. Όμως με την προσέγγιση των proxy υπάρχουν δύο σοβαρά προβλήματα. Το ένα έχει να κάνει με τη χαμηλή ταχύτητα πρόσβασης που παρέχουν, η οποία είναι απλά ακατάλληλη για εφαρμογές streaming (σκεφτείτε μόνο πόσοι τους χρησιμοποιούν). Το άλλο πρόβλημα είναι ότι, πολύ συχνά, οι proxies μπαίνουν σε μαύρες λίστες από τους παρόχους περιεχομένου, οι οποίοι απλά δεν δέχονται συνδέσεις που προέρχονται από μηχανήματα εντός τέτοιων λιστών.

Τελικά, όπως διαπιστώσαμε κι εμείς στην πράξη, η μία και μοναδική λύση για την πρόσβαση σε υπηρεσίες σαν το Hulu ή το Netflix, είναι να ‘χουμε τον δικό μας VPN server κάπου στην Αμερική. Έτσι, κάθε φορά που συνδεόμαστε σ’ αυτόν βγαίνουμε στο ίντερνετ με αμερικάνικο IP και ταυτόχρονα δεν είμαστε black listed. Και πώς όμως θ’ αποκτήσουμε VPN server στην Αμερική; Μα, αγοράζοντας ένα καλό, αξιόπιστο και φθηνό VPS (Virtual Private Server) με Linux, το οποίο θα τρέχει το κατάλληλο VPN software!

Διαβάστε όλο το άρθρο στο deltaHacker Απριλίου (τεύχος 007). Όλες τις πληροφορίες για τις συνδρομές στο deltaHacker, το μοναδικό μηνιαίο περιοδικό με θεματολογία ethical hacking και security που δεν κυκλοφορεί στα περίπτερα και απευθύνεται σε όλους, θα τις βρείτε εδώ ακριβώς. Για παραγγελίες μεμονωμένων τευχών ή συνδρομών συμπληρώστε τη σχετική φόρμα.

Σημείωση: Οι συνδρομές μπορούν να ξεκινούν από όποιο τεύχος επιθυμείτε, αρκεί να υπάρχει σε stock.

76 Responses to “Φως στην άκρη του τούνελ!”

  1. tr3quart1sta | 15/04/2012 at 03:58

    σελιδα 17, 2 γραμμες πανω απο το βημα 4, τερμα δεξια, τι σημαινει το “\” ?

    • subZraw | 15/04/2012 at 07:57

      Όταν το backslash υπάρχει στα δεξιά μιας γραμμής σημαίνει ότι η γραμμή δεν έχει τελειώσει και συνεχίζει από κάτω. Δες και στη σελίδα 48, όπου υπάρχει κι ένα άλλο παράδειγμα χρήσης του backslash ως χαρακτήρα συνέχισης γραμμής (line continuation character).

  2. tr3quart1sta | 15/04/2012 at 12:24

    ααα οκ θενκς!

  3. Chrisss | 17/04/2012 at 14:49

    Πρώτα από όλα θα ήθελα να πω ότι το άρθρο είναι πολύ καλογραμμένο με πολλές λεπτομετιες και παρατήρησης.

    Μια ερώτηση που θέλω να θέσω είναι: Πως μπορώ να χρησιμοποιήσω το OPENVPN στο iphone/ipad?

    Έχω την εντύπωση ότι το iphone δεν υποστηρίζει το συγκεκριμένο πρωτόκολλο VPN.

    • subZraw | 17/04/2012 at 15:07

      Δυστυχώς ο VPN client του iOS δεν συνεργάζεται με το OpenVPN. Για μια λίστα με τα πρωτόκολλα που υποστηρίζει δες το http://support.apple.com/kb/HT1288. (Το OpenVPN δουλεύει με το πρωτόκολλο SSL/TLS.) Στην πράξη, λοιπόν, έχεις δύο επιλογές: Είτε να χρησιμοποιήσεις κάποιον άλλον VPN server (θέμα επόμενου άρθρου) είτε να εγκαταστήσεις μια εφαρμογή σαν το GuizmOVPN (www.guizmovpn.com), η οποία όμως δουλεύει μόνο σε jailbroken iOS devices.

  4. Chrisss | 17/04/2012 at 16:34

    Λογικά θα περιμένω το μελλοντικό άρθρο για κάποιον άλλον VPN server εκτος και άμα με κάτσει ένα Cisco Router 871 έτσι ώστε να μπορέσω να στήσω το vpn εκεί πάνω. Thx για την απάντηση.

  5. j0ni | 20/04/2012 at 21:30

    εχω την εντυπωση οτι στη σελ17 το path που κανει copy το φακελο easy-rsa ειναι λαθος στο αρθρο. Εγω τουλαχιστον το βρηκα στο /usr/share/openvpn.

    Anyway μετα απο ολα τα βηματα ο client γυρναει ενα TLS handshake failed. Any idea why?

    • subZraw | 20/04/2012 at 23:08

      Αν μιλάμε για εγκατάσταση του Ubuntu Server 11.10, τότε ο κατάλογος είναι αυτός που αναφέρεται στο άρθρο. Για την ακρίβεια, φτιάχνουμε πρώτα τον κατάλογο /etc/openvpn/easy-rsa και μέσα του αντιγράφουμε όλα τα περιεχόμενα του /usr/share/doc/openvpn/examples/easy-rsa/2.0.

      Η αποτυχία του handshake πιθανώς να οφείλεται σε λάθος κλειδιά που έχει ο client. Γενικά, χρειάζεται λίγη προσοχή κατά τη δημιουργία/εγκατάσταση των κλειδιών τόσο του server, όσο και του client.

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

  6. j0ni | 21/04/2012 at 06:38

    Το λειτουργικο ειναι fedora 16. Οταν λες λαθος κλειδια τι εννοεις?
    Δεν καταλαβαινω τι μπορει να ειναι λαθος στο κλειδι. Εκανα copy ακριβως τα κλειδια του client και του ca. Παρολα αυτα και γω σκεφτηκα να τα ξαναδημιουργησω να δω μηπως!! Μου φαινεται ομως κουλο το οτι στα logs δεν αναφερει τιποτα αλλο εκτος απο το tls για να βοηθησει. Αν αλλαξει κατι θα σας ενημερωσω προς πληροφορηση γενικως. Ευχαριστω subzraw.

  7. NikosAdam | 26/04/2012 at 18:41

    Αν έχω ubuntu server πως γινεται να αντιγραψω τα αρχεια ???

    • subZraw | 26/04/2012 at 18:48

      Αν και η ερώτησή σου απαντάται στο άρθρο, πες μου σε παρακαλώ τι OS τρέχει ο client και θα σου πω ακριβώς τι να κάνεις :)

  8. NikosAdam | 26/04/2012 at 18:50

    Backtrack 5 R1 !!!!

    • subZraw | 26/04/2012 at 18:58

      Ένας τρόπος για να το πετύχεις είναι να ‘χεις στο Ubuntu Server εγκατεστημένο κι ενεργοποιημένο τον OpenSSH server κι από το BackTrack σου να χρησιμοποιήσεις το εργαλείο scp, κάπως έτσι:

      scp -r remote_user@ubuntu_server_ip:/remote/dir /local/dir

      όπου στη θέση του remote_user θα βάλεις το όνομα του χρήστη στο Ubuntu Server box και στη θέση του ubuntu_server_ip το IP του. Φυσικά, πρέπει να τροποποιήσεις κατάλληλα και τις διαδρομές (paths) /remote/dir και /local/dir.

  9. NikosAdam | 26/04/2012 at 18:52

    δεν ενοοώ το πως θα τα αντιγράψω αλλα πως θα τα μεταφέρω

    • subZraw | 26/04/2012 at 18:59

      Και παραπάνω σου απάντησα πώς να τα μεταφέρεις αντιγράφοντάς τα :) Αν μετά τη μεταφορά δεν τα θέλεις στο Ubuntu Server box, απλά διέγραψέ τα.

  10. st48hs | 15/05/2012 at 14:42

    Καλησπέρα σε όλους!!
    Έχω ένα πρόβλημα και θα ήθελα τη βοήθεια σας.
    Προσπαθώ να φτιάξω τον openvpn server, κάνω όλη τη διαδικασία όπως ακριβώς περιγράφεται στο περιοδικό.
    Έχω εγκαταστήσει τον openvpn server 11.10 στο virtualbox και το λάθος που κάνω σίγουρα είναι στο port forwarding.. Όταν δίνω την εντολή ifconfig στο server μου δίνει την ip 10.0.2.*. Αυτή θα βάλω στο router μου μαζί με την πόρτα 1194? ή τη local ip 192.168.1.1 του υπολογιστή μου??

    Ευχαριστώ :D

    • subZraw | 15/05/2012 at 19:52

      Το ifconfig στον OpenVPN server, πέρα από το IP του tun device (που είναι της μορφής 10.8.0.*) θα πρέπει να σου δίνει και το IP ενός interface με όνομα eth0 ή eth1. Αυτό, κατά πάσα πιθανότητα, θα έχει τη μορφή 192.168.0.* ή 192.168.1.*.

      Ε, το IP forwarding θα γίνεται προς αυτό το 192.168.x.y.

      • st48hs | 15/05/2012 at 20:59

        Στο ifconfig έχει μόνο eth0 και είναι η ip 10.0.2.15. Αυτή βάζω για port forwarding και όταν πάω να ξεκινήσω το server μου βγάζει fail.. Τι άλλο μπορεί να φταίει?? :(

  11. st48hs | 15/05/2012 at 23:57

    Θα σας τα πω από την αρχή:
    Έχω ένα router baudtec που δίνει ο ΟΤΕ δωρεάν σε κάθε νέα σύνδεση.
    Ενεργοποιώ το firewall και απενεργοποιώ το SPI. Στο advanced setup πάω στην επιλογή ΝΑΤ και επιλέγω virtual server. Στο όνομα της εφαρμογής βάζω ένα όνομα, βάζω για πόρτα τη 1194 και IP αυτή που μου δίνει ο server όταν εκτελώ την εντολή ifconfig. Αυτή τα βήματα έκανα για το port forwarding!!!!
    Στη συνέχεια μέσα στο server έβαλα στατική IP από το link που διάβασα στο άρθρο.
    Έδωσα όλες τις εντολές που λέει μέσα το άρθρο αλλά όταν δίνω εντολή να ξεκινήσει ο server μου βγάζει fail..
    Ειλικρινά δε μπορώ να καταλάβω τι γίνεται, θα ήθελα τη βοήθεια σας γιατί δε νομίζω ότι μπορώ να βρω το πρόβλημα!!

    Ευχαριστώ!!

    • subZraw | 22/05/2012 at 14:06

      Είναι εύκολο ν’ ανεβάσεις κάπου (π.χ., στο pastebin) το log του OpenVPN; Το “fail” από μόνο του δεν βοηθά, μπορεί να σημαίνει οτιδήποτε :|

  12. st48hs | 23/05/2012 at 19:55

    Αυτό είναι το λινκ από το pastebin..
    http://pastebin.com/nZj37mge

    Ευχαριστώ!

  13. Starion | 27/05/2012 at 12:30

    Εχμμμμ, για να είμαστε και ακριβοδίκαιοι:

    το VPN από μόνο του ΔΕΝ παρέχει αναγκαστικά ασφάλεια. Η κρυπτογράφηση που χρησιμοποιείται στο VPN, εφόσον ο χρήστης την επιλέξει παρέχει ασφάλεια. Π.χ. μπορείς να κάνεις VPN στο openVPN χωρίς τη χρήση κρυπτογράφησης. Όπως έχουμε και πρωτόκολλα VPN που δεν προσφέρουν καμία ασφάλεια, π.χ. GRE ή MPLS tunnels. Το VPN λοιπόν είναι απλά το “μπουρί” ανάμεσα στο vpn client και το vpn server, ώστε ότι στέλνει ο ένας να καταλήγει στον άλλον άμεσα (δλδ χωρίς να ασχολούμαστε με το τι άλλο υπάρχει μεταξύ τους π.χ. ρούτερ).

    Ξέρω θα μου πείτε *συνήθως* όταν λέμε VPN, εννοούμε και προστασία των πακέτων που διακινούνται με κρυπτογράφηση, αλλά λέμε τώρα, ειδικά για κάποιον που θα επιλέξει την εύκολη λύση της χρήσης ενός VPN provider, να το προσέξει το πράγμα παραπάνω.

    • subZraw | 27/05/2012 at 12:46

      Σύμφωνοι, αλλά η λύση που δείχνουμε στο άρθρο του περιοδικού είναι *με* ασφάλεια — και μάλιστα ισχυρή.

      Από την εισαγωγή του άρθρου δεν φαίνεται κάτι τέτοιο, διαβάζοντας το άρθρο όμως γίνεται παραπάνω από φανερό.

  14. subZraw | 29/05/2012 at 09:42

    Προσφάτως οι @giannoug και @pvar ανακάλυψαν, ανεξάρτητα ο ένας από τον άλλον, ότι το OpenVPN GUI for Windows (http://openvpn.se) έχει σοβαρά προβλήματα με τις εκδοχές 64bit των Windows 7.

    Ένας εναλλακτικός OpenVPN client για Windows που δουλεύει σωστά σε κάθε εκδοχή του λειτουργικού είναι το Viscosity (http://thesparklabs.com/viscosity). Πρόκειται για εμπορικό, επί πληρωμή εργαλείο το οποίο όμως δουλεύει απρόσκοπτα και πλήρως για 30 ημέρες.

  15. Mike | 29/05/2012 at 14:25

    Ακολούθησα το πρόσφατο άρθρο για τον openvpn server σε ubuntu, συνδέθηκα κανονικά την πρώτη φορά, αλλά μετά από restart του server σταματάει να λειτουργεί ο openvpn server… τι μπορεί να φταίει;

    • Mike | 29/05/2012 at 21:08

      Για την ακρίβεια ο openvpn server λειτουργεί και μπορώ να συνδεθώ, αλλά δεν έχω πρόσβαση στο ίντερνετ από τον client όσο είμαι συνδεδεμένος.

      • subZraw | 29/05/2012 at 21:13

        Αχά! Οι κανόνες του iptables έχουν δοθεί σωστά; Ενεργοποιούνται κατά την εκκίνηση του λειτουργικού;

        Δύο άλλα πράγματα που αξίζει να δοκιμάσεις:

        α) Βάλε τον OpenVPN server στο DMZ (υποθέτω ότι είναι πίσω από ADSL router)

        β) Στα openvpn.conf και client.cont άλλαξε το πρωτόκολλο από UDP σε TCP (χρειάστηκε να το κάνω όταν άλλαξα router).

        • Mike | 29/05/2012 at 22:04

          Απ’ ότι φαίνεται οι κανόνες του iptables δεν δίνονται κατά την εκκίνηση, ούτε ο dnsmasq κάνει restart… Δηλαδή το rc.local δεν τρέχει κατά την εκκίνηση. Το έτρεξα χειροκίνητα και λειτουργούν όλα κανονικά

  16. subZraw | 29/05/2012 at 22:18

    @Mike Φοβόμουν ότι θα το έλεγες αυτό :D

    Τέλος πάντων, τουλάχιστον έχεις έναν OpenVPN server που δουλεύει σωστά.

    Το γιατί δεν ενεργοποιούνται οι κανόνες του iptables κατά την εκκίνηση είναι κάτι που προς το παρόν δεν μπορώ να καταλάβω γιατί συμβαίνει… :(

    • Mike | 30/05/2012 at 01:52

      Χρησιμοποίησα αυτόν τον τρόπο για να ενεργοποιώ τους κανόνες του iptables σε κάθε εκκίνηση: http://rackerhacker.com/2009/11/16/automatically-loading-iptables-on-debianubuntu/
      Μετά από μερικά restart όμως φορτώνει και το rc.local… περίεργα πράγματα :S
      Το μόνο που μπορώ να σκεφτώ είναι ότι είχα αφήσει μια κενή γραμμή στην αρχή του rc.local πριν τους κανόνες του iptables (τώρα την έσβησα), ίσως έφταιγε αυτό γιατί τώρα δουλεύει κανονικά.

      • subZraw | 30/05/2012 at 07:21

        Μπορεί να ήταν η κενή γραμμή, ναι. Πάντως ωραίος κι ο τρόπος στο άρθρο που βρήκες!

  17. exterr | 28/06/2012 at 15:17

    Γεια σας.
    Θα ήθελα τα φώτα σας , βηθείστε τον αόματο!!!!
    ακολούθησα όλη την διαδικασία του αρθρου σε ένα VPS που έχω αγοράσει και όλα πήγαν καλά όσο αφορά την σύνδεση.
    Εχω θέμα με το dnsmasq και με το αρχείο dnsmasq.conf.
    κάνω την αλλαγή που λέει το άρθρο: listen -address = 127.0.0.1, 10.8.0.1 κανω
    restart και τσαφ!! το μύνημα : “dnsmasq failed to create listening socket for 10.8.0.1: address already in use “.
    Παρατηρώ λοιπόν στο trace ότι το openvpn gui γραφει “Assigned IP :10.8.0.6”
    Αχά !! Κάνω την αλλαγή στο αρχείο και κάνω πάλι restart το dnsmasq.
    Τσαφ!!! άλλο μύνημα “dnsmasq failed to create listening socket for 127.0.0.1: address already in use “.
    @subZraw : Help me master !!!! (Το vps τρέχει ubuntu 11.04 server)

    • subZraw | 28/06/2012 at 15:30

      Καλησπέρα φίλε μας,

      Υπάρχει μήπως περίπτωση να τρέχει κάποιος άλλος nameserver (bind comes in mind) στο VPS; Αν ναι, απενεργοποίησέ τον και μετά ενεργοποίησε το dnsmasq.

      Επίσης, μετά την εγκατάσταση του dnsmasq (με το apt-get) σε ορισμένες περιπτώσεις ο δαίμονας ξεκινά αυτόματα αν δεν απατώμαι. Δοκίμασε να τον σταματήσεις χειροκίνητα, μετά κάνε τις όποιες τροποποιήσεις στο dnsmsq.conf και ξεκίνησέ τον εκ νέου.

      • covis | 22/07/2012 at 01:50

        Όντως με το bind έχει ένα θέμα αλλά για όσους δε θέλουν να αποχωριστούν το bind τι κάνουν ? :p

        • subZraw | 30/07/2012 at 20:29

          Όσοι θέλουν το bind δεν ακολουθούν τον οδηγό κατά γράμμα, κάνουν τις απαραίτητες τροποποιήσεις και αφού όλα δουλέψουν έρχονται –ενδεχομένως– ξανά εδώ, για να μας μεταφέρουν τις εντυπώσεις τους :)

  18. exterr | 28/06/2012 at 22:45

    Τελικά το πρόβλημα είχε σχέση με το bind.
    Ολα οκ τώρα .
    Thanks Master , May the force be with you !!!!

  19. exterr | 29/06/2012 at 00:47

    Δεν θέλω να γίνομαι ενοχλητικός αλλα προέκυψε ακόμα ένα θεματάκι .
    Δίνω τους κανονες για το iptables και πάνε όλα καλά για τους πρώτους 3.
    Πληκτρολογώ λοιπόν και τον τέταρτο :
    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
    και τσαφ!!! το μύνημα “iptables: no chain/target/match by that name”
    Συγχωρέστε την ασχετοσύνη μου .
    thanks.

    • subZraw | 29/06/2012 at 11:38

      Χμ, πώς λέγεται το network interface του VPS; Είναι σίγουρα το eth0; Μήπως είναι το eth1; Δώσε λίγο την εντολή

      ifconfig

      και τσέκαρέ το, σε παρακαλώ.

      • exterr | 29/06/2012 at 14:28

        Το έχω κάνει . Δεν υπάρχει κανένα από τα 2.
        Υπάρχουν κάποια io , tun0 ,venet0 κτλ.
        Με κάποιο ψάξιμο που έκανα έμαθα ότι το openvz δεν κανει virtualized το MASQUERADE. Πραγματικά αν δώσω lsmod δεν υπάρχει το module ipt_MASQUERADE.
        Κάπου λοιπόν βρήκα μια προτεινόμενη λύση στο πρόβλημα .
        Πρέπει λέει να δώσω :
        iptables -t nat -A POSTROUTING -j SNAT –to-source
        Να το δώσω ή θα τα κάνω μαντάρα; Αν ναι ποιο είναι αυτό το venet’s IP; Είναι το
        5.255.255.255 που φαίνεται με το ifconfig ή κάποιο άλλο;
        Τους προηγούμενους 3 κανόνες τους κρατάω ως έχουν ή θέλουν και αυτοί αλλαγή;

        ΥΓ. Δεν τα πολυκαταλαβαίνω τα παραπάνω αλλά προσπαθώ

  20. subZraw | 29/06/2012 at 18:56

    @exterr
    Αν και δεν έχω ιδέα από OpenVZ και τα ρέστα, υποθέτω ότι το network interface που θέλεις είναι το venet0. Για να δεις το IP του δώσε

    ifconfig venet0

    (και όχι, δεν είναι το 5.255.255.255) Πάντως για τους κανόνες του iptables δεν θέλεις το IP, μόνο το όνομα του network interface που βγαίνει στον έξω κόσμο (εν προκειμένω, venet0).

    Οι τρεις αρχικοί κανόνες δεν θέλουν αλλαγή. Στη θέση του 4ου βάλε εκείνον με το static NAT. Λογικά, θα δουλέψει.

    Επαναλαμβάνω, ωστόσο, ότι με το OpenVZ δεν έχω καθόλου εμπειρία. Μου έχουν πει κάτι φρικαλεότητες, στο στιλ ότι δεν μπορείς να φορτώσεις καν modules κι θέλεις πολύ πρέπει να στείλεις mail στον VPS provider κ.ο.κ.

  21. exterr | 29/06/2012 at 19:46

    Αν λες για τον κανονα που γράφω παραπάνω διπλα στο –to-source βαζω vnet0 και δεν το δεχεται. Βαζω το ip του 127.0.0.2 (αυτό δείχνει το ifconfig) και το δέχεται μεν αλλά δεν έχω internet από τον client.
    Εχεις την καλοσύνη να μου γράψεις την σύνταξη όλου του κανόνα ;

    Σε ευχαριστώ για τον χρόνο σου. (σε έχω ζαλίσει το ξέρω)

    • subZraw | 30/06/2012 at 09:35

      Πρέπει να γράψεις κάτι σαν

      iptables -t nat -A POSTROUTING -j SNAT –to-source public_IP_VPS

      όπου public_IP_VPS είναι η δημόσια διεύθυνση IP του VPS σου, δηλαδή αυτή στην οποία συνδέεσαι μέσω SSH.

      • exterr | 30/06/2012 at 14:08

        Το πρόβλημα λύθηκε !!! Σε ευχαριστώ πολύ για την βοήθειά σου.
        Το Θετικό είναι ότι έμαθα πάρα πολλά πράγματα που δεν τα ήξερα.
        (Αυτή τη στιγμή σου απαντώ με ip Αμερικής).

        • subZraw | 30/06/2012 at 14:13

          Πολύ ωραία, χαίρομαι που έβγαλες άκρη!

          Κι εγώ από Αμερική σου γράφω τώρα — από New Jersey για την ακρίβεια :)

  22. georgep138 | 05/09/2012 at 20:13

    Στην σελίδα 17 του τεύχους 007, στην μέση έχει μία παραπομπή στο
    http://deltahacker.gr/?p=5058 ,
    η οποία δεν ανοίγει.
    Μήπως είναι τυπογραφικό λάθος ο αριθμός 5058 ;
    Error 404

    • subZraw | 05/09/2012 at 22:02

      Δυστυχώς δεν είναι τυπογραφικό :S Απλά, το συγκεκριμένο άρθρο ο γράφων έχει αμελήσει να το ανεβάσει :( Θα φροντίσει όμως ώστε να ανέβει το συντομότερο δυνατόν!

  23. jonjon | 11/09/2012 at 20:12

    Όταν η όλη διαδικασία γίνει όχι στην έκδοση Server αλλά στην 12.04 Desktop του Ubuntu, μιας και στο port 53 είναι ήδη ρυθμισμένο εξαρχής να ακούει κάποια αρχική εγκατάσταση του dnsmasq, εμφανίζεται ένα μήνυμα λάθους «dnsmasq: failed to create listening socket: Address already in use».

    Δοκιμάζοντας να μπει σε σχόλιο η γραμμή dns=dnsmasq του /etc/NetworkManager/NetworkManager.conf και μετά με επανεκκίνηση του NetworkManager, η εντολή service dnsmasq status δίνει αποτέλεσμα

    * Checking DNS forwarder and DHCP server dnsmasq
    * (dead, pid file exists)

    και φυσικά η αναδρομολόγηση όλου του traffic δε γίνεται.

    Καμιά ιδέα; (Είμαι και βιαστικός, που να ‘ντέξει η μικρή αδερφή μου στην Κίνα χωρίς fb :-/ )

    Παρεμπιπτόντως χρησιμοποιώ το Windows Installer 2.2.2 της http://openvpn.net/index.php/download.html (σε περίπτωση που βοηθά)

    Επιπλέον θα φανταζόμουν ότι η συνολική αναδρομολόγηση του traffic του πελάτη θα απαιτούσε ρύθμιση και στον πελάτη (κάτι σαν επαναπροσδιορισμό του Gateway ώστε να προωθεί τα ερωτήματα στην σύνδεση του VPN). Πώς και δεν απαιτείται κάτι τέτοιο;

    • jonjon | 11/09/2012 at 20:44

      Τελικά παρατήρησα διάφορα επαναλαμβανόμενα μηνύματα λάθους στο Log του openvpn client και τρέχοντάς το με administrative rights τελικά η σελίδα http://whatismyipaddress.com/ έδειξε την ip του vps μου :-)

      Ωστόσο, εξακολουθώ να βλέπω ότι “Tue Sep 11 20:39:18 2012 ROUTE default_gateway=192.168.1.254” από το Log του openvpn client

      • subZraw | 11/09/2012 at 21:02

        Καλησπέρα,
        Ναι, ο client πρέπει να τρέξει με δικαιώματα υπερχρήστη, αν μη τι άλλο για να δημιουργήσει το tun device.

        Τώρα, αν προσέξεις το log του client, λίγο πιο κάτω από τη γραμμή που αναφέρεις θα πρέπει να δεις και μια άλλη, της μορφής

        …route add -net 10.8.0.1 netmask 255.255.255.255 gw 10.8.0.5

        Επίσης, τα αποτελέσματα του whatismyipaddress.com σου δείχνουν ξεκάθαρα ότι βρίσκεσαι στον σωστό δρόμο.

        Αν όμως θέλεις μπορείς να πάρεις τον έλεγχο στα χέρια σου. Εγκατέστησε το Wireshark, τερμάτισε τον OpenVPN client και κάνε login σ’ αυτό εδώ το site. Θα μπορέσεις να σνιφάρεις το username και το password σου. Μετά ενεργοποίησε τον OpenVPN client και κάνε ξανά login στο site. Το μόνο που θα σνιφάρεις θα είναι …θόρυβος :)

        • jonjon | 12/09/2012 at 11:48

          Πράγματι παρατήρησα το “route add -net 10.8.0.1 netmask 255.255.255.255 gw 10.8.0.5”!

          Σχετικά με την πρόσβαση στο VPΝ από android χωρίς κάποιο πρόσθημα (Cyanogen) ή άλλη εφαρμογή (για λόγους ασφάλειας) από την επιλογή του android 2+ settings > VPN settings κλπ, υπάρχει κάποια πληροφορία;

          • subZraw | 12/09/2012 at 11:53

            Χμ, δεν ξέρω αν έχει κάποιον OpenVPN client το Android, ούτε αν διατίθεται σε κάποιο marketplace (καλά το λέω;)

            Ξέρω ότι για Android (όπως και για iPhone) υπάρχει ένας PPTP VPN client, ο οποίος όμως δεν παίζει με το OpenVPN (διαφορετικά πρωτόκολλα). Ξέρω, επίσης, ότι κάποια στιγμή θα έχουμε και άρθρο για PPTP VPN tunneling. Κάτι μου λέει αυτό το άρθρο θα είναι έτοιμο σύντομα!

  24. geozar | 18/09/2012 at 03:09

    Καλησπέρα προσπαθώ να φτιάξω ένα vpn μέσω vps ενώ στην αρχή (εγκατάσταση) το vpn τρέχει αφού φτιάξω το σέρβερ μου λέει openvpn ….fail . Άρα το λάθος μου είναι κάπου στο build-key-server?! Τι μπορώ να κοιτάξω για να το διορθώσω??

    • geozar | 18/09/2012 at 03:11

      το λειτουργικό είναι ubuntu server 11.04 .

      • subZraw | 18/09/2012 at 06:35

        Χμ, δεν βοηθούν πολύ όσα γράφεις :(

        Τις αναλυτικές οδηγίες του σχετικού άρθρου στο deltaHacker 007, τις ακολούθησες;

  25. geozar | 18/09/2012 at 13:45

    Το ξερω οτι δε βοηθαω :/ . Bαση του αρθρου το εφτιαξα! Εφτιαξα και ενα τοπικο και ολα καλα!Βρηκα κατι απο τη στιγμη που θα βαλω το server.conf στο openvpn σταματα να λειτουργει! (τα cert και key τα εχω αλλαξει) .

    • geozar | 18/09/2012 at 13:49

      κατι ακομα οταν ανοιγω τα αρχεια (vars server.conf κτλ) με το nano μου ζηταει να κανω UnJustify που στο τοπικο vpn μου δε ζηταει!

      • subZraw | 19/09/2012 at 07:53

        OK, είναι πρωί ακόμα και δεν έχω καν πιει καφέ, υποψιάζομαι όμως ότι κάτι παίζει με το terminal emulation του VPS και καθώς ανοίγεις ένα text file “διπλώνουν” ορισμένες γραμμές — ή κάτι τέτοιο, τέλος πάντων.

        Για να ελέγξεις αυτή τη θεωρία, προτείνω να μπεις στον κόπο και να αντιγράψεις τοπικά τα υπό διόρθωση αρχεία, να τα τροποποιήσεις με τον editor που χρησιμοποίησες για το (επιτυχές) στήσιμο του τοπικού OpenVPN και μετά να τα ανεβάσεις πάλι στο VPS.

        Και κάτι (ψιλο)άσχετο: Ποιος είναι ο VPS provider; :)

        • geozar | 21/09/2012 at 13:25

          Σ ευχαριστω , κατι τετοιο πρεπει να γινεται!Απο το byvm.net το πηρα
          Ειναι το πρωτο μου VPS (φαινεται!!!!).

  26. georgep138 | 20/09/2012 at 11:57

    Γειά σας.
    Είδα στο αρχείο server.conf ότι χρησιμοποιεί πρωτόκολλο UDP
    (γραμμή proto udp στην αρχή του αρχείου)
    Εχω μια απορία:
    Νομίζω ότι όταν χρειαστεί να κάνουμε μεταφορές αρχείων,
    μεταξύ server και client, με UDP δεν θα είναι αξιόπιστη η μεταφορά αρχείων.

    • subZraw | 20/09/2012 at 16:42

      Καλά τα λες, υπό την έννοια ότι το πρωτόκολλο UDP δεν περιλαμβάνει μηχανισμούς ελέγχου, ώστε να διαπιστώνεται ότι τα πακέτα δεδομένων πράγματι φτάνουν στον προορισμό τους. Το OpenVPN, όμως, φροντίζει ώστε η επικοινωνία μεταξύ server και client να είναι αξιόπιστη.

      Εκτός από το UDP, το OpenVPN υποστηρίζει *και* το TCP. Μπορείς λοιπόν αν θέλεις ν’ αλλάξεις το πρωτόκολλο UDP και στη θέση του να βάλεις το TCP (μην ξεχάσεις ν’ αλλάξεις και το client.conf, όπως επίσης και να τροποποιήσεις τους κανόνες του firewall — ενδεχομένους κι εκείνους του port forwarding). Σε κάποιες περιπτώσεις, χρήστες έχουν αναφέρει ότι είχαν καλύτερα αποτελέσματα με το TCP, παρά με το UDP (που είναι η προκαθορισμένη ρύθμιση).

  27. P@vlos | 22/12/2012 at 15:52

    Προσφατα παρελαβα ενα raspberry pi 512mb. Ειπα για αρχη να εγκαταστησω vpn server οπου συμβουλευτικα το τευχος 7. Το προβλημα που αντιμετοπιζω ειναι στη σελιδα 17, βημα 3. Αφου εκτελεσω την εντολη ‘cp -R \’ και ‘ /usr/share/doc/openvpn/examples/easy-rsa/2.0’ μου εμφανιζει το εξης:
    Try ‘cp –help’ for more information
    Γιατι δεν δεχετε την εντολη?

    • subZraw | 22/12/2012 at 18:20

      Η εντολή είναι μία:

      cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0 .
      

      Ο χαρακτήρας του backslash, που υπάρχει στο άρθρο του περιοδικού, χρησιμοποιείται για να υποδηλώσει στο BASH ότι η εντολή συνεχίζεται στην από κάτω γραμμή. Στο άρθρο τον βάλαμε για να δείξουμε ότι η εντολή είμαι μία, αλλά “σπασμένη” σε δύο γραμμές. Εσύ όμως δεν χρειάζεται να τον συμπεριλάβεις στο τερματικό σου. Επίσης, δώσε προσοχή και στην τελεία, η οποία χρειάζεται και σημαίνει “στον κατάλογο που τώρα βρίσκομαι”.

      (BTW, σου προτείνω να διαβάσεις τη μίνι, εισαγωγική σειρά πάνω στο BASH shell, που ξεκινά από το τεύχος 015.)

  28. natasa1 | 21/02/2013 at 00:38

    Πολύ ωραίος και καλογραμμένος οδηγός για το openvpn.
    Σχεδόν αμέσως το κατάφερα αλλά έχω ένα θέμα που όσο κι αν έχω ψάξει δεν μπορώ να το λύσω.
    Αν και η ταχύτητα του vps μου είναι σε πολύ καλά επίπεδα, οι clients του openvpn server (winxp και iphone) δεν έχουν ούτε 1mbit download.
    Το πρόβλημα παρουσιάζετε ΜΟΝΟ σε σταθερές γραμμές dsl διότη με το iphone να έχει net απο 3g, σαν client δουλευει τέλεια και φτάνει 14-15mbit (όσο δηλαδή και χωρίς vpn) με wifi-dsl τα ίδια.
    Κάτι διάβασα για το mtu της γραμμής dsl. Το router μου λέει 1492 αλλά με ένα τεστ που έκανα το αποτέλεσμα ήταν server->remote 1533, remote->sevrer 1533 οπότε αφού το openvpn ειναι στα 1500 λογικά δε φταίει αυτο, σωστά;

    • subZraw | 21/02/2013 at 11:19

      Χμ, σίγουρα το θέμα αφορά στην ταχύτητα upstream του VPS. Αυτό που δεν καταλαβαίνω είναι γιατί φαίνεται να διαφοροποιείται ανάλογα με το αν ο client συνδέεται μέσω ADSL ή μέσω 3G. Δεν έχω να προσφέρω κάτι ουσιαστικό — sorry :S

  29. P@vlos | 04/07/2013 at 19:50

    Εχω φτασει μεχρι την σελιδα 22 και δεν μπορω να βρω τα αρχεια laptop.crt και laptop.key ενω το αρχειο ca.crt το βρηκα.(να πω πως και εγω ετρεξα την εντολη sh ./build-key laptop). Που μπορει να βρισκονται?

    • Pavlos | 05/07/2013 at 20:49

      Το παραπανω προβλημα το ελυσα.
      Προσπαθω να συνδεθω απο windows με το Viscosity και μου εμφανιζει το παρακατω μηνυμα, οπως επισης και οταν προσπαθω να συνδεθω απο το ubuntu με την εντολη .

      Jul 05 08:34:41: OpenVPN 2.2.2 Win32-MSVC++ [SSL] [LZO2] [PKCS11] built on Jan 4 2012
      Jul 5 08:34:41: WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
      Jul 5 08:34:41: NOTE: OpenVPN 2.1 requires ‘–script-security 2’ or higher to call user-defined scripts or executables
      Jul 5 08:34:41: LZO compression initialized
      Jul 5 08:34:41: UDPv4 link local: [undef]
      Jul 5 08:34:41: UDPv4 link remote: ***.**.**.***:1194

      Γιατι?

  30. natasa1 | 06/07/2013 at 03:50

    Το Viscosity πολυ καλος και σταθερος client και αξιζει για τα χρηματα του.
    Preferences -> Import Connection -> From File.., επιλεγουμε το αρχειο .conf εφοσον εχουμε και τα υπόλοιπα στον ιδιο φακελο. Καποιο σφαλμα στο αρχειο .conf πιστευω οτι υπαρχει.

    • Pavlos | 06/07/2013 at 15:09

      Επειδη δεν μπορω να βρω το client.conf πηγα απο τον φακελο το μετεφερα το αρχειο στο laptop και εκει εκανα τις αλλαγες που χρειαζονται. Ομως δεν πρεπει και καπου να ειναι αποθηκευμενο με τις αλλαγες το client.conf στο box με το openvpn?
      (παντως στον φακελο με τα πιστοποιητικα και τα κλειδια /etc/openvpn/easy-rsa/2.0/key δεν ειναι)

  31. natasa1 | 07/07/2013 at 03:33

    Μαλλον εχεις μπερδευτει, το client.conf ειναι μονο για τον client και μαζι με τα αλλα 3 files που χρειαζονται συνδεεσαι κανονικα. Αν δεν γινετε η συνδεση τσεκαρε τα απο την αρχη, το προβλημα μπορει να ειναι σε διαφορα σημεια.

  32. natasa1 | 07/07/2013 at 03:51

    Θα ηθελα μια βοηθεια με rules στο iptables για να κανω προωθηση μια port του vps σε μια ip του tun0.
    Δηλαδη χτυπωντας ipvps:1212, να απανταει η 10.8.0.6:1212 η οποια ειναι συνδεμενη στον openvpn server.
    Εχω διαβασει οτι εχει σχεση με τα iptables στο deltaHacker, εχω φαει τον τοπο του google και δεν εχω καταφερει τιποτα ακομη. Κατ αρχην οπως καταλαβα χρειαζομαι και FORWARD και POSTROUTING σωστα?

  33. psychaos | 03/09/2013 at 01:42

    Ακολούθησα όλα ανεξαιρέτως τα βήματα του tutorial και δυστυχώς στο τέλος για την αναδρομολόγηση του traffic είχα θέμα (δεν μπορούσε να αναδρομολογήσει τίποτα). Αλλάζοντας μόνο τα εξής, μπόρεσα να έχω αναδρομολόγηση:

    push “redirect -gateway def1 bypass-dhcp”
    push “dhcp-option DNS 208.67.222.222”
    push “dhcp-option DNS 208.67.220.220”

    Τις γραμμές push “redirect -gateway def1” και push “dhcp-option DNS 10.8.0.1” τις αγνόησα καθώς αλλιώς δεν λειτουργούσε κανονικά το VPN. Επίσης για κάποιον λόγο ο client ανα σύντομα χρονικά διαστήματα συνδέεται και αποσυνδέεται από τον server χωρίς προφανή αιτία. Τέλος, ενώ στα πρώτα δευτερόλεπτα όλα φαίνονται να πηγαίνουν καλά (το whatip δείχνει την σωστή ip) μερικά δευτερόλεπτα αργότερα δεν μπορώ να σερφάρω πουθενά.

    Που πάει το μυαλό σας να κοιτάξω; Έχω ακολουθήσει τις οδηγίες του άρθρου πιστά επανειλημμένες φορές.

    Ευχαριστώ.

  34. psychaos | 03/09/2013 at 02:02

    Στα παραπάνω να αναφέρω ότι απλώς χρειάστηκε να αλλάξω από udp σε tcp στα server.conf και client.conf για να δουλέψουν όλα ομαλά με το configuration που περιγράφω ακριβώς πιο πάνω. Να πω την αλήθεια δεν καταλαβαίνω τον λόγο όμως….;

    Τέλος πως μπορούμε να αποφύγουμε το πρόβλημα του εντοπισμού θέσης από διάφορα websites (τύπου abc.com) προκειμένου *πραγματικά* να μπορούμε να παρακολουθούμε προγράμματα live streaming γενικώς τέτοιων ιστοσελίδων;

    Ευχαριστώ και πάλι.

    • subZraw | 03/09/2013 at 06:47

      Το UDP είναι πιο “γρήγορο” από το TCP και για την περίπτωση του OpenVPN αυτό σημαίνει πως αν ενδιαφερόμαστε κυρίως για media streaming, τότε είναι καλύτερα να στρεφόμαστε σ’ αυτό.

      Από την άλλη όμως το UDP δεν είναι καθόλου αξιόπιστο σε σχέση με το TCP. Βέβαια το OpenVPN στέλνει ξανά όσα UDP packets χάνονται, αλλά αν στη διαδρομή μεταξύ client και server υπάρχει ένας “παράξενος” router, τότε τα επαναλαμβανόμενα προβλήματα είναι αναπόφευκτα και συνεπώς είναι προτιμότερο το TCP.

      Από όσα περιγράφεις, λοιπόν, είναι προφανές ότι και για την περίπτωσή σου το TCP είναι μονόδρομός. (Το ίδιο είχα διαπιστώσει και προσωπικά, σε OpenVPN server που είχα στήσει εδώ κι όταν ήμουν στον προηγούμενο ISP.)

      Τώρα, ανεξαρτήτως του πώς βγαίνεις στο Internet, το απομακρυσμένο μηχάνημα στο οποίο συνδέεσαι θα βλέπει ένα IP. Αν ορισμένα sites απαγορεύουν την πρόσβαση ή/και δεν παρέχουν συγκεκριμένες υπηρεσίες σε IPs τα οποία ανήκουν προέρχονται από μη-εγκεκριμένες περιοχές, τότε μία λύση είναι η σύνδεση μέσω OpenVPN. Υπάρχουν όμως δύο “αλλά”, εδώ:

      1) Ο OpenVPN server πρέπει να βρίσκεται σε εγκεκριμένη περιοχή (π.χ., στην Αμερική)
      2) Το IP του OpenVPN server *δεν* πρέπει να ανήκει σε εύρος διευθύνσεων το οποίο, για τον έναν ή τον άλλον λόγο, είναι banned.

      Ελπίζω να σε κατατόπισα :)

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων