Bagaimana saya bisa mengatur layanan pengambilan DNS Dinamis di Server Ubuntu?

19

Saya telah membuat akun dan nama host dalam akun http://no-ip.org/ saya , yang sejauh ini merupakan layanan yang paling umum digunakan untuk jenis server saya. Adakah yang bisa memandu saya melalui proses konfigurasi menggunakan ddclient tanpa-ip, karena saya adalah noob baris perintah?

Trevon
sumber

Jawaban:

21

Menyiapkan ddclient untuk No-IP

ddclientadalah Dynamic Update Client (DUC) yang dapat digunakan untuk memperbarui entri DNS dinamis. Ini memeriksa alamat IP saat ini secara berkala dan memperbarui informasi DNS ketika perubahan terdeteksi. Berikut ini cara menginstal dan mengkonfigurasinya untuk layanan No-IP (noip.com/no-ip.com).

Pertama, instal ddclientpaket. Kami akan mengonfigurasinya secara manual nanti, jadi cukup tekan enter untuk semua pertanyaan konfigurasi.

sudo apt-get install ddclient

Hentikan ddclientdasmon. The sudo service ddclient stopperintah tidak bekerja pada Ubuntu 12.04 karena bug, jadi kita gunakan pkillsebagai gantinya.

sudo pkill ddclient

Edit file konfigurasi. Untuk mematikan file cadangan (mis. /etc/ddclient.conf~) Yang dibuat geditsecara default dan yang misalnya bisa berisi kata sandi setelah Anda pikir Anda telah menghapusnya, matikan pengaturan Edit -> Preferences -> Editor -> Create a backup copy of files before saving.

sudo gedit /etc/ddclient.conf /etc/default/ddclient

Hapus konten lama /etc/ddclient.confdan tempel di templat yang ditunjukkan di bawah ini.

Baca komentar templat dan sesuaikan file dengan kebutuhan Anda.

Ini bisa menjadi ide yang baik untuk menggunakan sub-akun noip.com, yaitu grup dengan kata sandi (fitur ini adalah layanan berbayar). Dengan cara ini, kata sandi hanya memberikan akses untuk memperbarui host yang ditentukan dan tidak akses penuh ke seluruh akun No-IP Anda, yang dapat mencakup catatan MX (penyerang yang memperoleh kata sandi Anda dapat mengubah catatan MX untuk mencegat email Anda ) atau layanan lain seperti akun IMAP.

Anda mungkin harus mengatur daemon_interval=3600(lihat komentar templat).

Uji konfigurasi Anda dengan perintah berikut:

sudo ddclient -daemon=0 -debug -verbose -noquiet -force

Anda harus mendapatkan respons good(alamat IP diperbarui) atau nochg(alamat IP sudah disetel ke nilai itu). Tidak apa-apa untuk menerima peringatan berikut pada saat ini (tetapi tidak OK untuk terus mendapatkan peringatan selama operasi normal):

WARNING: updating <hostname>: nochg: No update required; unnecessary attempts to change to the current address are considered abusive

Catatan: Sepertinya ada beberapa caching yang terjadi di server No-IP, jadi jika respons yang Anda dapatkan dari server tidak seperti yang Anda harapkan, mungkin perlu menunggu sebentar saja.

Ketika Anda selesai mengkonfigurasi, mulai ddclientdaemon:

sudo service ddclient start

Daemon juga akan mulai secara otomatis setiap kali Anda memulai komputer.

Entri / entri DNS sekarang akan diperbarui setiap kali perubahan alamat IP terdeteksi.

Penyelesaian masalah

Jalankan kembali konfigurasi paket:

sudo dpkg-reconfigure ddclient

Hapus paket dan file konfigurasi:

sudo apt-get purge ddclient

Kontrol daemon:

sudo service ddclient status
sudo service ddclient start
sudo service ddclient stop
# The stop command above does not work on Ubuntu 12.04 due to a bug, but
# it works on 14.04. Here are alternative ways to control the daemon:
ps -A f | grep -i ddclient
sudo pkill ddclient

Hapus cache untuk mengelabui daemon agar memperbarui entri DNS untuk tujuan debugging (selama operasi normal entri DNS hanya diperbarui jika alamat IP saat ini berbeda dari alamat IP yang disimpan dalam cache):

sudo pkill ddclient
sudo rm /var/cache/ddclient/ddclient.cache
sudo service ddclient start
# See the result:
tail /var/log/syslog
# If you have set up mail=..., you should also receive an e-mail.
# The syslog and e-mail should show a "good" or "nochg" response.

Tes apakah daemon benar-benar akan memperbarui entri DNS ketika alamat IP telah berubah, dengan mengatur alamat IP entri DNS ke 1.2.3.4 dan kemudian memulai daemon:

sudo pkill ddclient
sudo ddclient -daemon=0 -debug -verbose -noquiet -force -use ip -ip 1.2.3.4
sleep 30   # ddclient will not perform updates less than 30 seconds apart
sudo service ddclient start

Debug run (perbarui entri DNS tidak pernah / sesuai kebutuhan / selalu):

sudo ddclient -daemon=0 -debug -verbose -noquiet -noexec
sudo ddclient -daemon=0 -debug -verbose -noquiet
sudo ddclient -daemon=0 -debug -verbose -noquiet -force

Cobalah untuk mendeteksi alamat IP saat ini menggunakan berbagai metode:

sudo ddclient -query

File-file yang menarik:

/etc/ddclient.conf
/etc/default/ddclient
/var/cache/ddclient/ddclient.cache

Pesan dari daemon akan muncul di sini (dan juga akan dikirim melalui email jika diatur untuk melakukannya):

/var/log/syslog

Dokumentasi:

Templat untuk /etc/ddclient.conf

################################################################################
# Configuration file for ddclient
################################################################################


################################################################################
# Misc. configurations

# To choose between ipup mode (for dial-on-demand) and daemon mode, please edit
# /etc/default/ddclient.

#mail=root           # E-mail messages to this address
#mail-failure=root   # E-mail messages about failed updates to this address


################################################################################
# How to obtain current IP address

# Methods:
#   use=ip, ip=ADDRESS                                   # Set the IP address to ADDRESS
#   use=if, if=INTERFACE, if-skip=PATTERN                # Obtain IP address by calling 'ifconfig INTERFACE'
#   use=web, web=PROVIDER|URL, web-skip=PATTERN          # Obtain IP address from IP discovery web page
#   use=cmd, cmd=PROGRAM, cmd-skip=PATTERN               # Obtain IP address by calling PROGRAM
#   use=fw|FWMODEL, fw=ADDRESS|URL, fw-skip=PATTERN      # Obtain IP address from firewall web page
#                   fw-login=LOGIN, fw-password=SECRET
#
# The *-skip options can be used to skip IP addresses found before PATTERN.
#
# NOTE: The ddclient IP detection routines do not respect the HTTPS prefix in
# URLs, and instead fall back to HTTP (this is fixed in version 3.8.1). The
# option ssl=yes does not apply to the IP detection either (this is at least
# how versions 3.8.0 to 3.8.2 behave).
#
# The default time between each IP address change check is daemon_interval=300
# (5 minutes), which may be a bit too frequent when using an external IP
# discovery service. To set the checking interval to e.g. one hour instead,
# please edit /etc/default/ddclient and set daemon_interval=3600.

# Obtain IP address from network interface
#use=if, if=eth0

# Obtain IP address from no-ip.com IP discovery web page (unencrypted connection)
use=web, web='http://ip1.dynupdate.no-ip.com:8245/'

# Obtain IP address from no-ip.com IP discovery web page (encrypted connection)
# Encryption does not offer any real protection since a man-in-the-middle
# attack could route the HTTPS connection through a host belonging to the
# attacker, thus causing an incorrect IP address to be reported.
#use=cmd, cmd='bash -c "set -o pipefail; timeout 120 wget -qO- \
#  --header=Host:ip1.dynupdate.no-ip.com https://dynupdate.no-ip.com/ | head -c 1000"'


################################################################################
# Dynamic DNS service setup

protocol=noip
#server=   # Defaults to dynupdate.no-ip.com for noip protocol
ssl=yes   # NOTE: Does not apply when obtaining IP address, just when updating the DNS entry!
login='[email protected]'   # Username. For No-IP sub-accounts (groups with passwords), use '<groupname>%3A<username>'.
password='1234'


################################################################################
# Hosts to update, with optional per-host options

# Examples:
#   protocol=hammernode1, \
#   login='my-hn-login', password='my-hn-password' \
#   myhost.hn.org,myhost2.hn.org
#
#   login='group2%[email protected]', password='1234'   myhost3.no-ip.biz,myhost4.no-ip.biz
#
#   myhost.no-ip.biz,myhost2.no-ip.biz

my.full.hostname

Pembaruan: Koneksi terenkripsi ke layanan deteksi IP tidak ada gunanya. Ini sekarang dijelaskan dalam template ddclient.conf dan sekarang default untuk menggunakan koneksi tidak terenkripsi untuk deteksi IP.

Håkon A. Hjortland
sumber
0

No-ip memiliki klien sendiri yang berfungsi untuk saya saat pertama kali diinstal.

Ada instruksi di situs web mereka sendiri untuk mengunduh klien , dan kemudian make && makeinstal cepat dan Anda selesai. Siapkan kredensial login Anda untuk tidak-ip karena Anda akan diminta sebagai bagian dari panduan konfigurasi. Setelah itu, pastikan Anda menjalankan noip2dan Anda dapat memeriksa akun host Anda di situs mereka untuk melihat apakah telah diperbarui.

Chris
sumber
PERINGATAN: noip2 memiliki masalah keamanan! Lihat jawaban ini .
Håkon A. Hjortland
@ HåkonA.Hjortland: Saya tidak menyadari itu menerima koneksi HTTPS. Saya telah menghapus pernyataan salah saya sebelumnya, terima kasih!
MestreLion