Πώς να ρυθμίσετε το DuckDNS στο Raspberry Pi για απομακρυσμένη πρόσβαση

Πώς να ρυθμίσετε το DuckDNS στο Raspberry Pi για απομακρυσμένη πρόσβαση
Το DuckDNS είναι μια δωρεάν υπηρεσία Dynamic DNS που σας επιτρέπει να έχετε σταθερή πρόσβαση στο Raspberry Pi σας, ακόμα και αν η δημόσια IP διεύθυνσή σας αλλάζει. Σε αυτόν τον οδηγό, θα δείτε βήμα προς βήμα πώς να ρυθμίσετε το DuckDNS στο Raspberry Pi σας.

1. Δημιουργία Λογαριασμού και Domain στο DuckDNS

Το πρώτο βήμα είναι να δημιουργήσετε έναν δωρεάν λογαριασμό στο DuckDNS και να καταχωρήσετε το domain σας.

Επισκεφθείτε την ιστοσελίδα του DuckDNS (duckdns.org) και συνδεθείτε χρησιμοποιώντας έναν από τους υποστηριζόμενους τρόπους όπως Google, Twitter, GitHub ή Reddit. Αφού συνδεθείτε, δημιουργήστε ένα νέο subdomain, για παράδειγμα τοονομαμου.duckdns.org. Αυτό το subdomain θα χρησιμοποιείται για την απομακρυσμένη πρόσβαση στο Raspberry Pi σας.

Σημαντικό: Σημειώστε το token (κλειδί API) που θα βρείτε στον λογαριασμό σας, καθώς θα το χρειαστείτε για το script ενημέρωσης.

2. Προετοιμασία του Raspberry Pi

Συνδεθείτε στο Raspberry Pi σας μέσω SSH. Πρώτα, βεβαιωθείτε ότι το σύστημά σας είναι πλήρως ενημερωμένο:

sudo apt update
sudo apt upgrade -y

Εγκαταστήστε το curl εάν δεν είναι ήδη εγκατεστημένο, καθώς θα χρησιμοποιηθεί για την αποστολή των αιτημάτων ενημέρωσης στο DuckDNS:

sudo apt install curl -y

Δημιουργήστε έναν κατάλογο για τα αρχεία του DuckDNS script:

sudo mkdir /opt/duckdns/

Και έναν κατάλογο για τα αρχεία καταγραφής (logs):

sudo mkdir /var/log/duckdns/

3. Δημιουργία του Script Ενημέρωσης

Τώρα θα δημιουργήσετε το script που θα ενημερώνει αυτόματα την IP διεύθυνσή σας στο DuckDNS.

Δημιουργήστε ένα αρχείο script με το όνομα duck.sh:

sudo nano /opt/duckdns/duck.sh

Προσθέστε τις ακόλουθες γραμμές στο αρχείο, αντικαθιστώντας <YOUR_DOMAIN> με το subdomain σας (π.χ., τοονομαμου) και <YOUR_TOKEN> με το token που λάβατε από το DuckDNS:

echo url="https://www.duckdns.org/update?domains=<YOUR_DOMAIN>&token=<YOUR_TOKEN>&ip=" | curl -k -o /var/log/duckdns/duck.log -K -

Αποθηκεύστε το αρχείο πατώντας Ctrl+X, μετά Y και Enter.

Συμβουλή: Μπορείτε να προσθέσετε πολλά domains στο ίδιο script διαχωρίζοντάς τα με κόμμα, π.χ.: domains=domain1,domain2

Πολλαπλά Domains στο Ίδιο Script

Εάν διαχειρίζεστε περισσότερα από ένα domains στο DuckDNS, μπορείτε να τα ενημερώνετε όλα με ένα μόνο script.

Για παράδειγμα, αν έχετε δύο domains, τοονομαμου.duckdns.org και τοδευτεροονομαμου.duckdns.org, το script duck.sh θα γίνει ως εξής:

echo url="https://www.duckdns.org/update?domains=<YOUR_DOMAIN1>,<YOUR_DOMAIN2>&token=<YOUR_TOKEN>&ip=" | curl -k -o /var/log/duckdns/duck.log -K -

Αντικαταστήστε:

  • <YOUR_DOMAIN1> με το πρώτο σας domain (π.χ., τοονομαμου)
  • <YOUR_DOMAIN2> με το δεύτερο σας domain (π.χ., τοδευτεροονομαμου)
  • <YOUR_TOKEN> με το token σας από το DuckDNS

Με αυτόν τον τρόπο, με μία μόνο κλήση του script, θα ενημερωθούν όλες οι καταχωρήσεις domain που έχετε ορίσει.

4. Ορισμός Δικαιωμάτων για το Script

Δώστε δικαιώματα εκτέλεσης στο script για λόγους ασφαλείας:

sudo chmod 700 /opt/duckdns/duck.sh

Αυτό διασφαλίζει ότι μόνο ο root χρήστης μπορεί να διαβάσει, να γράψει και να εκτελέσει το script.

5. Αυτόματη Εκτέλεση του Script με το Cron

Για να ενημερώνεται αυτόματα η IP διεύθυνσή σας στο DuckDNS, θα προγραμματίσετε την εκτέλεση του script κάθε πέντε λεπτά χρησιμοποιώντας το cron.

Ανοίξτε το crontab:

sudo crontab -e

Προσθέστε την ακόλουθη γραμμή στο τέλος του αρχείου, η οποία θα εκτελεί το script κάθε 5 λεπτά:

*/5 * * * * /opt/duckdns/duck.sh >/dev/null 2>&1

Αποθηκεύστε το αρχείο πατώντας Ctrl+X, μετά Y και Enter.

Τι σημαίνει η εντολή cron:
  • */5 - Κάθε 5 λεπτά
  • * * * * - Κάθε ώρα, μέρα, μήνα και ημέρα εβδομάδας
  • >/dev/null 2>&1 - Καταστολή εξόδου

6. Έλεγχος Λειτουργίας

Μπορείτε να δοκιμάσετε να εκτελέσετε το script χειροκίνητα για να επαληθεύσετε ότι λειτουργεί σωστά:

sudo /opt/duckdns/duck.sh

Στη συνέχεια, ελέγξτε το αρχείο καταγραφής για να δείτε το αποτέλεσμα:

cat /var/log/duckdns/duck.log
Επιτυχής ενημέρωση: Εάν δείτε την απάντηση OK, σημαίνει ότι η ενημέρωση ήταν επιτυχής και το DuckDNS λειτουργεί κανονικά.
Αποτυχία ενημέρωσης: Εάν δείτε KO, υπάρχει κάποιο σφάλμα στο script, στα δικαιώματα ή στο token που χρησιμοποιήσατε. Ελέγξτε ξανά τις παραμέτρους σας.

7. Ρύθμιση Port Forwarding στο Router (Προαιρετικό)

Για να έχετε πλήρη απομακρυσμένη πρόσβαση στο Raspberry Pi σας από το Internet, θα χρειαστεί να ρυθμίσετε το port forwarding (προώθηση θυρών) στον router σας.

Η διαδικασία αυτή διαφέρει ανάλογα με τον κατασκευαστή και το μοντέλο του router σας, οπότε συμβουλευτείτε το εγχειρίδιο χρήσης του. Γενικά, θα πρέπει να:

  • Συνδεθείτε στη διεπαφή διαχείρισης του router σας
  • Βρείτε την ενότητα Port Forwarding ή Virtual Server
  • Προωθήστε τις απαραίτητες θύρες (π.χ., 22 για SSH, 80 για HTTP, 443 για HTTPS) στην τοπική IP διεύθυνση του Raspberry Pi σας
Σημαντική συμβουλή ασφαλείας: Αλλάξτε την προεπιλεγμένη θύρα SSH (22) σε μια άλλη για να αυξήσετε την ασφάλεια του συστήματός σας.

Συμπέρασμα

Με αυτόν τον οδηγό, μάθατε πώς να ρυθμίσετε το DuckDNS στο Raspberry Pi σας για να έχετε σταθερή απομακρυσμένη πρόσβαση, ακόμα και με δυναμική IP διεύθυνση. Το DuckDNS είναι μια αξιόπιστη και δωρεάν λύση που ενημερώνει αυτόματα το DNS κάθε 5 λεπτά μέσω του cron job που δημιουργήσατε.

Τώρα μπορείτε να έχετε πρόσβαση στο Raspberry Pi σας από οπουδήποτε στον κόσμο χρησιμοποιώντας το domain σας αντί για την IP διεύθυνση!

Δημοσίευση σχολίου

0 Σχόλια