0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DNS、CDNサービスの詳細解説(二)

Posted at

DNSサービス関連の核心概念と技術実装

2. DNSサーバーの種類と動作原理

2.1 DNSサーバーの分類

タイプ 役割 特徴
プライマリDNS オリジナルゾーンデータを保持 書き込み可能
セカンダリDNS ゾーン転送でデータを複製 読み取り専用
キャッシュDNS クエリ結果を一時保存 フォワーダ機能を併用

2.1.1 プライマリDNSの特徴

  • ゾーンファイルの排他的管理
  • SOAレコード内でシリアル番号管理
  • ゾーン情報の更新権限を持つ

2.1.2 セカンダリDNSの同期メカニズム

# named.conf設定例
zone "example.com" {
    type slave;
    masters { 192.168.1.10; };
    file "slaves/example.com.zone";
};

同期パラメータ

  • リフレッシュ間隔(推奨:2時間)
  • リトライ間隔(推奨:10分)
  • 有効期限(推奨:1週間)
  • 通知メカニズム(NOTIFY)

2.2 ゾーン転送の方式比較

方式 転送データ量 ネットワーク負荷 使用シナリオ
フル転送 初回同期時
増分転送 定期的な更新時

2.3 正引き/逆引きの仕組み

# 正引きクエリ例
dig www.example.com

# 逆引きクエリ例
dig -x 192.168.1.1

3. リソースレコードの詳細解説

3.1 主要RRタイプ一覧

タイプ 用途
SOA ゾーン権限情報 example.com. IN SOA ...
NS ネームサーバー指定 example.com. IN NS ns1
A IPv4アドレスマッピング www IN A 192.168.1.1
AAAA IPv6アドレスマッピング www IN AAAA 2001:db8::1
CNAME エイリアス設定 ftp IN CNAME www
MX メールサーバー指定 example.com. IN MX 10 mail
TXT テキスト情報 example.com. IN TXT "v=spf1..."

3.2 SOAレコード詳細設定

$ORIGIN example.com.
@  IN  SOA  ns1.example.com. admin.example.com. (
    2023082001  ; シリアル番号
    7200        ; リフレッシュ間隔(2時間)
    900         ; リトライ間隔(15分)
    1209600     ; 有効期限(2週間)
    3600        ; ネガティブキャッシュTTL(1時間)
)

パラメータ解説

  • シリアル番号:32bit整数(YYYYMMDDNN形式推奨)
  • 管理メールアドレス:admin.example.comadmin@example.com

3.3 MXレコードの優先度設定

@       IN  MX  10  mail1
@       IN  MX  20  mail2
mail1   IN  A       203.0.113.5
mail2   IN  A       198.51.100.10

ポイント

  • 優先度数値が小さい方が高優先
  • フェイルオーバー構成に有効
  • SPFレコードとの連携必須

4. 高度なDNS設定テクニック

4.1 サブドメイン委任の実装

# 親ドメイン設定
sub IN NS ns1.sub.example.com.
sub IN NS ns2.sub.example.com.
ns1.sub IN A 192.168.2.10
ns2.sub IN A 192.168.2.20

# 子ドメイン設定
$ORIGIN sub.example.com.
@ IN SOA ns1.sub admin.sub (
    2023082001
    3600
    900
    604800
    1800
)

Glue Recordの重要性

  • 委任チェーンの切断防止
  • 再帰問い合わせの効率化
  • DNSSEC署名連携の基盤

4.2 動的DNS更新

# TSIG鍵生成
dnssec-keygen -a HMAC-SHA512 -b 512 -n HOST ddns-key

# 更新リクエスト例
nsupdate -k Kddns-key.+163+12345.key
> server 192.168.1.10
> update add newhost.example.com. 3600 A 192.168.1.100
> send

5. 実践的なトラブルシューティング

5.1 キャッシュ管理コマンド

# Windows
ipconfig /flushdns

# Linux
systemctl restart nscd
rndc flush

5.2 ゾーン転送検証

dig AXFR example.com @ns1.example.com

セキュリティ対策

  • TSIGによる認証
  • ACL制限
  • TCPのみ許可

6. クラウド時代のDNS技術

6.1 HTTPDNSの仕組み

image.png

従来DNSとの比較

項目 従来DNS HTTPDNS
プロトコル UDP 53 HTTP/HTTPS 80/443
レイテンシ 100-300ms 30-100ms
セキュリティ DNSSECが必要 TLSで暗号化
ロードバランシング DNSラウンドロビン 精密なALB連携

6.2 主要クラウドプロバイダのDNS機能

プロバイダ 特徴 代表機能
AWS Route 53 エイリアスレコード レイテンシーベースルーティング
Azure Traffic Manager連携 地理ルーティング
GCP Cloud DNS + Load Balancing グローバルエニーキャスト

7. よくある課題と解決策

7.1 TTL設定のベストプラクティス

# 変更前(通常運用)
$TTL 86400

# メンテナンス時(事前設定)
$TTL 300

注意点

  • 変更反映には新旧TTLの最大値が必要
  • DNSSEC署名の更新周期と連動
  • CDNキャッシュの考慮

7.2 マルチベンダーDNS運用

# ベンダー間委任設定例
@ IN NS ns1.cloud-provider.com.
@ IN NS ns2.on-premise.example.

リスク管理

  • ベンダーロックイン回避
  • フェイルオーバー戦略
  • 監視システムの統合

8. セキュリティ強化の実装

8.1 DNSSEC導入例

# 鍵生成
dnssec-keygen -a RSASHA256 -b 2048 -n ZONE example.com

# ゾーン署名
dnssec-signzone -A -3 $(head -c 1000 /dev/random | sha1sum | cut -b 1-16) -N INCREMENT -o example.com -t example.com.zone

8.2 DoH/DoT設定

# Cloudflare DoHエンドポイント
https://cloudflare-dns.com/dns-query

# Unbound設定例
server:
  tls-cert-bundle: "/etc/ssl/certs/ca-certificates.crt"
forward-zone:
  name: "."
  forward-addr: 1.1.1.1@853#cloudflare-dns.com
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?