1. Δημιουργία Λογαριασμού και Domain στο DuckDNS
Το πρώτο βήμα είναι να δημιουργήσετε έναν δωρεάν λογαριασμό στο DuckDNS και να καταχωρήσετε το domain σας.
Επισκεφθείτε την ιστοσελίδα του DuckDNS (duckdns.org) και συνδεθείτε χρησιμοποιώντας έναν από τους υποστηριζόμενους τρόπους όπως Google, Twitter, GitHub ή Reddit. Αφού συνδεθείτε, δημιουργήστε ένα νέο subdomain, για παράδειγμα τοονομαμου.duckdns.org. Αυτό το subdomain θα χρησιμοποιείται για την απομακρυσμένη πρόσβαση στο Raspberry Pi σας.
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=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.
*/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 σας
Συμπέρασμα
Με αυτόν τον οδηγό, μάθατε πώς να ρυθμίσετε το DuckDNS στο Raspberry Pi σας για να έχετε σταθερή απομακρυσμένη πρόσβαση, ακόμα και με δυναμική IP διεύθυνση. Το DuckDNS είναι μια αξιόπιστη και δωρεάν λύση που ενημερώνει αυτόματα το DNS κάθε 5 λεπτά μέσω του cron job που δημιουργήσατε.
Τώρα μπορείτε να έχετε πρόσβαση στο Raspberry Pi σας από οπουδήποτε στον κόσμο χρησιμοποιώντας το domain σας αντί για την IP διεύθυνση!




0 Σχόλια