Como posso configurar um serviço de busca de DNS dinâmico no Ubuntu Server?


19

Criei contas e nomes de host na minha conta http://no-ip.org/ , que é de longe o serviço mais usado para o meu tipo de servidor. Alguém pode me orientar no processo de configuração do uso do ddclient com no-ip, como eu sou um noob de linha de comando?

Respostas:


21

Configurando o ddclient para No-IP

ddclienté um cliente de atualização dinâmica (DUC) que pode ser usado para atualizar entradas DNS dinâmicas. Ele verifica o endereço IP atual em intervalos regulares e atualiza as informações de DNS quando uma alteração é detectada. Aqui está como instalar e configurá-lo para o serviço No-IP (noip.com/no-ip.com).

Primeiro, instale o ddclientpacote. Vamos configurá-lo manualmente mais tarde, então pressione enter para todas as perguntas de configuração.

sudo apt-get install ddclient

Pare o ddclientdaemon. O sudo service ddclient stopcomando não funciona no Ubuntu 12.04 devido a um erro, então usamos em seu pkilllugar.

sudo pkill ddclient

Edite os arquivos de configuração. Para desativar os arquivos de backup (por exemplo /etc/ddclient.conf~) que são geditcriados por padrão e que podem, por exemplo, conter senhas depois que você pensou que os havia excluído, desative a configuração Edit -> Preferences -> Editor -> Create a backup copy of files before saving.

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

Exclua o conteúdo antigo /etc/ddclient.confe cole no modelo mostrado abaixo.

Leia os comentários do modelo e personalize o arquivo de acordo com suas necessidades.

Pode ser uma boa ideia usar uma subconta noip.com, ou seja, um grupo com senha (esse recurso é um serviço pago). Dessa forma, a senha fornece acesso apenas à atualização dos hosts especificados e não ao acesso total a toda a sua conta No-IP, o que pode incluir registros MX (um invasor que adquire sua senha pode alterar os registros MX para interceptar seus e-mails ) ou outros serviços, como contas IMAP.

Você provavelmente deve definir daemon_interval=3600(consulte os comentários do modelo).

Teste sua configuração com o seguinte comando:

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

Você deve receber uma goodresposta (endereço IP atualizado) ou nochg(endereço IP já definido para esse valor). Não há problema em receber o seguinte aviso neste momento (mas não é bom continuar recebendo o aviso durante a operação normal):

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

Nota: Parece haver algum cache em andamento no servidor No-IP; portanto, se a resposta que você obtém do servidor não for o que você espera, pode ser útil esperar um pouco.

Quando você terminar de configurar, inicie o ddclientdaemon:

sudo service ddclient start

O daemon também será iniciado automaticamente sempre que você iniciar o computador.

A entrada / entradas DNS agora serão atualizadas sempre que uma alteração de endereço IP for detectada.

Solução de problemas

Execute a configuração do pacote novamente:

sudo dpkg-reconfigure ddclient

Remova os arquivos de pacote e configuração:

sudo apt-get purge ddclient

Controle de 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

Exclua o cache para induzir o daemon a atualizar a entrada DNS para fins de depuração (durante a operação normal, a entrada DNS será atualizada apenas se o endereço IP atual for diferente do endereço IP armazenado no 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.

Teste se o daemon realmente atualizará a entrada DNS quando o endereço IP for alterado, configurando o endereço IP da entrada DNS para 1.2.3.4 e iniciando o 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

Execução de depuração (atualize a entrada DNS nunca / conforme necessário / sempre):

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

Tente detectar o endereço IP atual usando vários métodos:

sudo ddclient -query

Arquivos de interesse:

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

As mensagens do daemon aparecerão aqui (e também serão enviadas por e-mail, se configurado para isso):

/var/log/syslog

Documentação:

Modelo para /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='nobody@nowhere.com'   # 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%3Ajohndoe@domain.com', password='1234'   myhost3.no-ip.biz,myhost4.no-ip.biz
#
#   myhost.no-ip.biz,myhost2.no-ip.biz

my.full.hostname

Atualização: A conexão criptografada ao serviço de detecção de IP é totalmente inútil. Agora isso é explicado no modelo ddclient.conf e o padrão é usar conexão não criptografada para detecção de IP.



0

No-ip tem seu próprio cliente, que funcionou para mim na primeira vez em que foi instalado.

Existem instruções em seu próprio site para baixar o cliente e, em seguida, é uma make && makeinstalação rápida e pronto. Tenha suas credenciais de login para no-ip em mãos, pois você será solicitado a elas como parte do assistente de configuração. Depois, verifique se você executou noip2e pode verificar sua conta de host no site deles para ver se ela foi atualizada.


AVISO: noip2 tem problemas de segurança! Veja esta resposta .
Håkon A. Hjortland

@ HåkonA.Hjortland: Eu não sabia que ele aceita conexões HTTPS. Excluí minha declaração incorreta anterior, obrigado!
MestreLion
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.