概要
動的DNSはIP変動問題を解決しますが、すべてのホスティング問題を解決するわけではありません
多くの家庭や小規模オフィスのインターネット接続は時々新しい公開IPを取得します。動的DNSはドメインを現在のIPに向け、VPNやダッシュボード、テストサイト、セルフホストアプリの接続を維持。GhostlyDDnsはCloudflareゾーンに特化し、既存レコードを更新します。
適合確認
CloudflareがDNSの信頼できる情報源ならGhostlyDDnsを使いましょう
最適な環境は公開アドレスが変わるがドメインは維持したいネットワークです。ルーターやホスティングが必要なCloudflare更新を既に行う場合は追加エージェントは不要かもしれません。
GhostlyDDnsが役立つ場面
- Cloudflare DNSを使い、維持したいAまたはAAAAレコードが既にあります。
- 自宅、オフィス、ラボ、またはバックアップネットワークの公開IPが変動します。
- Cloudflare APIトークンをサードパーティのDDNSサービス内ではなくローカルに保存したいです。
- Windows、Linux、Linux ARMで同じ設定スタイルが必要です。
別のDDNS方法が簡単な場合
- インターネットプロバイダーから静的な公開IPが提供され、DNSはほとんど変わりません。
- ルーターは限定された認証情報と有用なログでCloudflareを安全に更新しています。
- ホスト型ダッシュボード、チームアクセス制御、アラート、管理サポートが必要です。
- バージョン1ではツールがCloudflareレコードを新規作成すると期待しています。
目次
Cloudflareの更新
GhostlyDDnsは公開IPが実際に変わった時だけ更新します
エージェントは公開IPv4・IPv6アドレスを確認し、前回値と比較。AまたはAAAAレコードのターゲット変更が必要な場合のみCloudflare APIを呼び出し、更新ループを静かに保ち不要なAPI通信を避けます。
Aレコードは現在のIPv4アドレスに従います
家庭用VPNエンドポイント、小規模ダッシュボード、リバースプロキシ、テストサイトなどIPv4サービスにはAレコードを使います。
ホストにIPv6がある場合、AAAAレコードはIPv6に従います
マシンに安定したIPv6経路がある場合のみIPv6を有効にし、それ以外はIPv6検出を無効にしてください。
Cloudflare呼び出しは変更を認識し続けます
GhostlyDDnsは値を比較し、DNSターゲットが変わる場合のみCloudflareを更新します。
プライバシーと安全性
ローカル実行により重要な部分をネットワーク近くに保ちます
GhostlyDDnsはホスト型コントロールパネル不要。APIトークンはエージェント実行マシンに保持、ログもローカルに保存し、更新ループはファイアウォールやスケジューラ、systemdの背後で動作可能です。
最小限の権限を持つCloudflare APIトークンを使う
トークンはGhostlyDDnsが必要とするゾーンとDNS編集権限に限定し、アカウント全体のトークンを単純なDDNS作業に使い回さないでください。
YAMLファイルは秘密情報のように保護してください
設定ファイルにCloudflare APIトークンを含められます。ファイル権限は厳格にし、スクリーンショットやチケット、公開ログへの貼り付けは避けてください。
更新ループは配置した場所で動作します
GhostlyDDnsは外部コントロールパネル不要。スケジューラ、ファイアウォール、ログ、再試行ポリシーは自分の環境で管理します。
正常な実行は監視せず、失敗のみを監視してください
静かな成功を期待します。非ゼロの終了コード、Cloudflareの繰り返し失敗、応答しなくなる検出エンドポイントに注意してください。
セットアップ手順
信頼できる手順はゾーン設定→トークン設定→スケジューラ設定の順です
DDNSの設定は準備が大半です。まずレコードを作成し、Cloudflareトークンをゾーンに限定、ドライランでテスト後、OSに合ったスケジューラにエージェントを登録します。
レコードを作成
まずCloudflareにAまたはAAAAレコードを追加し、プロキシモードを選択、テスト時は一時的なホスト名を使います。
トークンの範囲を限定
対象ゾーンのDNS編集のみ可能なCloudflare APIトークンを作成してください。
ドライチェックを実行
本番更新前にdryコマンドで設定、レコード名、検出器、Cloudflareアクセスを確認します。
エージェントをスケジュール
タイマーで一度実行するかサービスとして継続実行し、最初の数回のIP変更時にログと終了コードを確認します。
設定
1つのYAMLファイルでトークン、レコード、間隔、IP検出、ログを管理
設定はシンプルで見直しやすく。トークンは安全に保管し、ポーリング間隔は必要に応じて設定。IPv6は実際の経路がある場合のみ有効にし、公開IPに追従すべきCloudflareレコードをすべて列挙してください。
基本CLIコマンド
繰り返しジョブを有効にする前にドライランを使い、初回設定が盲目的な本番変更にならないようGhostlyDDnsの更新内容を確認します。
ghostly-ddns init-config --path ./config.yaml
ghostly-ddns dry --config ./config.yaml
ghostly-ddns once --config ./config.yaml
ghostly-ddns run --config ./config.yaml
ghostly-ddns --help
ghostly-ddns --versionYAML設定例
正確な値はCloudflareゾーンやレコード名に依存しますが、設定は通常のコードレビューに十分な小ささです。
cloudflare:
api_token: CF_API_TOKEN
update:
interval_seconds: 120
ip_detection:
detect_ipv4: true
detect_ipv6: false
v4_endpoints:
- https://api.ipify.org
- https://ipv4.icanhazip.com
v6_endpoints:
- https://api6.ipify.org
logging:
retention_days: 30
records:
- name: home.example.com
type: A
proxied: true
ttl: auto展開
GhostlyDDnsを小規模インフラサービスのように運用
Linuxではsystemdサービスとタイマーでエージェントの再起動や監査が容易。Windowsはタスクスケジューラで定期実行。ログは見つけやすく、設定ファイルは公開不可に。
Linux systemdタイマー
可能な限り専用サービスアカウントを使い、設定は保護されたディレクトリに保存してください。
[Unit]
Description=Run GhostlyDDns
[Service]
Type=oneshot
ExecStart=/usr/local/bin/ghostly-ddns once --config /etc/GhostlyDDns/config.yaml
[Timer]
OnBootSec=60
OnUnitActiveSec=120
Unit=ghostly-ddns.service
[Install]
WantedBy=timers.targetWindowsタスクスケジューラ
数分ごとに同じCLIコマンドを実行し、通常の運用で非ゼロ終了コードを監視します。
schtasks /Create ^
/SC MINUTE /MO 5 ^
/TN "GhostlyDDns" ^
/TR "C:\GhostlyDDns\ghostly-ddns.exe once --config C:\GhostlyDDns\config.yaml" ^
/RL HIGHEST ^
/Fエディション
DDNSエージェントの実行環境に合うビルドを選ぶ
各ライセンスは選択したエディションのGhostlyDDns 1.xアップデートをカバー。小規模オフィスはWindows、VPSや自宅サーバーはLinux、低消費電力機器はLinux ARMを選択してください。
Windows
Windows機が常時オンラインで小規模ネットワークのCloudflareレコードを更新する場合に使います。
Windows版を開くLinux
無人サービスを既に運用しているVPS、自宅サーバー、ラボ機器、リバースプロキシに使います。
Linux版を開くLinux ARM
常時稼働し低負荷の小型DDNSエージェントを動かせるARM64機器に使います。
Linux ARM版を開くはじめる
本番DNS自動化前にテスト用レコードを1つ作成してください
一時サブドメインを作成し、GhostlyDDnsをドライモードで実行。トークンが対象ゾーンのみ編集可能か確認後、同じ設定を本番レコードに適用します。
よくある質問
GhostlyDDnsのよくある質問
Cloudflareレコード、APIトークン、IPv6、スケジュール、ログ、プロバイダDDNSが十分な場合の簡潔な回答。
GhostlyDDnsは何を自動化しますか?
GhostlyDDnsは公開IPv4またはIPv6アドレスが変わると既存のCloudflare A・AAAAレコードを更新します。Cloudflare DNSの代替やホスティングプラットフォームではありません。
GhostlyDDnsは新しいCloudflareレコードを作成しますか?
バージョン1は既存レコードの更新を目的としています。まずCloudflareでDNSレコードを作成し、その後GhostlyDDnsがターゲットを最新に保ちます。
Cloudflare APIトークンはどこに保存すべき?
GhostlyDDnsを実行するマシンにトークンを保存し、YAMLファイルは厳格な権限で保護してください。トークンは対象ゾーンのDNS編集のみ可能にします。
GhostlyDDnsはIPv6レコードを更新できますか?
はい。ホストに実際のルーティングされたIPv6アドレスがある場合にIPv6検出を有効にしてください。検出されたIPv6アドレスが変わるとGhostlyDDnsはAAAAレコードを更新します。
プロバイダDDNSで十分な場合は?
ルーターやホスティングプロバイダーがCloudflareを安全に更新し、必要なレコードをサポートし、信頼できるログを提供する場合は、プロバイダDDNSで十分です。
エージェントはどのくらいの頻度で実行すべき?
家庭やオフィスのネットワークでは2~5分の短い間隔が一般的です。迅速なフェイルオーバーが不要な場合は長めの間隔を設定してください。