背景
- Unifiのルーターを導入した.
- UnifiにはNECなどと違いDDNSサービスが存在しない.
- お家ネットの契約上,固定IPがコロコロ変わる.
- 外部からVPNを張る際に困る.
- そのため,RasPiを使い,自分のドメインに対してDDNSをすることにした.
要件
HW
- 任意のRaspberry Piなどサーバ
- 固定IPの付いている回線
SW
- cloudflare DNS(独自ドメインが登録されている状態)
- ddclient
準備
ddclientをインストール
apt install ddclient
設定をいろいろ求められるが,後ほどconf fileに直接書くので全部適当でおk.
CloudflareにAレコードを入力
DDNSしたいURLと任意の適当なIPをAレコードとして登録しておく.
これがないと後程エラーを吐きます.
CloudflareからAPIKEYを入手
webコンソールの /アカウント管理/アカウントのAPIトークン
を開く.すると,以下のような画面が表示される.
編集したいゾーンリソースを選択する.
次の画面に表示されるAPIを保存しておく.後ほど設定に使う.
設定
ddclientの設定
設定内容はこちら.
先述のCloudflareのHPから入手したAPIKEYやメールアドレスなどを登録.
$ sudo vim /etc/ddclient.conf
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
protocol=cloudflare \
use=web, web=https://api.ipify.org/ \
zone=example.com \
login=your.cloudflare.registerd.mail \
password='PleaseTypeHereYourAPIKEY' \
hogehoge.example.com,
更新できるか試す.
sudo ddclient
確認
以下のコマンドで確認ができる.
sudo ddclient -v
落とし穴
エラー:FAILED: updating home-router.feles.dev: Could not connect to api.cloudflare.com/client/v4.
解決方法:DNSにDDNSで使用するURIを入力していないのが原因.Aレコードを追加する.