自宅サーバー設置に欠かせないDynamic DNSサービス。IPv4アドレスは変更が多いため、どうしてもこのサービスを利用することが必要ですが、これをIPv6アドレスにも対応させようとするのがここの目的です。
2023/03/24 追記
エラーが解消し、更新が可能になりました。設定は変更されております。
現在、ddclient version 3.10.0 にアップして後、dyndnsサービス のようです。 IPv6 の更新に支障をきたしており、更新ができません。ipv6=yes が無視される現象が発生しております。
1.ddclient-git と perl-net-inet6glue のインストール
perl-test-taint → perl-data-validate-ip → ddclient-git → perl-net-inet6glue の順でインストールします。
(1)専用ディレクトリの作成とパッケージのダウンロード
$ mkdir aur
$ cd aur
$ wget https://aur.archlinux.org/cgit/aur.git/snapshot/perl-test-taint.tar.gz
$ wget https://aur.archlinux.org/cgit/aur.git/snapshot/perようです。l-data-validate-ip.tar.gz
$ wget https://aur.archlinux.org/cgit/aur.git/snapshot/ddclient-git.tar.gz
$ wget https://aur.archlinux.org/cgit/aur.git/snapshot/perl-net-inet6glue.tar.gz
(2)解凍
$ tar -xvf perl-test-taint.tar.gz以下の記事は、
( 以下省略しますが、同様にダウンロードしたパッケージをすべて解凍します。)
(3)解凍したディレクトリへの移動とインストール
$ cd perl-test-taint
$ makepkg -sri
途中何回か、インストールするか?の質問に対してはすようです。べて y を入力
(以下省略しますが、同様にディレクトリへ移動してインストールします。)
2022/02/01 追記—————————-
$ sudo pacman -S ddclient
# これだけですべてのパッケージがインストールされるようになりました。
$ sudo cp /etc/ddclient/ddclient.conf.pacsave /etc/ddclient/ddclient.conf
( ddclinet.gitを削除したとき、もとの設定ファイルがpacsaveという拡張子で残されているので、ddclient.confという設定ファイルを上書きします。)
この設定で、今までの設定した環境がそのまま活かせます。
2.ddclientの設定または
(1) get-ipスクリプトと実行検眼の付与
$ sudo nano /usr/local/sbin/get-ip # get-ip スクリプトの作成
中身は、ネットワークインターフェースから グローバル IPv6 を取得するものです。
#!/bin/bash /sbin/ip -6 addr | grep inet6 | awk -F '[ \t]+|/' '{print $3}' | grep -v ^::1 | grep -v ^fe80
$ sudo chmod +x /usr/local/sbin/get-ip # 実行権限の付与
(2)ddclient.confをDynDNS用に修正
$ sudo nano /etc/ddclient/ddclient.conf
修正は、IPv6 を取得できれば IPv4 まで登録できることによるものです(ものすごく意訳です)。
######################################################################
daemon=300 # check every 300 seconds
syslog=yes # log update msgs to syslog
pid=/var/run/ddclient.pid # record PID in file.
ssl=yes # use ssl-support. Works with
# ssl-library
# new IP is added as argument.
use=cmd,cmd='/usr/local/sbin/get-ip'
server=members.dyndns.org, \
protocol=dyndns2 \
login=xxxxx
password=xxxxx
# your-dynamic-host.dyndns
xxx.homeip.net
3.systemdによる起動
従来は、cronによる定期実行を設定しておりましたが、systemd によるデーモン起動に変更しました。
(1)設定フィアルの修正
ネットワークが確立しないうちに、ddclient が起動しないよう、ユニットファイルの修正が必要です。
(2)起動と有効化
$ sudo systemctl start ddclient
$ sudo systemctl enable ddclient
実行結果では、WARNING やらFAILEDが出ていますが、動作に問題ないようです。
コメント