My Blog
Δωρεάν dyndns (dynamic dns) με το cloudflare και το ddclient σε ubuntu
Οκ, ήρθε η φάση που θέλεις να στήσεις τον δικό σου προσωπικό server.
Ξεκινάς, προχωράς, τον στήνεις, όλα δουλεύουν και ξαφνικά συνειδητοποιείς ότι έχεις ΔΥΝΑΜΙΚΗ ip.
Μην στεναχωριέσαι, το έχουμε πάθει όλοι.
Τι είναι η δυναμική ip?
Ένας υπολογιστής έχει μια διεύθυνση τοπική για να τον αναγνωρίζουμε στο δίκτυο του σπιτιού/δουλειάς. Η τοπική αυτή διεύθυνση είναι τύπου "192.168.*.*" πχ "192.168.0.7".
Ένας άλλος υπολογιστής στο ίδιο σπίτι ή ένας εκτυπωτής δικτύου ή μια smart tv ή το κινητό σας τηλέφωνο, έχουν και αυτά από μιά τοπική διεύθυνση, πχ το κινητό 192.168.0.6 , η smart tv 192.168.0.9 κλπ
Όλες αυτές οι συσκευές συνδέονται με ένα router το οποίο δίνει πρόσβαση στο τοπικό δίκτυο μέσα στο κτήριο και πρόσβαση στο παγκόσμιο δίκτυο (το internet) εκτός κτηρίου. Το router ως συσκευή έχει και αυτό μια τοπική ip, συνήθως 192.168.0.1 ή 192.168.1.1 ή 192.168.2.1 κλπ
Για το τοπικό δίκτυο λοιπόν (εντός του κτηρίου) είναι όλα καλά, η κάθε συσκευή έχει την δική της IP.
Για το παγκόσμιο δίκτυο Internet τί γίνεται όμως?
Εκεί μόνο μια συσκευή επιτρέπεται να έχει παγκόσμια διεύθυνση IP και αυτή είναι το Router (κατά κάποιο πιο κατανοητό τρόπο), το οποίο λαμβάνει το internet και το μεταβιβάζει στις συσκευές σας. Για την ακρίβεια οι πληροφορίες που λαμβάνονται από έξω (προς τις συσκευές σας) ή από μέσα προς τα έξω (από τις συσκευές σας) διαβιβάζονται μέσω του router.
Αυτή λοιπόν η δημόσια (public) IP είναι μια και αν θέλετε να δείτε την δική σας, μπορείτε να επισκεφθείτε το https://whatismyipaddress.com
Τι γίνεται τώρα στην περίπτωση που φτιάξατε έναν τοπικό web server? (φαντάζομαι ξέρετε πως)
Οι τοπικοί web servers θα πρέπει να έχουν ρυθμιστεί κατάλληλα ούτως ώστε να συνδεθεί η ιστοσελίδα με το όνομα domain (πχ nikos.com), θα μπορούσε όμως κάποιος και χωρίς όνομα, απλά και μόνο επισκεπτόμενος την δημόσια IP σας να δει το site. Αντί λοιπόν να πληκτρολογήσει στην μπάρα διευθύνσεων του φυλλομετρητή την διεύθυνση www.nikos.com , να πληκτρολογήσει την διεύθυνση πχ 5.55.43.56
Επειδή όμως δεν είναι ωραίο, γι' αυτό τον λόγο στην υπηρεσία DNS που χρησιμοποιείτε, για το A record nikos.com έχετε ορίσει την ip του server σας. Και έτσι λοιπόν όταν κάποιος πληκτρολογεί την διεύθυνση nikos.com ουσιαστικά είναι σαν να πληκτρολογεί την ip 5.55.43.56 (περισσότερα: https://el.wikipedia.org/wiki/Όνομα_τομέα)
Όπως καταλαβαίνετε, απαραίτητη προυπόθεση για να λειτουργήσουν όλα σωστά είναι η δημόσια IP που σου δίνει ο πάροχος του Internet να μην αλλάζει ποτέ. Να είναι δηλαδή Στατική και όχι Δυναμική (όταν κάνεις restart το router να αλλάζει). Εάν είναι δυναμική, το όνομα nikos.com θα σταματήσει να δουλεύει γιατί θα δείχνει στην παλιά IP.
Τι γίνεται αν η IP σου τελικά είναι δυναμική???
Μην στεναχωριέσαι, υπάρχει λύση.
1ον) Σύνδεσε το domain σου με την υπηρεσία cloudflare.com δωρεάν (από εκεί μπορείς να διαχειριστείς και τα dns records του domain σου. Επίσης σου δίνει δωρεάν ssl)
2ον) Αν έχει server σε Windows, πχ Xampp κλπ, μπορείς να χρησιμοποιήσεις το ακόλουθο προγραμματάκι για Windows το οποίο εντοπίζει κάθε φορά την αλλαγή της δημόσιας IP σου και ενημερώνει αυτόματα το cloudflare: https://github.com/drittich/DnsTube (δεν έχω ασχοληθεί ακόμα, θα ανεβάσω άρθρο κάποια στιγμή για αυτό)
3ον) Αν έχεις στήσει ubuntu server (ισχύει και για άλλες διανομές Linux) δώσε τις ακόλουθες εντολές και είσαι έτοιμος:
apt update
apt install ddclient libdata-validate-ip-perl
Dynamic DNS service provider: επέλεξε “other”.
Dynamic DNS server: Κενό.
Dynamic DNS update protocol: select “dyndns2”.
Username for dynamic DNS service: Κενό.
Password for dynamic DNS service: Κενό.
Re-enter password to verify: Κενό.
Network interface used for dynamic DNS service: Κενό.
DynDNS fully qualified domain names: Κενό
dpkg-reconfigure ddclient
Ξανά επέλεξε τα ίδια και όταν σου βγάλει τα παρακάτω αυτή την φορά επέλεξε:
Run ddclient on PPP connect?: “No”.
Run ddclient as a daemon: select “Yes”.
Interval between ddclient runs: “300”.
wget https://sourceforge.net/projects/ddclient/files/ddclient/ddclient-3.9.1/ddclient-3.9.1.tar.gz
tar -xvf ddclient-3.9.1.tar.gz
cp -f ddclient-3.9.0/ddclient /usr/sbin/ddclient
mkdir /etc/ddclient
mv /etc/ddclient.conf /etc/ddclient
rm ddclient-3.9.0.tar.gz
rm -R ddclient-3.9.0
Τέλος ρυθμίσεις του ddclient:
nano /etc/ddclient/ddclient.conf
σβήσε τα πάντα μέσα και βάλε:
daemon=300 ssl=yes protocol=cloudflare use=web login=<span style="color: rgb(255, 0, 0);" data-mce-style="color: #ff0000;">ΤΟ-EMAIL-ΣΟΥ-ΣΤΟ-CLOUDFLARE</span> password=<span style="color: rgb(255, 0, 0);" data-mce-style="color: #ff0000;">ΤΟ-API-KEY-ΑΠΟ-ΤΙΣ-ΡΥΘΜΙΣΕΙΣ-ΤΟΥ-CLOUDFLARE</span> zone=nikos.com<span style="color: rgb(255, 0, 0);" data-mce-style="color: #ff0000;">(είναι το κεντρικό domain, δεν αλλάζει εδώ)</span> nikos.com<span style="color: rgb(255, 0, 0);" data-mce-style="color: #ff0000;">(εδώ αλλάζει, θα μπορούσες να βάλεις subdomain, για να μην αλλάξει το κεντρικό)</span>
Όταν τα βάλεις, πάτησε CTRL+X και Y και Enter για να το αποθηκεύσεις.
Τέλος κάνε μια δοκιμή ανανέωσης τρέχοντας την ακόλουθη εντολή: ddclient -daemon=0 -verbose -noquiet
Για περισσότερη βοήθεια, γράψε από κάτω και θα απαντήσω 😉
This post is also available in: English