Обновление ddclient на локальный IP вместо публичного IP

Я пытаюсь настроить ddclient на моем сервере Ubuntu для обновления DNS-записей в zoneedit, когда мой публичный IP-адрес изменяется.

Он обновляется нормально, проблема в том, что он дает zoneedit мой локальный IP вместо моего публичного.

SUCCESS:  updating mydomain.com: IP address set to 192.168.0.17 (200: Update succeeded.)

Мой файл конфигурации ddclient выглядит так:

protocol=zoneedit1
use=if, if=eth0
server=dynamic.zoneedit.com
login='user'
password='password'
mydomain.com

Почему он обновляется до моего локального IP вместо моего публичного?

Обновление: это может быть потому, что я за роутером? Если да, то как мне настроить ddclient для получения публичного IP?

4 ответа

Решение

Да, проблема в том, что вы находитесь за маршрутизатором. Лучшим решением было бы посмотреть, сможете ли вы установить клиент ddns на сам маршрутизатор. В противном случае существуют инструменты обновления ddns, которые проверяют удаленный сервер и определяют ваш IP по тому, что это дает.

Это можно сделать, заменив:

use=if, if=eth0

С этим:

use=web, web=checkip.dyndns.org/

Что, по-видимому, является конфигурацией по умолчанию, созданной debconf в системах Debian.

Замещать

use=if, if=eth0

с

use=web, web=my.ip.fi/

мне пришлось использоватьweb=dynamicdns.park-your-domain.com/getipчтобы это заработало

      # Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

use=if, if=eth0
use=web, web=dynamicdns.park-your-domain.com/getip
ssl=yes
protocol=googledomains
login=myLoginCredentials
password='myPwdContent'
myGoogleDomain.com

Мой провайдер DDNS no-ip.com не требует второго параметра (web=..). Просто заменив строку наuse=ifсuse=webработал у меня.

Другие вопросы по тегам