コンテンツへスキップ

Raspberry PiからDDNS更新(Value Domain)

LinuxからValue-domainのDDNS(Dynamic DNS)更新

関連記事:SynologyでValueDomain向けのDDNS設定方法

SynologyでのDDNS更新も良い機能だなと思いましたが、今回はオーソドックスにLinuxホストからValue DomainのDDNS更新方法です。
Raspberry Piで設定を実施しました。
VALUE-DOMAIN(バリュードメイン)

VALUE-DOMAINのIP更新方法

VALUE-DOMAINで本設定を行う際は、VALUE-DOMAINのポータルサイトよりIP更新時に用いるドメインのパスワードを取得する必要があります。
参考URL:https://www.value-domain.com/ddns.php?action=howto

ツールなどからのアクセス先(HTTP GET/POSTリクエスト)

https://dyn.value-domain.com/cgi-bin/dyn.fcg?d=ドメイン名&p=パスワード&h=ホスト名&i=IPアドレス

パラメータ説明
d更新するドメインを指定します。
例:value-domain.com
p更新するドメインのパスワードを指定します。
例: 1234
h更新するドメインのホスト名を指定します。DNSレコード編集画面のホスト名と全く同じ仕様です。
例: *(全ホスト)、www、指定なしはホスト名なし
i更新するドメインのIPアドレスを指定します。指定しない場合は、自動的に接続者のIPアドレスが設定されます。
aaaaレコードが存在し、IPアドレスがIPv6フォーマットの場合、aaaaレコードのホストがアップデートされます。

Raspberry PiからVALUE-DomainのIPアドレス変更

DDNS更新のスクリプトファイル準備

設定ファイルを作成します。ドメイン名と取得したパスワードを記載します。

# Place this file on /etc/update_ddns.conf
# SECURITY: run `chmod 600 /etc/update_ddns.conf'
# to make it unreadable by non-root users.
DOMAIN=***.***
PASSWORD=**************
HOST=*

IPアドレスを更新するスクリプトです。
IPアドレス変更時に、VALUE-DOMAINにIP変更を通知します。

#!/bin/bash

CONFIG_FILE='/etc/update_ddns.conf'
IP_CACHE_FILE='/tmp/update_ddns_ip'
DDNS_CACHE_FILE='/tmp/update_ddns_result'

# sources DOMAIN= , PASSWORD= and HOST=
source $CONFIG_FILE

old_ip=`[ -e $IP_CACHE_FILE ] && cat $IP_CACHE_FILE || echo ''`
new_ip=`wget --quiet -O - 'https://dyn.value-domain.com/cgi-bin/dyn.fcg?ip'`
if [ "$old_ip" = "$new_ip" ]; then
    echo "NO CHANGE ($new_ip)"
    logger -t UPDATE_DDNS "INFO: NO CHANGE ($new_ip)"
    exit 0
fi

url="https://dyn.value-domain.com/cgi-bin/dyn.fcg?d=$DOMAIN&p=$PASSWORD&h=$HOST&i="
result=0
wget --quiet -O - "$url" 2>/dev/null | tee $DDNS_CACHE_FILE | grep 'status=0' >/dev/null && result=1

if (( !$result )); then
    echo `date` 'FAILED'
    logger -t UPDATE_DDNS "ERROR: FAILED result:" `cat $DDNS_CACHE_FILE`
    exit 1
fi

echo $new_ip > $IP_CACHE_FILE

echo "UPDATED ($new_ip)"
logger -t UPDATE_DDNS "INFO: UPDATED with new IP:$new_ip"
exit 0

作成したファイルの実行権限を変更します。

$ sudo chmod 600 /etc/update_ddns.conf
$ sudo chmod 755 /etc/update_valuedomain_ddns

定期実行登録(crontab登録)

2分、7分、12分と5分毎にスクリプトを実行し、IPアドレスが変更していないか確認を行うように、crontabにスクリプトを登録します。

$ sudo crontab -e
2-57/5 * * * * /etc/update_ddns.sh



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA