Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konu, Anycast DNS'nin nasıl çalıştığı hakkında bilgi sağlar.
Anycast nedir?
Anycast, her birine aynı IP adresi atanmış bir uç nokta grubuna birden çok yönlendirme yolu sağlayan bir teknolojidir. Gruptaki her cihaz bir ağda aynı adresi tanıtıyor ve en iyi hedefi seçmek için yönlendirme protokolleri kullanılıyor.
Anycast, aynı IP adresinin arkasına birkaç düğüm yerleştirerek ve bu düğümler arasındaki trafiği yönlendirmek için eşit maliyetli çoklu yol (ECMP) yönlendirme kullanarak DNS veya HTTP gibi durum bilgisi olmayan bir hizmeti ölçeklendirmenize olanak tanır. Anycast, her uç noktanın kendi IP adresine sahip olduğu tek noktaya yayından farklıdır.
Anycast neden DNS ile kullanılır?
Anycast DNS ile, DNS istemcisinin coğrafi konumuna göre DNS sorgularına yanıt vermek için bir DNS sunucusunu veya bir sunucu grubunu etkinleştirebilirsiniz. Bu, DNS yanıt süresini artırabilir ve DNS istemci ayarlarını basitleştirebilir. Anycast DNS ayrıca ek bir yedeklilik katmanı sağlar ve DNS hizmet reddi saldırılarına karşı korumaya yardımcı olabilir.
Anycast DNS nasıl çalışır?
Anycast DNS, tercih edilen bir DNS sunucusuna veya DNS sunucusu grubuna (örneğin, yük dengeleyici tarafından yönetilen bir DNS sunucusu grubu) DNS sorguları göndermek için Sınır Ağ Geçidi Protokolü (BGP) gibi yönlendirme protokollerini kullanarak çalışır. Bu tasarım, bir istemciye en yakın DNS sunucusundan DNS yanıtları alarak DNS iletişimlerini iyileştirebilir.
Anycast ile, birden çok coğrafi konumda bulunan sunucuların her biri yerel ağ geçidine (yönlendirici) tek ve aynı IP adresini tanıtır. BIR DNS istemcisi Anycast adresine yönelik bir sorgu başlattığında, kullanılabilir yollar değerlendirilir ve DNS sorgusu tercih edilen konuma gönderilir. Genel olarak, bu konum ağ topolojisine göre en yakın konumdur. Aşağıdaki örneğe bakın.
Figure 1: Example Anycast network
- Ağdaki farklı sitelerde bulunan dört DNS sunucusu (mavi daireler), her biri kendi yerel yönlendirme cihazına aynı Anycast IP adresini duyurur (gösterilmez).
- Yollar ağdaki cihazlar arasında paylaşılır (siyah oklar).
- BIR DNS istemci cihazı (yeşil daire), Anycast IP adresine bir DNS sorgusu gönderir.
- İstemcinin DNS isteği ağdaki bir yönlendirme cihazı tarafından alınır (gösterilmez).
- Yönlendirme cihazı, Anycast IP adresine giden kullanılabilir yolları analiz eder ve kullanılabilir en kısa yolu kullanarak DNS sorgusunu yönlendirir.
- DNS sorgusu en yakın DNS sunucusuna (mavi ok) gönderilir.
Anycast DNS, bugün birçok global DNS hizmetinin DNS trafiğini yönlendirmek için yaygın olarak kullanılmaktadır. Örneğin, kök DNS sunucusu sistemi büyük ölçüde Anycast DNS'ye bağlıdır. Anycast birçok farklı yönlendirme protokolüyle de çalışır ve yalnızca intranetlerde kullanılabilir.
Windows Server yerel BGP Anycast tanıtımı
Aşağıdaki yordam, Windows Server'daki yerel BGP'nin Anycast DNS ile nasıl kullanılabileceğini gösterir.
Requirements
- Hyper-V rolü yüklenmiş bir fiziksel cihaz.
- Windows Server 2012 R2, Windows 10 veya üzeri.
- 2 istemci VM (herhangi bir işletim sistemi).
- DIG gibi DNS için BIND araçlarının yüklenmesi önerilir.
- 3 sunucu vm'leri (Windows Server 2016 veya Windows Server 2019).
- Windows PowerShell LoopbackAdapter modülü sunucu VM'lerinde (DC001, DC002) zaten yüklü değilse, bu modülü yüklemek için geçici olarak İnternet erişimi gerekir.
Hyper-V setup
Hyper-V sunucunuzu aşağıdaki gibi yapılandırın:
- 2 özel sanal anahtar ağı yapılandırıldı
- Sahte İnternet ağı 131.253.1.0/24
- Sahte intranet ağı 10.10.10.0/24
- 131.253.1.0/24 ağına 2 istemci VM eklenmiştir
- 10.10.10.0/24 ağına 2 sunucu VM'leri eklenmiştir
- 1 sunucu çift girişlidir ve hem 131.253.1.0/24 hem de 10.10.10.0/24 ağlarına bağlanır.
Sanal makine ağ yapılandırması
Sanal makinelerde ağ ayarlarını aşağıdaki ayarlarla yapılandırın:
- Client1, client2
- Client1: 131.253.1.1
- Client2: 131.253.1.2
- Alt ağ maskesi: 255.255.255.0
- DNS: 51.51.51.51
- Gateway: 131.253.1.254
- Ağ Geçidi (Windows Server)
- NIC1: 131.253.1.254, alt ağ 255.255.255.0
- NIC2: 10.10.10.254, alt ağ 255.255.255.0
- DNS: 51.51.51.51
- Ağ geçidi: 131.253.1.100 (demo için yoksayılabilir)
- DC001 (Windows Sunucusu)
- NIC1: 10.10.10.1
- Subnet: 255.255.255.0
- DNS: 10.10.10.1
- Gateway: 10.10.10.254
- DC002 (Windows Sunucusu)
- NIC1: 10.10.10.2
- Subnet 255.255.255.0
- DNS: 10.10.10.2*
- Gateway: 10.10.10.254
*DC002 için etki alanına katılma işlemi gerçekleştirirken BAŞLANGıÇTA DNS için 10.10.10.1 kullanın, böylece DC001'de Active Directory etki alanını bulabilirsiniz.
Configure DNS
Aşağıdaki sunucu rollerini yüklemek ve iki sunucunun her birinde statik bir DNS bölgesi oluşturmak için Sunucu Yöneticisi'ni ve DNS yönetim konsolunu veya Windows PowerShell'i kullanın.
- DC001, DC002
- Active Directory Etki Alanı Hizmetleri'ni yükleme ve etki alanı denetleyicisine yükseltme (isteğe bağlı)
- DNS rolünü yükleme (gerekli)
- Create a static zone (non-AD integrated) named zone.tst on both DC001 and DC002
- Add the single static record name server in the zone of type “TXT”
- Data (text) for the TXT record on DC001 = DC001
- Data (text) for the TXT record on DC002 = DC002
Geri döngü bağdaştırıcılarını yapılandırın
Geri döngü bağdaştırıcılarını yapılandırmak için DC001 ve DC002'deki yükseltilmiş bir Windows PowerShell istemine aşağıdaki komutları girin.
Note
The Install-Module command requires Internet access. Bu, VM'yi Hyper-V'deki bir dış ağa geçici olarak atayarak yapılabilir.
$primary_interface = (Get-NetAdapter |?{$_.Status -eq "Up" -and !$_.Virtual}).Name
$loopback_ipv4 = '51.51.51.51'
$loopback_ipv4_length = '32'
$loopback_name = 'Loopback'
Install-Module -Name LoopbackAdapter -MinimumVersion 1.2.0.0 -Force
Import-Module -Name LoopbackAdapter
New-LoopbackAdapter -Name $loopback_name -Force
$interface_loopback = Get-NetAdapter -Name $loopback_name
$interface_main = Get-NetAdapter -Name $primary_interface
Set-NetIPInterface -InterfaceIndex $interface_loopback.ifIndex -InterfaceMetric "254" -WeakHostReceive Enabled -WeakHostSend Enabled -DHCP Disabled
Set-NetIPInterface -InterfaceIndex $interface_main.ifIndex -WeakHostReceive Enabled -WeakHostSend Enabled
Set-NetIPAddress -InterfaceIndex $interface_loopback.ifIndex -SkipAsSource $True
Get-NetAdapter $loopback_name | Set-DNSClient –RegisterThisConnectionsAddress $False
New-NetIPAddress -InterfaceAlias $loopback_name -IPAddress $loopback_ipv4 -PrefixLength $loopback_ipv4_length -AddressFamily ipv4
Disable-NetAdapterBinding -Name $loopback_name -ComponentID ms_msclient
Disable-NetAdapterBinding -Name $loopback_name -ComponentID ms_pacer
Disable-NetAdapterBinding -Name $loopback_name -ComponentID ms_server
Disable-NetAdapterBinding -Name $loopback_name -ComponentID ms_lltdio
Disable-NetAdapterBinding -Name $loopback_name -ComponentID ms_rspndr
Sanal makine yönlendirme yapılandırması
Yönlendirmeyi yapılandırmak için VM'lerde aşağıdaki Windows PowerShell komutlarını kullanın.
- Gateway
Install-WindowsFeature RemoteAccess -IncludeManagementTools
Install-RemoteAccess -VpnType RoutingOnly
Add-BgpRouter -BgpIdentifier “10.10.10.254” -LocalASN 8075
Add-BgpPeer -Name "DC001" -LocalIPAddress 10.10.10.254 -PeerIPAddress 10.10.10.1 -PeerASN 65511 –LocalASN 8075
Add-BgpPeer -Name "DC002" -LocalIPAddress 10.10.10.254 -PeerIPAddress 10.10.10.2 -PeerASN 65511 –LocalASN 8075
- DC001
Install-WindowsFeature RemoteAccess -IncludeManagementTools
Install-RemoteAccess -VpnType RoutingOnly
Add-BgpRouter -BgpIdentifier “10.10.10.1” -LocalASN 65511
Add-BgpPeer -Name "Labgw" -LocalIPAddress 10.10.10.1 -PeerIPAddress 10.10.10.254 -PeerASN 8075 –LocalASN 65511
Add-BgpCustomRoute -Network 51.51.51.0/24
- DC002
Install-WindowsFeature RemoteAccess -IncludeManagementTools
Install-RemoteAccess -VpnType RoutingOnly
Add-BgpRouter -BgpIdentifier "10.10.10.2" -LocalASN 65511
Add-BgpPeer -Name "Labgw" -LocalIPAddress 10.10.10.2 -PeerIPAddress 10.10.10.254 -PeerASN 8075 –LocalASN 65511
Add-BgpCustomRoute -Network 51.51.51.0/24
Summary diagram
Figure 2: Lab setup for native BGP Anycast DNS demo
Anycast DNS gösterimi
Ağ geçidi sunucusunda BGP yönlendirmesini doğrulama
PS C:\> Get-BgpRouteInformation
DestinationNetwork NextHop LearnedFromPeer State LocalPref MED
------------------ ------- --------------- ----- --------- ---
51.51.51.0/24 10.10.10.1 DC001 En İyi
51.51.51.0/24 10.10.10.2 DC002 En İyiİstemci1 ve istemci2'de 51.51.51.51'e ulaşabildiğinizi doğrulayın
PS C:\> ping 51.51.51.51
32 bayt veri ile 51.51.51.51 ping işlemi:
Yanıt: 51.51.51.51: bytes=32 time<1ms TTL=126
Yanıt: 51.51.51.51: bytes=32 time<1ms TTL=126
Yanıt: 51.51.51.51: bytes=32 time<1ms TTL=126
Yanıt: 51.51.51.51: bytes=32 time<1ms TTL=12651.51.51.51 için ping istatistikleri:
Paketler: Gönderilen = 4, Alınan = 4, Kayıp = 0 (0% kayıp),
Milisaniye cinsinden yaklaşık gidiş dönüş süreleri:
Minimum = 0ms, Maksimum = 0ms, Ortalama = 0msNote
Ping başarısız olursa ICMP'yi engelleyen güvenlik duvarı kuralı olmadığını da denetleyin.
client1 ve client2'de, TXT kaydını sorgulamak için nslookup veya dig kullanın. Her ikisine de örnekler gösterilir.
PS C:\> dig server.zone.tst TXT +short
PS C:\> nslookup -type=txt server.zone.tst 51.51.51.51
İstemcilerden biri "DC001" ve diğer istemci "DC002" görüntüleyerek Anycast'ın düzgün çalıştığını doğrular. Ağ geçidi sunucusundan da sorgulayabilirsiniz.
Ardından, DC001'de Ethernet bağdaştırıcısını devre dışı bırakın.
PS C:\> (Get-NetAdapter).Name
Loopback
Ethernet 2
PS C:\> Disable-NetAdapter "Ethernet 2"
Confirm
Bu eylemi gerçekleştirmek istediğinizden emin misiniz?
Disable-NetAdapter 'Ethernet 2'
[Y] Evet [A] Tümüne Evet [N] Hayır [L] Tümüne Hayır [S] Askıya Alma [?] Yardım (varsayılan olarak "Y"):
PS C:\> (Get-NetAdapter).Status
Up
DisabledDaha önce DC001'den yanıt alan DNS istemcilerinin DC002'ye geçtiğini onaylayın.
PS C:\> nslookup -type=txt server.zone.tst 51.51.51.51
Server: UnKnown
Address: 51.51.51.51server.zone.tst metin =
"DC001"
PS C:\> nslookup -type=txt server.zone.tst 51.51.51.51
Server: UnKnown
Address: 51.51.51.51server.zone.tst metin =
"DC002"
Ağ geçidi sunucusunda Get-BgpStatistics kullanarak BGP oturumunun DC001'de kapandığını onaylayın.
DC001'de Ethernet bağdaştırıcısını yeniden etkinleştirin ve BGP oturumunun geri yüklendiğini ve istemcilerin DC001'den DNS yanıtları aldığını doğrulayın.
Note
Yük dengeleyici kullanılmıyorsa, bireysel bir istemci mevcutsa aynı arka uç DNS sunucusunu kullanır. Bu, istemci için tutarlı bir BGP yolu oluşturur. For more information, see section 4.4.3 of RFC4786: Equal-Cost Paths.
Sıkça sorulan sorular
S: Anycast DNS, şirket içi DNS ortamında kullanmak için iyi bir çözüm mü?
Y: Anycast DNS, şirket içi DNS hizmetiyle sorunsuz çalışır. However, Anycast isn't required for the DNS service to scale.
S: Çok sayıda etki alanı denetleyicisi (ör. >50) olan bir ortamda Anycast DNS uygulamasının etkisi nedir?
Y: İşlevselliği doğrudan etkilemez. Yük dengeleyici kullanılırsa, etki alanı denetleyicilerinde başka bir yapılandırma gerekmez.
S: Anycast DNS yapılandırması Microsoft müşteri hizmetleri tarafından destekleniyor mu?
Y: DNS sorgularını iletmek için Microsoft dışı bir yük dengeleyici kullanıyorsanız, Microsoft DNS Sunucusu hizmetiyle ilgili sorunları destekler. DNS iletmeyle ilgili sorunlar için yük dengeleyici satıcısına başvurun.
S: Çok sayıda (örneğin: >50) etki alanı denetleyicisine sahip Anycast DNS için en iyi yöntem hangisidir?
Y: En iyi yöntem, her coğrafi konumda bir yük dengeleyici kullanmaktır. Yük dengeleyiciler genellikle bir dış satıcı tarafından sağlanır.
S: Anycast DNS ve Azure DNS benzer işlevlere sahip mi?
Y: Azure DNS Anycast kullanır. Anycast'ı Azure DNS ile kullanmak için yük dengeleyicinizi istekleri Azure DNS sunucusuna iletecek şekilde yapılandırın.