Come posso configurare un servizio di recupero DNS dinamico su Ubuntu Server?

17

Ho creato account e nomi host all'interno del mio account link , che è di gran lunga il servizio più utilizzato per il mio tipo di server . Qualcuno può guidarmi attraverso il processo di configurazione dell'uso di ddclient con no-ip, dato che sono un noob a linea di comando?

    
posta Trevon 28.10.2011 - 04:53

3 risposte

20

Impostazione di ddclient per No-IP

ddclient è un client di aggiornamento dinamico (DUC) che può essere utilizzato per aggiornare le voci DNS dinamiche. Controlla l'indirizzo IP corrente a intervalli regolari e aggiorna le informazioni DNS quando viene rilevata una modifica. Ecco come installarlo e configurarlo per il servizio No-IP (noip.com/no-ip.com).

Per prima cosa, installa il pacchetto ddclient . Lo configureremo manualmente in seguito, quindi basta premere Invio per tutte le domande di configurazione.

sudo apt-get install ddclient

Interrompi il daemon ddclient . Il comando sudo service ddclient stop non funziona su Ubuntu 12.04 a causa di un bug, quindi utilizziamo invece pkill .

sudo pkill ddclient

Modifica i file di configurazione. Per disattivare i file di backup (ad esempio /etc/ddclient.conf~ ) che gedit crea per impostazione predefinita e quali potrebbero contenere password dopo aver pensato di averli eliminati, disattiva l'impostazione % Co_de%.

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

Elimina il vecchio contenuto di Edit -> Preferences -> Editor -> Create a backup copy of files before saving e incolla il modello mostrato sotto.

Leggi i commenti del modello e personalizza il file in base alle tue esigenze.

Potrebbe essere una buona idea usare un sotto-account noip.com, cioè un gruppo con password (questa funzione è un servizio a pagamento). In questo modo, la password dà accesso solo all'aggiornamento degli host specificati e non al pieno accesso all'intero account No-IP, che potrebbe includere record MX (un utente malintenzionato che acquisisce la tua password potrebbe modificare i record MX per intercettare le tue e-mail ) o altri servizi come gli account IMAP.

Probabilmente dovresti impostare /etc/ddclient.conf (vedi i commenti del modello).

Verifica la tua configurazione con il seguente comando:

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

Dovresti ottenere una risposta daemon_interval=3600 (indirizzo IP aggiornato) o good (indirizzo IP già impostato su quel valore). È OK ricevere il seguente avviso a questo punto (ma non è OK continuare a ricevere l'avviso durante il normale funzionamento):

nochg

Nota: Sembra che ci sia del caching sul server No-IP, quindi se la risposta che ottieni dal server non è quella che ti aspetti, potrebbe essere sufficiente attendere un po 'di tempo.

Quando hai terminato la configurazione, avvia il daemon WARNING: updating <hostname>: nochg: No update required; unnecessary attempts to change to the current address are considered abusive :

sudo service ddclient start

Il demone si avvierà automaticamente ogni volta che avvii il computer.

Le voci / voci DNS verranno aggiornate ogni volta che viene rilevato un cambiamento dell'indirizzo IP.

Risoluzione dei problemi

Esegui nuovamente la configurazione del pacchetto:

sudo dpkg-reconfigure ddclient

Rimuovi pacchetto e file di configurazione:

sudo apt-get purge ddclient

Controllo 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

Elimina la cache per ingannare il daemon nell'aggiornare la voce DNS per scopi di debug (durante il normale funzionamento la voce DNS viene aggiornata solo se l'indirizzo IP corrente è diverso dall'indirizzo IP memorizzato nella 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.

Verifica se il daemon aggiornerà effettivamente la voce DNS quando l'indirizzo IP è cambiato, impostando l'indirizzo IP della voce DNS su 1.2.3.4 e quindi avviando il demone:

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

Esegui il debug (aggiorna la voce DNS mai / come necessario / sempre):

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

Prova a rilevare l'indirizzo IP corrente utilizzando vari metodi:

sudo ddclient -query

File di interesse:

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

I messaggi dal demone appariranno qui (e saranno anche inviati via e-mail se impostato per farlo):

/var/log/syslog

Documentazione:

Modello per /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

Aggiornamento: La connessione crittografata al servizio di rilevamento IP è abbastanza inutile. Questo è ora spiegato nel modello ddclient.conf e ora utilizza automaticamente la connessione non crittografata per il rilevamento IP.

    
risposta data Håkon A. Hjortland 30.04.2014 - 22:29
1

Ecco una buona soluzione ... link

Spero che questo aiuti:)

    
risposta data nobody 28.10.2011 - 06:08
0

No-ip ha il suo client che ha funzionato per me la prima volta che è stato installato.

Ci sono istruzioni sul proprio sito Web per scaricare il client , quindi è una rapida installazione di make && make e il gioco è fatto. Tieni a portata di mano le credenziali di accesso per l'assenza di IP, come ti verrà chiesto come parte della procedura guidata di configurazione. Successivamente, assicurati di eseguire noip2 e puoi controllare il tuo account host sul loro sito per vedere se è stato aggiornato.

    
risposta data Chris 07.08.2012 - 11:46

Leggi altre domande sui tag