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件の返信
[…] ddclientの場合はddclient.confをこんな感じに設定します。ほぼDynDNS同じです。 […]