{% load i18n %}{% load bootstrap %}

{% trans "General configuration hints" %}

{% blocktrans trimmed %} Usually, you should configure one system on your network to update the DNS. This can be either your router or a host on your network and it will run some software called the update client. {% endblocktrans %}

{% blocktrans trimmed %} We have some specific configuration hints for some devices and update clients, please see the tabs above. If you don't find yours there, use the generic hints below. {% endblocktrans %}

{% blocktrans trimmed %} Important note about security and compatibility: For update URLs, we always give the https (not: http) URL as that will use an encrypted connection to transfer your data (including your update secret). Depending on your update client (router firmware or PC software) and the specific nsupdate.info-based service, https might be not supported. So, if it does not work, you have the choice of using a different update client and/or a different service, or transmitting your data using an unencrypted connection (using http: instead of https:). {% endblocktrans %}
On {{ WWW_HOST }} https is {% if not WE_HAVE_TLS %}not {% endif %}supported.


{% trans "Your update client needs to access the following URLs to update the DNS:" %}

{% trans "For IPv4 updates:" %} {% trans "For IPv6 updates:" %} {% blocktrans trimmed %} The IPs will be determined automatically using the remote address our service is seeing (see below for more details). {% endblocktrans %}

{% trans "Your update client has to do the following steps:" %}

Fritz!Box 6360, 7390 {% trans "and maybe others:" %}


{% trans "Go to:" %}
Internet Permit Access Dynamic DNS
{% trans "Enter the following data:" %}
SettingValue
Dynamic DNS providerCustom
Update-URLhttps://{{ WWW_IPV4_HOST }}/nic/update
Domain Name{{ host.get_fqdn|default:"<your hostname>" }}
User name{{ host.get_fqdn|default:"<your hostname>" }}
Password{{ update_secret|default:"<your secret>" }}
{% trans "If you have IPv4 and IPv6" %}
{% trans "Set Update-URL to the following (two URLs, separated by one space)" %}
https://{{ WWW_IPV4_HOST }}/nic/update https://{{ WWW_IPV6_HOST }}/nic/update
{% trans "Forcing a dynamic DNS update" %}
{% trans "If you want to force a dynamic update for testing purposes, you can do it like this:" %}

DD-WRT ({% trans "verified with" %} v24-sp2)

{% trans "Go to:" %}
Setup DDNS
{% trans "Enter the following data:" %}
SettingValue
DDNS ServiceCustom
DYNDNS Server{{ WWW_IPV4_HOST }}
Username{{ host.get_fqdn|default:"<your hostname>" }}
Password{{ update_secret|default:"<your secret>" }}
Hostname{{ host.get_fqdn|default:"<your hostname>" }}
URL/nic/update?
Additional DDNS Options{% trans "(leave this field empty)" %}
Use External IP CheckNo
Force Update Interval7

ddclient

{% trans "ddclient is a popular dyndns update daemon on Linux." %}

# /etc/ddclient.conf

# this will update your ipv4 address to the address
# the web service sees requests coming from:
protocol=dyndns2
use=web, web=http://{{ WWW_IPV4_HOST }}/myip
ssl=yes  # yes = use https for updates
server={{ WWW_IPV4_HOST }}
login={{ host.get_fqdn|default:"<your hostname>" }}
password='{{ update_secret|default:"<your secret>" }}'
{{ host.get_fqdn|default:"<your hostname>" }}

# ddclient releases <= 3.8.1 do not support IPv6,
# but there is a patch for IPv6 from Eduardo Trapani.
# using such a patched ddclient, the following should work:
#
# this will update your IPv6 address to the interface address:
#protocol=dyndns2
#usev6=if, if=eth0
#ssl=yes  # yes = use https for updates
#server={{ WWW_IPV6_HOST }}
#login={{ host.get_fqdn|default:"<your hostname>" }}
#password='{{ update_secret|default:"<your secret>" }}'
#{{ host.get_fqdn|default:"<your hostname>" }}

dyndnsc

# dyndnsc.ini

[dyndnsc]
configs = myconf_ipv4, myconf_ipv6

[myconf_ipv4]
# this will update your ipv4 address to the address
# the detector dnswanip returns:
use_preset = nsupdate.info:ipv4
updater-hostname = {{ host.get_fqdn|default:"<your hostname>" }}
updater-userid = {{ host.get_fqdn|default:"<your hostname>" }}
updater-password = {{ update_secret|default:"<your secret>" }}
detector = webcheck4

[myconf_ipv6]
# this will update your ipv6 address to the address
# the detector dnswanip returns:
use_preset = nsupdate.info:ipv6
updater-hostname = {{ host.get_fqdn|default:"<your hostname>" }}
updater-userid = {{ host.get_fqdn|default:"<your hostname>" }}
updater-password = {{ update_secret|default:"<your secret>" }}
detector = webcheck6

EdgeOS (ddclient)

    dynamic {
        interface pppoe0 {
            service custom-nsupdate {
                host-name {{ host.get_fqdn|default:"<your hostname>" }}
                login {{ host.get_fqdn|default:"<your hostname>" }}
                password {{ update_secret|default:"<your secret>" }}
                protocol dyndns2
                server {{ WWW_IPV4_HOST }}
            }
            web http://{{ WWW_IPV4_HOST }}/myip
        }
    }

IPFire 2.17 Core Update 90

Homepage: http://ipfire.org

{% trans "Go to:" %}
Services Dynamic DNS
{% trans "Enter the following data (and click ADD afterwards):" %}
SettingValue
Servicensupdate.info
Enabled(check)
Host Name{{ host.get_fqdn|default:"<your hostname>" }}
User name{{ host.get_fqdn|default:"<your hostname>" }}
Password{{ update_secret|default:"<your secret>" }}

m0n0wall

Homepage: http://m0n0.ch/wall

{% trans "Go to:" %}
Services Dynamic DNS
{% trans "Enter the following data:" %}
SettingValue
Service TypeDynDNS
Hostname{{ host.get_fqdn|default:"<your hostname>" }}
Server{{ WWW_IPV4_HOST }}
Username{{ host.get_fqdn|default:"<your hostname>" }}
Password{{ update_secret|default:"<your secret>" }}

inadyn ({% trans "verified with" %} 1.99.11)

# /etc/inadyn.conf

logfile /var/log/inadyn/inadyn.log
verbose 5
period 300

system ipv4@nsupdate.info
    ssl
    username {{ host.get_fqdn|default:"<your hostname>" }}
    password {{ update_secret|default:"<your secret>" }}
    alias {{ host.get_fqdn|default:"<your hostname>" }}

# note: no IPv6 support in inadyn yet.

inadyn ({% trans "verified with" %} 2.1)

# /etc/inadyn.conf

period       = 300

provider ipv4@nsupdate.info {
    ssl      = true
    username = {{ host.get_fqdn|default:"<your hostname>" }}
    password = {{ update_secret|default:"<your secret>" }}
    hostname = {{ host.get_fqdn|default:"<your hostname>" }}
}

# note: no IPv6 support in inadyn yet.

OpenWRT ({% trans "verified with" %} "Chaos Calmer")

# ddns-scripts configuration /etc/config/ddns

config service "ipv4ddns"
    option enabled "1"
    option interface "wan"
    option use_syslog "1"

    option update_url "http://[USERNAME]:[PASSWORD]@{{ WWW_IPV4_HOST }}/nic/update?hostname=[DOMAIN]&myip=[IP]"
    option ip_source "web"
    option ip_url "http://{{ WWW_IPV4_HOST }}/myip"

    option domain "{{ host.get_fqdn|default:"<your hostname>" }}"
    option username "{{ host.get_fqdn|default:"<your hostname>" }}"
    option password "{{ update_secret|default:"<your secret>" }}"

    # for https support, first install wget with ssl support and
    # a current (and working) bundle of CA certificates:
    # opkg install wget
    # mkdir -p /etc/ssl/certs
    # wget -P /etc/ssl/certs http://curl.haxx.se/ca/cacert.pem
    option use_https "1"
    option cacert "/etc/ssl/certs/cacert.pem"

pfSense

Homepage: https://www.pfsense.org

{% blocktrans trimmed %} Please note: if the pfSense WAN interface does not have your public IP and does not notice your public IP changing, the update will be done delayed (default: daily at 01:01). You can tweak this by editing /etc/crontab from where it invokes /etc/rc.dyndns.update - but be careful: do not invoke it too frequently and consider that this applies to all your DDNS updaters. {% endblocktrans %}

{% trans "Enter the following data:" %}
SettingValue
Disable{% trans "(do not select this)" %}
DDNS ServiceCustom
Interface to monitorWAN {% trans "(most likely)" %}
Interface to send fromWAN {% trans "(most likely)" %}
Verbose logging{% trans "(select this as long as you need it)" %}
Username{{ host.get_fqdn|default:"<your hostname>" }}
Password{{ update_secret|default:"<your secret>" }}
Update URLhttps://{{ WWW_IPV4_HOST }}/nic/update
Result Matchgood %IP%|nochg %IP%
Descriptionupdate DDNS host with IP v4 address

Speedport Hybrid ({% trans "verified with" %} Firmware: 050124.03.07.001)

{% trans "Enter the following data:" %}
SettingValue
Providerother Provider
Domain name{{ host.get_fqdn|default:"<your hostname>" }}
User name{{ host.get_fqdn|default:"<your hostname>" }}
Password{{ update_secret|default:"<your secret>" }}
Update server addresshttps://{{ WWW_IPV4_HOST }}
Protocolhttps
Port443

{% trans "Browser-based update client" %}

{% blocktrans trimmed %} These URLs invoke the built-in update client, which is intended for temporary and adhoc scenarios only. It periodically checks your IP and updates DNS if it changes. {% endblocktrans %}

{% trans "URLs for browser / http user agent use" %}

{% trans "Important: Do not send an update if your IP did not change since last update!" %} {% trans "Check your current IP:" %} {% trans "Interactive - will ask for username (give your hostname) and password (give your secret):" %} {% trans "Giving the http basic auth username and password in the URL:" %} {% trans "As above, but manually specifying the IP address:" %} {% trans "Explanation of parameters:" %}