Jak mogę skonfigurować usługę dynamicznego pobierania DNS na Ubuntu Server?

19

Utworzyłem konta i nazwy hostów na moim http://no-ip.org/ koncie, które jest zdecydowanie najczęściej używaną usługą dla mojego typu serwera. Czy ktoś może przeprowadzić mnie przez proces konfiguracji używania ddclient bez no-ip, ponieważ jestem wierszem poleceń noob?

Trevon
źródło

Odpowiedzi:

21

Konfigurowanie ddclient dla braku adresu IP

ddclientto klient aktualizacji dynamicznej (DUC), którego można używać do aktualizowania wpisów dynamicznego DNS. Sprawdza bieżący adres IP w regularnych odstępach czasu i aktualizuje informacje DNS po wykryciu zmiany. Oto jak zainstalować i skonfigurować go dla usługi No-IP (noip.com/no-ip.com).

Najpierw zainstaluj ddclientpakiet. Skonfigurujemy go ręcznie później, więc po prostu naciśnij enter dla wszystkich pytań konfiguracyjnych.

sudo apt-get install ddclient

Zatrzymaj ddclientdemona. sudo service ddclient stopKomenda nie działa na Ubuntu 12.04 z powodu błędu, więc używamy pkillzamiast.

sudo pkill ddclient

Edytuj pliki konfiguracyjne. Aby wyłączyć pliki kopii zapasowej (np. /etc/ddclient.conf~), Które geditdomyślnie tworzą i które mogą na przykład zawierać hasła po tym, jak pomyślałeś, że je usunąłeś, wyłącz to ustawienie Edit -> Preferences -> Editor -> Create a backup copy of files before saving.

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

Usuń starą treść /etc/ddclient.confi wklej w pokazanym poniżej szablonie.

Przeczytaj komentarze do szablonu i dostosuj plik do swoich potrzeb.

Dobrym pomysłem może być użycie subkonta noip.com, tj. Grupy z hasłem (ta funkcja jest usługą płatną). W ten sposób hasło zapewnia dostęp tylko do aktualizacji określonych hostów, a nie pełny dostęp do całego konta bez adresu IP, co może obejmować rekordy MX (osoba atakująca, która pozyska hasło, może zmienić rekordy MX w celu przechwycenia wiadomości e-mail ) lub inne usługi, takie jak konta IMAP.

Powinieneś prawdopodobnie ustawić daemon_interval=3600(patrz komentarze do szablonu).

Przetestuj konfigurację za pomocą następującego polecenia:

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

Powinieneś otrzymać odpowiedź good(adres IP zaktualizowany) lub nochg(adres IP został już ustawiony na tę wartość) odpowiedź. W tym momencie można otrzymać następujące ostrzeżenie (ale nadal nie jest możliwe otrzymywanie ostrzeżenia podczas normalnej pracy):

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

Uwaga: Wydaje się, że na serwerze No-IP dzieje się trochę buforowania, więc jeśli odpowiedź otrzymana z serwera nie jest tym, czego oczekujesz, może to chwilę poczekać.

Po zakończeniu konfiguracji uruchom ddclientdemona:

sudo service ddclient start

Demon uruchomi się również automatycznie przy każdym uruchomieniu komputera.

Wpis / wpisy DNS będą teraz aktualizowane za każdym razem, gdy zostanie wykryta zmiana adresu IP.

Rozwiązywanie problemów

Ponownie uruchom konfigurację pakietu:

sudo dpkg-reconfigure ddclient

Usuń pakiet i pliki konfiguracyjne:

sudo apt-get purge ddclient

Kontrola demona:

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

Usuń pamięć podręczną, aby nakłonić demona do zaktualizowania wpisu DNS w celu debugowania (podczas normalnego działania wpis DNS jest aktualizowany tylko wtedy, gdy bieżący adres IP jest inny niż adres IP przechowywany w pamięci podręcznej):

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.

Sprawdź, czy demon rzeczywiście zaktualizuje wpis DNS po zmianie adresu IP, ustawiając adres IP wpisu DNS na 1.2.3.4, a następnie uruchamiając demona:

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

Uruchom debugowanie (aktualizuj wpis DNS nigdy / w razie potrzeby / zawsze):

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

Spróbuj wykryć bieżący adres IP za pomocą różnych metod:

sudo ddclient -query

Pliki zainteresowania:

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

Pojawią się tutaj wiadomości od demona (i jeśli zostanie to skonfigurowane), zostaną również wysłane e-mailem:

/var/log/syslog

Dokumentacja:

Szablon dla /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

Aktualizacja: szyfrowane połączenie z usługą wykrywania IP jest zupełnie bezcelowe. Zostało to teraz wyjaśnione w szablonie ddclient.conf i domyślnie korzysta z niezaszyfrowanego połączenia do wykrywania adresu IP.

Håkon A. Hjortland
źródło
0

No-ip ma własnego klienta, który działał dla mnie przy pierwszej instalacji.

Na własnej stronie internetowej znajdują się instrukcje pobierania klienta , a następnie szybka make && makeinstalacja i gotowe. Przygotuj dane logowania, aby nie mieć adresu IP, ponieważ zostaną o to poproszeni w ramach kreatora konfiguracji. Następnie upewnij się, że uruchomiłeś, noip2i możesz sprawdzić swoje konto hosta w jego witrynie, aby sprawdzić, czy zostało zaktualizowane.

Chris
źródło
UWAGA: noip2 ma problemy z bezpieczeństwem! Zobacz tę odpowiedź .
Håkon A. Hjortland
@ HåkonA.Hjortland: Nie wiedziałem, że akceptuje połączenia HTTPS. Usunąłem moje poprzednie nieprawidłowe oświadczenie, dzięki!
MestreLion,