ddclient


ddclientの設定メモ書き

ddclientのインストール

portsのありか

/usr/ports/dns/ddclient

Optionの設定( /var/db/ports/ddclient/options )

# This file is auto-generated by 'make config'.
# Options for ddclient-3.8.1_1
_OPTIONS_READ=ddclient-3.8.1_1
_FILE_COMPLETE_OPTIONS_LIST=SSL
OPTIONS_FILE_SET+=SSL

SSL不要ならオフ(UNSET)で。DynDNS.orgはどちらでも対応してるっぽい。
portinstallでインストール。

ddclientの設定

インストール時に吐き出された

***********************************************************

Copy
/usr/local/etc/ddclient.conf.sample
to
/usr/local/etc/ddclient.conf

and edit it to fit your needs.

If you would like to run ddclient as a daemon add the
following line to /etc/rc.conf

ddclient_enable="YES"

If you would like to force ddclient to update your account
daily regardless of IP changes add the following line to
your /etc/periodic.conf

daily_ddclient_force_enable="YES"

***********************************************************

このメッセージの通りに設定していく。
/usr/local/etc/ddclient.conf.sampleをコピーして/usr/local/etc/ddclient.confを作る。
私(多分大抵の人も)の場合、Web経由でIPアドレス取得するので、

use=web                                 # via web

DDNSサービスのログイン情報も設定する。

login=ログイン名                               # default login
password=パスワード                               # default password

有名なDDNSサービスのdyndns.orgを使うなら、すでにテンプレートになっているので適宜#を外しつつホスト名を設定。

##
## dyndns.org dynamic addresses
##
## (supports variables: wildcard,mx,backupmx)
##
server=members.dyndns.org,            \
protocol=dyndns2                      \
your-dynamic-host.dyndns.org ←自分のホスト名(FQDN)

これでOK。もしSSLで使いたいなら、

ssl=yes                                 # use ssl-support.  Works with

それから、 /etc/rc.conf に

ddclient_enable="YES"

を忘れずに。

ddclientの起動

ddclientの起動と停止は

/usr/local/etc/rc.d/ddclient start
/usr/local/etc/rc.d/ddclient stop

ddclientのエラー対策

“ssl=yes” でddclientを起動していると、

*******************************************************************
Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client
is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER
together with SSL_ca_file|SSL_ca_path for verification.
If you really don’t want to verify the certificate and keep the
connection open to Man-In-The-Middle attacks please set
SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.
*******************************************************************
at /usr/local/sbin/ddclient line 1860

というエラーが出ることがある(出た)。これは /usr/local/sbin/ddclient の、

    $sd = IO::Socket::SSL->new(
    PeerAddr => $peer,
    PeerPort => $port,
    Proto => 'tcp',
    MultiHomed => 1,
    Timeout => opt('timeout'),
    SSL_verify_mode => SSL_VERIFY_NONE(),
);

のように1866行を追加することで解決できる。
参考)
Re: [Ddclient-support] Not Setting SSL_verify_mode Produces Warning

それから、

Use of uninitialized value in sprintf at /usr/local/sbin/ddclient line 1601.

のようなエラー(警告)が出たら(出た)、/usr/local/sbin/ddclientの先頭行にある”-w”を削除して警告を見ないようにすればとりあえずOK。警告の内容は初期化していない変数を使おうとしたという事だけで、ddclient自体はちゃんと動作しているので気にしなければそのままでもいいはず。perlの仕様がだんだん厳格になってきた影響らしい。(だよね?)

#!/usr/local/bin/perl -w

#!/usr/local/bin/perl

こんな感じ。
参考)
perl で Use of uninitialized value in pattern match

その他

ddclientはipアドレスが変化しない限りほとんど何もしないので動作確認をしたい場合は、 /var/tmp/ddclient.cache このファイルを覗いてみると幸せになれるかも。
それからdyndns.orgで使われている「dyndns2プロトコル」とはどんなものか知りたい場合は以下のリンクが参考になるかも。
DNS Update API

「ddclient」への1件のフィードバック

コメントを残す

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