VALUEDOMAINのダイナミックDNSサービスをlinuxBeanとddclientで更新する方法。
こんにちは!
サイト管理人のYosukeです。
このウェブサーバーはエックスサーバーで、ドメインはVALUEDOMAINで運用しています。
今日は、外出先からドメインアクセスでlinuxBeanに接続出来ないかな~、と思い、
VALUEDOMAINで提供しているダイナミックDNS(DDNS)サービスと、ddclient
を組合せて使う方法で、
独自ドメインとグローバルIPアドレスをひも付けする為の設定をおこないました。
目次
VALUEDOMAINの設定
DDNSを利用したいドメインを準備
管理画面にログインし、[ドメイン] > [DNSレコード/URL転送の設定] で
a **** 0.0.0.0
などと記入。(**** サブドメイン…例:「ddns」とした場合)
※ 0.0.0.0
としたのは、後でddclient
を利用して上書きするからです。
DDNS機能を有効にする
[ドメイン] > [ダイナミックDNS設定]を開き、チェックボックスにチェックを入れ、変更。
ddclientのインストール
synaptic パッケージマネージャでddclientをインストール(3.8.0-11.4ubuntu1)
インストール途中にメッセージが出てきますが、後で全部修正するので「進む」を連打でインストール完了。
またはapt-get
でddclient
をインストール。(途中の設定は適当に)
$ sudo apt-get install ddclient
VALUEDOMAINのDDNSを利用するパッチを当てる
ddclient
はVALUEDOMAINのDDNSに対応していませんが、「死者のページ」さんが、
3.8.0用のパッチを公開して下さっているのでこれを利用します。
linuxBeanの端末(ターミナルエミュレータ)から次のような流れでコマンドを実行。
$ cd $ wget http://www.arcenserv.info/download-files/ddclient-valuedomain.patch $ sudo patch /usr/sbin/ddclient < ddclient-valuedomain.patch $ rm ddclient-valuedomain.patch
ddclient-valuedomain.patchをホームにダウンロードし、ddclient
にパッチを当て、
最後に使用したパッチファイルを削除、という流れって感じです。
ddclient.conf の編集
ファイルマネージャからroot権限で/etc/ddclient.confを開き、
例えば、下記のように編集します。
# Configuration file for ddclient generated by debconf # # /etc/ddclient.conf protocol=dyndns2 use=web, web=checkip.dyndns.com, web-skip='IP Address' server=members.dyndns.org login= password=''
# Configuration file for ddclient generated by debconf # # /etc/ddclient.conf syslog=yes ssl=no use=web protocol=valuedomain server=dyn.value-domain.com login=e-creators.info [設定したいメインドメイン名] password=**** [VALUEDOMAINのDDNSを有効にした際に設定したパスワード] ddns [任意のサブドメイン名 例:ddnsとした場合]
ddclientの実行(DDNSの更新)
$ sudo ddclient -daemon=0 -verbose
入力に問題が無ければ、上記のコマンドでDDNSが更新されたはずです。
更新がうまくいった例
うまく更新された場合は下記のように端末に表示されます。
yosuke@yosuke-X61s:~$ sudo ddclient -daemon=0 -verbose CONNECT: checkip.dyndns.org CONNECTED: using HTTP SENDING: GET / HTTP/1.0 SENDING: Host: checkip.dyndns.org SENDING: User-Agent: ddclient/3.8.0 SENDING: Connection: close SENDING: RECEIVE: HTTP/1.1 200 OK RECEIVE: Content-Type: text/html RECEIVE: Server: DynDNS-CheckIP/1.0 RECEIVE: Connection: close RECEIVE: Cache-Control: no-cache RECEIVE: Pragma: no-cache RECEIVE: Content-Length: 106 RECEIVE: RECEIVE:Current IP CheckCurrent IP Address: ***.***.***.*** INFO: forcing updating ddns because no cached entry exists. INFO: setting IP address to ***.***.***.*** for ddns UPDATE: updating ddns CONNECT: dyn.value-domain.com CONNECTED: using HTTP SENDING: GET /cgi-bin/dyn.fcg?d=e-creators.info&p=****&h=ddns&i=***.***.***.*** HTTP/1.0 SENDING: Host: dyn.value-domain.com SENDING: User-Agent: ddclient/3.8.0 SENDING: Connection: close SENDING: RECEIVE: HTTP/1.1 200 OK RECEIVE: Date: Tue, 01 Mar 2016 0:0:0 GMT RECEIVE: Server: Apache RECEIVE: Connection: close RECEIVE: Content-Type: text/html RECEIVE: RECEIVE: status=0 RECEIVE: OK SUCCESS: updating ddns: 0: OK: IP address set to ***.***.***.*** yosuke@yosuke-X61s:~$
ddclientの再起動
ddclient
を再起動しておきます。
$ sudo service ddclient restart
設定してみた感想
メインドメインだけではなく、サブドメインでもDDNSを運用出来るのはいいですね。
用途としては、スマホとか遠隔地からWOL(Wake On LAN)を使ったり。
ルーターのポートはむやみやたらに開けたくないけど、遠隔操作する際に便利な
ルーター付属のVPN機能を利用したりするのに使い勝手がよさそうだなーと思っています。
Windows用では、Diceというソフトが鉄板でLinux用にも存在しますが、
文字化けして扱いづらいので、ddclientが使える場合はこちらで設定するのが良さそうです。