Як я можу налаштувати службу отримання динамічного DNS на сервері Ubuntu?


19

Я створив облікові записи та імена хостів у своєму обліковому записі http://no-ip.org/ , який, безумовно, є найбільш часто використовуваною послугою для мого типу сервера. Чи може хтось провести мене через процес конфігурації, використовуючи ddclient з no-ip, оскільки я командний рядок noob?

Відповіді:


21

Налаштування ddclient для No-IP

ddclientє клієнтом динамічного оновлення (DUC), який можна використовувати для оновлення динамічних записів DNS. Він регулярно перевіряє поточну IP-адресу та оновлює інформацію DNS при виявленні змін. Ось як встановити та налаштувати його для послуги No-IP (noip.com/no-ip.com).

Спочатку встановіть ddclientпакет. Ми налаштуємо його вручну пізніше, тому просто натисніть клавішу Enter для всіх питань конфігурації.

sudo apt-get install ddclient

Зупиніть ddclientдемон. sudo service ddclient stopКоманда не працює на Ubuntu 12.04 з - за помилки, тому ми використовуємо pkillзамість цього.

sudo pkill ddclient

Відредагуйте конфігураційні файли. Щоб вимкнути файли резервного копіювання (наприклад /etc/ddclient.conf~), які geditстворюються за замовчуванням і які, наприклад, можуть містити паролі після того, як ви думали, що ви їх видалили, вимкніть налаштування Edit -> Preferences -> Editor -> Create a backup copy of files before saving.

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

Видаліть старий вміст /etc/ddclient.confі вставте в шаблон, показаний нижче.

Прочитайте коментарі до шаблону та налаштуйте файл під свої потреби.

Можливо, було б корисно використовувати підрахунок noip.com, тобто групу з паролем (ця функція є платною послугою). Таким чином, пароль дає лише доступ до оновлення вказаних хостів, а також не повний доступ до всього облікового запису No-IP, який може включати записи MX (зловмисник, який придбає ваш пароль, може змінити записи MX, щоб перехопити ваші електронні листи). ) або інші послуги, такі як акаунти IMAP.

Ви, ймовірно, повинні встановити daemon_interval=3600(див. Коментарі до шаблону).

Перевірте свою конфігурацію за допомогою наступної команди:

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

Ви повинні отримати good(IP-адресу оновлено) або nochg(IP-адресу вже встановлено на це значення) відповідь. В цей момент нормально отримувати таке попередження (але не нормально продовжувати отримувати попередження під час нормальної роботи):

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

Примітка. Схоже, на сервері No-IP відбувається деяке кешування, тож якщо відповідь, яку ви отримаєте від сервера, не така, яку ви очікуєте, може допомогти трохи зачекати.

Закінчивши налаштування, запустіть ddclientдемон:

sudo service ddclient start

Демон також автоматично запускається при кожному запуску комп'ютера.

Записи / записи DNS тепер будуть оновлюватися щоразу, коли виявляється зміна IP-адреси.

Вирішення проблем

Запустити конфігурацію пакета ще раз:

sudo dpkg-reconfigure ddclient

Видаліть пакунки та конфігураційні файли:

sudo apt-get purge ddclient

Демон-контроль:

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

Видаліть кеш, щоб навести демона на оновлення запису DNS для налагодження (під час звичайної роботи запис DNS оновлюється лише у тому випадку, якщо поточна IP-адреса відрізняється від IP-адреси, що зберігається в кеші):

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.

Перевірте, чи дійсно демон буде оновлювати запис DNS, коли змінилась IP-адреса, встановивши IP-адресу входу DNS на 1.2.3.4, а потім запустивши демон:

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

Запуск налагодження (оновлення запису DNS ніколи / як потрібно / завжди):

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

Спробуйте виявити поточну IP-адресу за допомогою різних методів:

sudo ddclient -query

Файли, що цікавлять:

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

Повідомлення з демон демонструватимуться тут (і також будуть надіслані електронною поштою, якщо це встановлено):

/var/log/syslog

Документація:

Шаблон для /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

Оновлення: зашифроване підключення до служби виявлення IP - цілком безглуздо. Це пояснено зараз у шаблоні ddclient.conf, і тепер він за замовчуванням використовує незашифроване з'єднання для виявлення IP-адреси.



0

У No-ip є власний клієнт, який працював для мене вперше, коли він був встановлений.

На власному веб-сайті є вказівки щодо завантаження клієнта , і тоді це швидка make && makeустановка, і ви закінчите. Запропонуйте свої ідентифікаційні дані для входу в систему no-ip, оскільки вам буде запропоновано їх в рамках майстра налаштування. Після цього переконайтеся, що ви запускаєтесь, noip2і ви можете перевірити свій хост-акаунт на їхньому веб-сайті, щоб побачити, чи оновлено оновлення.


УВАГА: у noip2 є проблеми із безпекою! Дивіться цю відповідь .
Håkon A. Hjortland

@ HåkonA.Hjortland: Я не розумів, що він приймає HTTPS-з'єднання. Я видалив попереднє неправильне твердження, дякую!
MestreLion
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.