Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Understanding Split Brain DNS

71 views

Published on

Understanding and organizing about Split Brain DNS

Published in: Software
  • Be the first to comment

Understanding Split Brain DNS

  1. 1. .NETラボ 2019 10月勉強会 小鮒 通成
  2. 2. Split-Brain DNS機能とは  DNSクライアントからのクエリー条件によって、名前解 決するIPアドレスを指定できる →クライアント条件によって、名前解決セットを個別に 指定できる  DNSクライアントからのクエリー条件によって、DNS再 帰の有無を指定できる →同じDNSサーバー上で、コンテンツサーバー/キャッ シュサーバーの使い分けができる  DNSクライアントからのクエリー条件によって、DNS ゾーン転送の有無を指定できる → DNSサーバーの特定ゾーンを、インターフェースやサ ブネットで転送制御できる
  3. 3. 自己紹介です  都内Sierに勤務し、Windows認証基盤のコンサル・ 設計・構築・トラブルシュートなどをやっています。  Technetフォーラムで、ときどき回答しています。  商業誌でWindows記事の寄稿を行うことがあります。  MSMVP Enterprise Mobilityを受賞しています(MVP 受賞回数17回+α)。  秋葉原によく現れます。最近久しぶりにCOREi9 9900Kで自作PC作りました…。
  4. 4. Split-Brain DNSの必要条件  Windows Server 2016以降が必要 →DNSサーバーの「DNSポリシー」機能で実行する ため  Active Directoryは必須でない →Active Directory環境ではZone情報の展開が簡単 要するに「Windows Server 2016 / 2019 DNSサーバー」 だけで実施可能。
  5. 5. Split-Brain DNSの利用シーン  アプリケーション負荷分散  ジオロケーションによるトラフィック制御  DNS分離  フィルタリング  フォレンジック(隔離)  現在時刻によるリダイレクト処理
  6. 6. Split-Brain DNSのコンポーネント(1)  ゾーンスコープ →特定の条件時にアクセス先として指定される、ス コープ化されたゾーン。通常ゾーン内の隠しゾーン のイメージ。  (スコープされた)リソースレコード →ゾーンスコープ内に格納されるリソースレコード。 ゾーンスコープにアクセスされた際、スコープ内の リソースレコードのみ、検索の対象となる。  DNSポリシー(名前解決ポリシー) →ゾーンスコープにアクセスさせる「条件」の定義 セット。レジストリ値に直接設定され、GPOとは無 関係。
  7. 7. Split-Brain DNSのコンポーネント(2)  クライアントサブネット →アクセス元クライアントのIPアドレスセットの定 義。アクセスする際の「条件」に使用する。  再帰スコープ →特定の条件時にDNS再帰を許可/拒否する、スコー プ化された再帰設定。 再帰設定内の隠し再帰設定の イメージ。  DNSポリシー(再帰ポリシー) →再帰スコープにアクセスさせる「条件」の定義 セット。レジストリ値に直接設定され、GPOとは無 関係。
  8. 8. Split-Brain DNSの格納データ  ゾーンスコープ  (スコープ化された)リソースレコード →DNSゾーン内で設定  DNSポリシー  クライアントサブネット  再帰スコープ →DNSサービスのレジストリで設定
  9. 9. Split-Brain DNSの動作 1. クライアントからのDNSクエリーが解析され、 「条件に合致したポリシー」があるかどうかを評 価する。 2. 条件に合うDNSポリシーがある場合、その条件と 紐付いたゾーンスコープ「だけ」をDNSサーバー は参照し、そこにあるリソースレコードを検索す る。 3. 該当するレコードが存在「する」場合、そのレ コードを結果として返却し、該当するレコードが 存在「しない」場合、「レコードなし」を結果と して返却する。 4. そもそも条件に合うDNSポリシーが存在「しな い」場合、ゾーンスコープを除いた「通常のDNS
  10. 10. ゾーンスコープの動作イメージ DNSサーバー 通常ゾーン ゾーンスコープ A DNSポリシーA 条件 A クライアントA chab2k19dc00 A 172.20.11.194 ゾーンスコープ B chab2k19dc00 A 192.168.1.194 DNSポリシー B 条件B chab2k19sv99 A 192.168.1.50 クライアントB クライアントC 条件A/ chab2k19dc00は? 条件B/ chab2k19dc00は?
  11. 11. 再帰スコープの動作イメージ DNSサーバー 再帰設定 再帰スコープ DNSポリシー 条件 A クライアントA ○再帰を許可する ×再帰を拒否する クライアントB 条件A/ www.microsoft.comは?
  12. 12. DNSポリシーのフィールド(1) 種類 内容 説明 コメント Name - ポリシー名 256文字以下で ファイルにつけら れる文字ならOK State Enable Disabled ポリシーの有効/無効 デフォルトは有効 -Disableで指定 Level Server Zone ポリシーのレベル ゾーンを指定する とゾーンレベルに なる Processing order 数値 ポリシーの優先順序 同じレベル・適用 項目のポリシーは 一意の番号が必要 Action Allow Deny Ignore ポリシーの条件(許可/拒否) Allow(ゾーン) Deny(Server)
  13. 13. DNSポリシーのフィールド(2) 種類 内容 説明 コメント Criteria 条件式 (eq/ne) 基準となる 要素(別表) ポリシー条件(AND / OR) およびポリシーが適用され るための基準リスト -eq,<要素>,<要素> =or条件 -ne,<要素>,<要素> =not and条件 Scope ゾーンス コープ名 重み付けの 数値 ゾーンスコープとスコープ ごとの重み付けのリスト。 重み付けは、負荷分散の分 散に使用される リストに重みが3 のdatacenter1と重 みが5の datacenter2がある 場合、datacentre1 からのレコードで 8つの要求のうち3 回応答する
  14. 14. DNSポリシーのフィールド(3) 種類 内容 説明 コメント Apply on recursion - ApplyOnRec ursion 再帰スコープに再帰設定を 適用するフラグ - ApplyOnRecursio n Recursion Scope 再帰スコー プ名 再帰スコープのリスト。 -
  15. 15. Criteriaの各要素(1) 種類 内容 説明 例 Client Subnet - クライアントサブネット名 (要定義) eq,Spain,France ne,Canada,Mexico Transport Protocol TCP UDP トランスポート名 eq,TCP eq,UDP Internet Protocol IPv4 IPv6 IPバージョン名 eq,IPv4 eq,IPv6 Server Interface IP address IPアドレス アクセス先NICのIPアドレ ス eq,10.0.0.1 eq,192.168.1.1 FQDN FQDN(ワイ ルドカード 可) LookupするFQDN名 eq,www.contoso.c om eq,*.contoso.com,* .woodgrove.com
  16. 16. Criteriaの各要素(2) 種類 内容 説明 例 Query Type A/SRV/TXT/ MX etc Lookupするレコードタイプ eq,TXT,SRV eq,MX Time of Day <開始時間>- <終了時間> クエリの発生時刻 eq,10:00- 12:00,22:00-23:00
  17. 17. ケース1 - 名前解決の制御
  18. 18. ゾーンスコープの構成  Add-DNSServerZoneScope -Name "External" - ZoneName "dotnet.adfstan.com"  Add-DNSServerZoneScope -Name "Internal" - ZoneName "dotnet.adfstan.com"
  19. 19. リソースレコードの構成  Add-DNSServerResourceRecord -A -Name "chab2k19dc00" -IPv4Address "172.20.11.194" - ZoneScope "External" -ZoneName "dotnet.adfstan.com"  Add-DNSServerResourceRecord -A -Name "chab2k19dc00" -IPv4Address "192.168.1.194" - ZoneScope "Internal" -ZoneName "dotnet.adfstan.com"
  20. 20. 名前解決ポリシーの構成  Add-DNSServerQueryResolutionPolicy -Name "SplitBrainExternal" -Action Allow -ServerInterfaceIP "EQ,172.20.11.194" -FQDN "EQ,chab2k19dc00.dotnet.adfstan.com" -ZoneScope "Internal,1" -ZoneName "dotnet.adfstan.com"  Add-DNSServerQueryResolutionPolicy -Name "SplitBrainInternal" -Action Allow -ServerInterfaceIP "EQ,192.168.1.194" -FQDN "EQ,chab2k19dc00.dotnet.adfstan.com" -ZoneScope “External,1" -ZoneName “dotnet.adfstan.com"
  21. 21. ケース2 – DNS再帰の制御
  22. 22. クライアントサブネットの構成  Add-DNSServerClientSubnet -Name "InternetAccess" -IPv4Subnet "192.168.1.0/24"
  23. 23. 再帰スコープの構成  Set-DNSServerRecursionScope -Name "." - EnableRecursion $False  Add-DNSServerRecursionScope -Name "AvailableRecursion" -EnableRecursion $True
  24. 24. 再帰ポリシーの構成  Add-DNSServerQueryResolutionPolicy -Name "AllowRecursion" -Action Allow -ApplyOnRecursion - RecursionScope "AvailableRecursion" -ClientSubnet "EQ,InternetAccess"
  25. 25. DNSサーバーのキャッシュ無効化  HKLMSystemCurrentControlSetServicesDNSPara meters!MaxCacheTtl  REG_DWORD: 0x0 設定しない場合、InternetAccessのコンピューターが 名前解決した内容が、他のコンピューターにもアクセ スできてしまう。
  26. 26. ケース3 – ゾーン転送の制御
  27. 27. クライアントサブネットの構成  Add-DnsServerClientSubnet -Name "AllowedSubnet" -IPv4Subnet 172.21.33.0/24
  28. 28. ゾーン転送ポリシーの構成  Add-DnsServerZoneTransferPolicy -Name "NorthAmericaPolicy" -Action IGNORE -ClientSubnet "ne,AllowedSubnet" →Serverレベルの設定  Add-DnsServerZoneTransferPolicy -Name "InternalTransfers" -Action IGNORE - ServerInterfaceIP "eq,10.0.0.33" -PassThru -ZoneName "contoso.com" →ゾーンレベルの設定 引用: https://docs.microsoft.com/en-us/windows-server/networking/dns/deploy/dns-policies-overview
  29. 29. 参考情報  DNS Policies Overview https://docs.microsoft.com/en-us/windows- server/networking/dns/deploy/dns-policies-overview  DNS Policy Scenario Guide https://docs.microsoft.com/en-us/windows- server/networking/dns/deploy/dns-policy-scenario- guide

×