カテゴリー
DDNS FreeBSD

ddclient

ddclientの設定メモ書き

ddclientのインストール

portsのありか

/usr/ports/dns/ddclient

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

</p>

<p># This file is auto-generated by 'make config'.</p>

<p># Options for ddclient-3.8.1_1</p>

<p>_OPTIONS_READ=ddclient-3.8.1_1</p>

<p>_FILE_COMPLETE_OPTIONS_LIST=SSL</p>

<p>OPTIONS_FILE_SET+=SSL</p>

<p>

SSL不要ならオフ(UNSET)で。DynDNS.orgはどちらでも対応してるっぽい。

portinstallでインストール。

ddclientの設定

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

</p>

<h61 id="hs_d6c243970c60c893d1944a81ce8adc55_header_0"></h61>

<p>Copy</p>

<p>/usr/local/etc/ddclient.conf.sample</p>

<p>to</p>

<p>/usr/local/etc/ddclient.conf</p>


<p>and edit it to fit your needs.</p>


<p>If you would like to run ddclient as a daemon add the</p>

<p>following line to /etc/rc.conf</p>


<p>ddclient_enable=&quot;YES&quot;</p>


<p>If you would like to force ddclient to update your account</p>

<p>daily regardless of IP changes add the following line to</p>

<p>your /etc/periodic.conf</p>


<p>daily_ddclient_force_enable=&quot;YES&quot;</p>


<h61 id="hs_d6c243970c60c893d1944a81ce8adc55_header_1"></h61>
<p>

このメッセージの通りに設定していく。

/usr/local/etc/ddclient.conf.sampleをコピーして/usr/local/etc/ddclient.confを作る。

私(多分大抵の人も)の場合、Web経由でIPアドレス取得するので、

</p>

<p>use=web                                 # via web</p>

<p>

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

</p>

<p>login=ログイン名                               # default login</p>

<p>password=パスワード                               # default password</p>

<p>

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

</p>

<p>##</p>

<p>## dyndns.org dynamic addresses</p>

<p>##</p>

<p>## (supports variables: wildcard,mx,backupmx)</p>

<p>##</p>

<p>server=members.dyndns.org,            \</p>

<p>protocol=dyndns2                      \</p>

<p>your-dynamic-host.dyndns.org ←自分のホスト名(FQDN)</p>

<p>

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

</p>

<p>ssl=yes                                 # use ssl-support.  Works with</p>

<p>

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

</p>

<p>ddclient_enable=&quot;YES&quot;</p>

<p>

を忘れずに。

ddclientの起動

ddclientの起動と停止は

</p>

<p>/usr/local/etc/rc.d/ddclient start</p>

<p>/usr/local/etc/rc.d/ddclient stop </p>

<p>

ddclientのエラー対策

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

</p>

<h69 id="hs_d6c243970c60c893d1944a81ce8adc55_header_2"></h69>
<p>Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client</p>

<p>is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER</p>

<p>together with SSL_ca_file|SSL_ca_path for verification.</p>

<p>If you really don’t want to verify the certificate and keep the</p>

<p>connection open to Man-In-The-Middle attacks please set</p>

<p>SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.</p>

<h69 id="hs_d6c243970c60c893d1944a81ce8adc55_header_3"></h69>
<p>at /usr/local/sbin/ddclient line 1860 </p>

<p>

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

</p>

<p>    $sd = IO::Socket::SSL-&gt;new(</p>

<p>    PeerAddr =&gt; $peer,</p>

<p>    PeerPort =&gt; $port,</p>

<p>    Proto =&gt; 'tcp',</p>

<p>    MultiHomed =&gt; 1,</p>

<p>    Timeout =&gt; opt('timeout'),</p>

<p>    SSL_verify_mode =&gt; SSL_VERIFY_NONE(),</p>

<p>);</p>

<p>

のように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の仕様がだんだん厳格になってきた影響らしい。(だよね?)

</p>

<p>#!/usr/local/bin/perl -w</p>

<p>

</p>

<p>#!/usr/local/bin/perl </p>

<p>

こんな感じ。

参考)

perl で Use of uninitialized value in pattern match

その他

ddclientはipアドレスが変化しない限りほとんど何もしないので動作確認をしたい場合は、 /var/tmp/ddclient.cache このファイルを覗いてみると幸せになれるかも。

それからdyndns.orgで使われている「dyndns2プロトコル」とはどんなものか知りたい場合は以下のリンクが参考になるかも。

DNS Update API

「ddclient」への1件の返信

コメントを残す

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