asuswrt-merlinファームウェアでカスタムドメインを接続する方法をまとめます。
Google Domainsを使用している間にSquarespaceに売却されました。Google DomainsからCloudflareへのドメイン移行後、カスタムDDNS設定を行う手順をまとめます。
REQUIREMENTS
カスタムDDNS設定のために、以下の事項を準備する必要があります。
- ファームウェアバージョン :
inadynパッケージを使用してカスタムDDNSを設定するため、384.7以上のバージョンが必要です。 - JFFS :
カスタムDDNS設定のためにはJFFSが有効になっている必要があります。 - SSH :
ルーターにアクセスする権限が必要です。
要件に関する説明はこの文書では行いません。
CHANGE DDNS
既存のDDNS設定を変更します。
DDNS設定でServerをCustomに変更します。
WANカテゴリのDDNS設定でServerオプションをCustomに変更します。
ISSUE API TOKEN
Cloudflareのトークン発行で
- zone.zone read
- zone.dns edit
権限を持つトークンを発行します。
発行後の結果:
SETUP INADYN
MAKE CONFIG
/jffs/inadyn.conf
ファイルを作成します。
このシナリオではワイルドカードドメインを使用するため、2つのプロバイダーを使用します。
# ドメイン
# 単一プロバイダーのみを使用する場合は `:1` を削除して使用します。
# provider cloudflare.com
provider cloudflare.com:1 {
username = "xiyo.dev"
password = API_TOKEN # 発行されたトークンを入力します。ダブルクォーテーションで囲んで入力します。
hostname = "xiyo.dev"
ttl = 1 # optional, value of 1 is 'automatic'.
proxied = false # optional.
}
# ワイルドカードドメイン
provider cloudflare.com:2 {
username = "xiyo.dev"
password = API_TOKEN # 発行されたトークンを入力します。ダブルクォーテーションで囲んで入力します。
hostname = "*.xiyo.dev"
ttl = 1 # optional, value of 1 is 'automatic'.
proxied = false # optional.
}
CHECK CONFIG
設定の文法を確認します。
RUN INADYN
inadynを実行してドメインにIPを登録します。
AUTOMATION
IPが変更されるたびにドメインに接続されたIPを変更できるように設定します。
/jffs/scripts/ddns-start
ファイルがない場合は作成し、実行権限を付与します。
touch /jffs/scripts/ddns-start
chmod +x /jffs/scripts/ddns-start
/jffs/scripts/ddns-start
ファイルに次の内容を入力します。
CHECK
ドメインが実際のIPと接続されているか確認します。
実行
nslookup xiyo.dev
結果
Server: XIYOsRouter
Address: 192.168.1.1
Non-authoritative answer:
Name: xiyo.dev
Address: 124.5.184.78
ルーターのメインで表示されるIPと一致すれば正常に設定されています。
AFTER
これでルーターが再起動されてもIPが変更されても、ドメインは常にルーターを指し示します。
次回はルーターに証明書をインストールする方法をまとめます。