Azure NAT Ağ Geçidi bağlantısı sorunlarını giderme

Bu makalede, NAT ağ geçidinizle ilgili yaygın giden bağlantı sorunlarını giderme ve çözme hakkında yönergeler sağlanır. Bu makalede ayrıca, giden bağlantıları verimli bir şekilde kullanmak için uygulama tasarlamaya yönelik en iyi yöntemler sağlanır.

Bağlantı hatalarıyla NAT ağ geçidinde veri yolu kullanılabilirliği bırakma

Senaryo

BAĞLANTı hatalarıyla çakışan NAT ağ geçidinin veri yolu kullanılabilirliğindeki bir düşüşü gözlemlersiniz.

Olası nedenler

  • Kaynak Ağ Adresi Çevirisi (SNAT) bağlantı noktası tükenmesi.

  • Eşzamanlı SNAT bağlantı sınırları.

  • Bağlan ion zaman aşımları.

Sorun giderme adımları

  • Veri yolu kullanılabilirlik ölçümünü denetleyerek NAT ağ geçidinin durumunu değerlendirin.

  • SNAT Bağlan ion Count ölçümünü denetleyin ve bağlantı durumunu denenmiş ve başarısız bağlantılara göre bölün. Sıfırdan fazla başarısız bağlantı, SNAT bağlantı noktası tükenmesini veya NAT ağ geçidinin SNAT bağlantı sayısı sınırına ulaştığını gösterir.

  • Toplam SNAT Bağlan ion Sayısı ölçümünü doğrulayarak bağlantı sayısı ölçümünü sınırlar içinde olduğundan emin olun. NAT ağ geçidi, benzersiz bir hedefe IP adresi başına 50.000 eşzamanlı bağlantıyı ve toplamda 2 milyona kadar bağlantıyı destekler. Daha fazla bilgi için bkz . NAT Ağ Geçidi Performansı.

  • Bırakılan paket ölçümünü, bağlantı hatalarıyla veya yüksek bağlantı hacmiyle uyumlu olan paket bırakmaları için denetleyin.

  • İletim Denetimi Protokolü (TCP) boşta kalma zaman aşımı zamanlayıcı ayarlarını gerektiği gibi ayarlayın. Varsayılan değerden (4 dakika) daha uzun süre boyunca ayarlanan boşta kalma zaman aşımı zaman aşımı zamanlayıcısı, akışlarda daha uzun süre dayanır ve SNAT bağlantı noktası envanterinde fazladan baskı oluşturabilir.

SNAT bağlantı noktası tükenmesi veya eşzamanlı bağlantı sınırlarına basma için olası çözümler

  • Giden bağlantınızı ölçeklendirmek için NAT ağ geçidinize toplam 16 adede kadar genel IP adresi ekleyin. Her genel IP 64.512 SNAT bağlantı noktası sağlar ve NAT ağ geçidi için benzersiz hedef uç nokta başına 50.000'e kadar eşzamanlı bağlantıyı destekler.

  • Uygulama ortamınızı birden çok alt ağa dağıtıp her alt ağ için bir NAT ağ geçidi kaynağı sağlayın.

  • TCP boşta kalma zaman aşımı zamanlayıcısını daha düşük bir değere indirerek SNAT bağlantı noktası envanterini boşaltın. TCP boşta kalma zaman aşımı süreölçeri 4 dakikadan daha az ayarlanamaz.

  • Diğer işlemler için bağlantı kaynaklarını boşaltmak için zaman uyumsuz yoklama desenlerini göz önünde bulundurun.

  • Özel Bağlantı kullanarak Azure omurgası üzerinden Azure PaaS hizmetlerine bağlantı sağlayın. Özel bağlantı, İnternet'e giden bağlantılar için SNAT bağlantı noktalarını serbest tutar.

  • Araştırmanız sonuçsuz kalırsa daha fazla sorun gidermek için bir destek olayı açın.

Not

SNAT bağlantı noktası tükenmesi nedenini anlamak önemlidir. Ölçeklenebilir ve güvenilir senaryolar için doğru desenleri kullandığınızdan emin olun. Talebin nedenini anlamadan bir senaryoya daha fazla SNAT bağlantı noktası eklemek son çare olmalıdır. Senaryonuzun neden SNAT bağlantı noktası envanterinde baskı uyguladığını anlamıyorsanız, daha fazla IP adresi ekleyerek daha fazla SNAT bağlantı noktası eklemek yalnızca uygulamanızın ölçeklendirilmesiyle aynı tükenme hatasını geciktirecektir. Diğer verimsizlikleri ve anti-desenleri maskeliyor olabilirsiniz. Daha fazla bilgi için bkz . Giden bağlantıların verimli kullanımı için en iyi yöntemler.

TCP bağlantısı zaman aşımları için olası çözümler

Boşta kalan akışları yenilemek ve boşta kalma zaman aşımı zamanlayıcısını sıfırlamak için TCP korumalarını veya uygulama katmanı korumalarını kullanın. Örnekler için bkz . .NET örnekleri.

TCP korumalarının, bağlantıyı her iki taraftan da canlı tutmak için yalnızca bir bağlantının bir tarafından etkinleştirilmesi gerekir. Bağlantının bir tarafından tcp tutma gönderildiğinde, diğer taraf otomatik olarak bir onay (ACK) paketi gönderir. Boşta kalma zaman aşımı zaman aşımı zamanlayıcısı, bağlantının her iki tarafında da sıfırlanır.

Not

TCP boşta kalma zaman aşımını artırmak son çaredir ve sorunun kök nedenini çözmeyebilir. Uzun bir zaman aşımı gecikmeye neden olabilir ve zaman aşımı süresi dolduğunda gereksiz düşük hız hatalarına neden olabilir.

Kullanıcı Veri Birimi Protokolü (UDP) bağlantı zaman aşımları için olası çözümler

UDP boşta kalma zaman aşımı zamanlayıcıları 4 dakika olarak ayarlanır ve yapılandırılamaz. Uzun bağlantıları korumak için bir bağlantı akışındaki her iki yön için UDP korumalarını etkinleştirin. UDP tutma özelliği etkinleştirildiğinde, bağlantıda yalnızca bir yönde etkin olur. Bağlantı yine boşta kalabilir ve bağlantının diğer tarafında zaman aşımına neden olabilir. UDP bağlantısının boşta kalma zaman aşımını önlemek için, udp korumaları bir bağlantı akışındaki her iki yönde de etkinleştirilmelidir.

Uygulama katmanı korumaları, boşta kalan akışları yenilemek ve boşta kalma zaman aşımını sıfırlamak için de kullanılabilir. Uygulamaya özgü korumalar için hangi seçeneklerin mevcut olduğunu sunucu tarafında denetleyin.

NAT ağ geçidinde veri yolu kullanılabilirliği bırakılsa da bağlantı hatası yok

Senaryo

NAT ağ geçidinin veri yolu kullanılabilirliği düşer, ancak başarısız bağlantı gözlemlenmez.

Olası nedeni

Veri yolundaki kirlilik nedeniyle veri yolu kullanılabilirliğindeki geçici düşüş.

Sorun giderme adımları

Giden bağlantınızı etkilemeden veri yolu kullanılabilirliğindeki bir düşüş fark ederseniz, bunun nedeni NAT ağ geçidinin veri yolundaki geçici gürültüyü algılaması olabilir.

Veri yolu kullanılabilirliği bırakmaları için bir uyarı ayarlayın veya NAT Ağ Geçidi sistem durumu olaylarında uyarı vermek için Azure Kaynak Durumu kullanın.

İnternet’e giden bağlantı yok

Senaryo

NAT ağ geçidinizde giden bağlantı olmadığını gözlemlersiniz.

Olası nedenler

  • NAT ağ geçidi yanlış yapılandırması.

  • İnternet trafiği NAT ağ geçidinden uzağa yönlendirilir ve bir sanal gerecin ya da VPN veya ExpressRoute ile şirket içi hedefe zorlamalı tünel oluşturulur.

  • İnternet trafiğini engelleyen Ağ Güvenlik Grubu (NSG) kuralları yapılandırılır.

  • NAT ağ geçidi veri yolu kullanılabilirliği düşürüldü.

  • Etki Alanı Adı Sistemi (DNS) yanlış yapılandırması.

Sorun giderme adımları

  • NAT ağ geçidinin en az bir genel IP adresi veya ön ekiyle yapılandırılıp yapılandırılmadığını ve bir alt ağa bağlı olup olmadığını denetleyin. NAT ağ geçidi, bir genel IP ve alt ağ bağlanana kadar çalışmaz. Daha fazla bilgi için bkz . NAT ağ geçidi yapılandırmasının temelleri.

  • NAT ağ geçidine bağlı alt ağın yönlendirme tablosunu denetleyin. Ağ Sanal Gereci (NVA), ExpressRoute veya VPN Gateway'e zorlamalı olarak tünellenen tüm 0.0.0.0/0 trafiği NAT ağ geçidine göre önceliklidir. Daha fazla bilgi için bkz . Azure'ın bir yolu nasıl seçtiği.

  • Sanal makinenizde İnternet erişimini engelleyen ağ arabirimi için yapılandırılmış NSG kuralları olup olmadığını denetleyin.

  • NAT ağ geçidinin veri yolu kullanılabilirliğinin düzeyi düşürülmüş durumda olup olmadığını denetleyin. NAT ağ geçidinin düzeyi düşürülmüş durumdaysa bağlantı hatası sorunlarını giderme kılavuzuna bakın.

  • DNS düzgün çözümlenmiyorsa DNS ayarlarınızı denetleyin.

Giden bağlantı kaybı için olası çözümler

NAT ağ geçidi genel IP'si gidene bağlanmak için kullanılmaz

Senaryo

NAT ağ geçidi Azure sanal ağınıza dağıtılır, ancak giden bağlantılar için beklenmeyen IP adresleri kullanılır.

Olası nedenler

  • NAT ağ geçidi yanlış yapılandırması.

  • Sanal makinelerde Azure Load balancer veya örnek düzeyinde genel IP'ler gibi başka bir Azure giden bağlantı yöntemiyle etkin bağlantı. Etkin bağlantı akışları, bağlantı kurulduğunda atanan önceki genel IP adresini kullanmaya devam eder. NAT ağ geçidi dağıtıldığında, yeni bağlantılar NAT ağ geçidini hemen kullanmaya başlar.

  • Özel IP'ler, hizmet uç noktalarına veya Özel Bağlantı göre Azure hizmetlerine bağlanmak için kullanılır.

  • Depolama hesaplarına Bağlan, bağlantı oluşturduğunuz sanal makineyle aynı bölgeden gelir.

  • İnternet trafiği NAT ağ geçidinden uzağa yönlendiriliyor ve NVA veya güvenlik duvarına zorlamalı tünel uygulanıyor.

Sorun giderme

  • NAT ağ geçidinizde en az bir genel IP adresi veya ön ek ile en az bir alt ağ olduğundan emin olun.

  • NAT ağ geçidi dağıtıldıktan sonra genel Yük dengeleyici gibi önceki giden bağlantı yöntemlerinin hala etkin olup olmadığını doğrulayın.

  • Diğer Azure hizmetlerine yapılan bağlantıların Azure sanal ağınızdaki özel bir IP adresinden gelip gelmediğini denetleyin.

  • Diğer Azure hizmetlerine bağlanmak için Özel Bağlantı veya hizmet uç noktalarının etkinleştirilip etkinleştirilmediğini denetleyin.

  • Depolama bağlantısı kurarken sanal makinenizin Azure depolama ile aynı bölgede bulunduğundan emin olun.

  • Bağlantılar için kullanılan genel IP adresinin Azure sanal ağınızdaki Ağ Sanal Gereci (NVA) gibi başka bir Azure hizmetinden kaynaklandığını doğrulayın.

Gidene bağlanmak için kullanılmayan NAT ağ geçidi genel IP'sine yönelik olası çözümler

  • NAT ağ geçidine bir genel IP adresi veya ön ek ekleyin. NAT ağ geçidinin aynı sanal ağdan alt ağlara bağlı olduğundan emin olun. NAT ağ geçidinin gidene bağlanabildiğini doğrulayın.

  • Başka bir giden bağlantı yönteminden eski SNAT IP adreslerini tutan VM'lerle ilgili sorunları şu şekilde test edin ve çözün:

    • Yeni bir bağlantı kurduğundan ve mevcut bağlantıların işletim sisteminde yeniden kullanılamadığından veya tarayıcının bağlantıları önbelleğe almadığından emin olun. Örneğin, PowerShell'de curl kullanırken, yeni bir bağlantıyı zorlamak için -DisableKeepalive parametresini belirttiğinizden emin olun. Tarayıcı kullanıyorsanız bağlantılar da havuza alınabilir.

    • NAT ağ geçidine yapılandırılmış bir alt ağdaki bir sanal makineyi yeniden başlatmak gerekmez. Ancak, bir sanal makine yeniden başlatılırsa bağlantı durumu temizlenmiş olur. Bağlantı durumu temizlendiğinde, tüm bağlantılar NAT ağ geçidi kaynağının IP adresini veya adreslerini kullanmaya başlar. Bu davranış, yeniden başlatma gerektiğinin göstergesi değil, sanal makinenin yeniden başlatılmasının yan etkisidir.

    • Sorun yaşamaya devam ediyorsanız daha fazla sorun giderme için bir destek olayı açın.

  • 0.0.0.0/0 trafiğini NVA'ya yönlendiren özel yollar, trafiği İnternet'e yönlendirmek için NAT ağ geçidinden önceliklidir. NAT ağ geçidinin trafiği NVA yerine İnternet'e yönlendirmesini sağlamak için sanal gereci giden 0.0.0.0/0 trafiği için özel yolu kaldırın. 0.0.0.0/0 trafiği, varsayılan İnternet yolu kullanılarak sürdürülür ve bunun yerine NAT ağ geçidi kullanılır.

Önemli

Trafik rotalarında herhangi bir değişiklik yapmadan önce bulut mimarinizin yönlendirme gereksinimlerini dikkatle göz önünde bulundurun.

  • Azure depolama hesabıyla aynı bölgede dağıtılan hizmetler, iletişim için özel Azure IP adreslerini kullanır. Belirli Azure hizmetlerine erişimi, genel giden IP adresi aralığına göre kısıtlayamazsınız. Daha fazla bilgi için bkz . IP ağ kuralları kısıtlamaları.
  • Özel Bağlantı ve hizmet uç noktaları, NAT ağ geçidinin genel IP'si yerine Azure platform hizmetlerine bağlanmak için sanal ağınızdaki sanal makine örneklerinin özel IP adreslerini kullanır. NAT ağ geçidi ile İnternet üzerinden değil Azure omurgası üzerinden diğer Azure hizmetlerine bağlanmak için Özel Bağlantı kullanın.

Not

Özel Bağlantı, Azure'da barındırılan hizmetlere özel erişim için Hizmet uç noktaları üzerinden önerilen seçenektir.

Genel İnternet hedefinde Bağlan ion hataları

Senaryo

İnternet hedeflerine NAT ağ geçidi bağlantıları başarısız olur veya zaman aşımına neden olur.

Olası nedenler

  • Hedefte güvenlik duvarı veya diğer trafik yönetimi bileşenleri.

  • Hedef tarafı tarafından uygulanan API hızı sınırlaması.

  • Volumetric DDoS azaltmaları veya aktarım katmanı trafiği şekillendirme.

  • Hedef uç nokta parçalanmış paketlerle yanıt verir.

Sorun giderme

İnternet hedefinde bağlantı hataları için olası çözümler

  • NAT ağ geçidi genel IP'sinin hedefte izin verilenler olarak listelendiğini doğrulayın.

  • Yüksek hacimli veya işlem hızı testi oluşturuyorsanız oranın azaltılmasının hata oluşmasını azaltıp azaltmadığınızı keşfedin.

  • Bağlantı oranının azaltılması hataların oluşmasını azaltırsa hedefin API hız sınırlarına mı yoksa diğer kısıtlamalara mı ulaştığını denetleyin.

Etkin veya pasif mod için FTP sunucusunda Bağlan ion hataları

Senaryo

Etkin veya pasif FTP moduyla NAT ağ geçidi kullanılırken FTP sunucusunda bağlantı hataları görürsünüz.

Olası nedenler

  • Etkin FTP modu etkindir.

  • Pasif FTP modu etkin ve NAT ağ geçidi birden fazla genel IP adresi kullanıyor.

Etkin FTP modu için olası çözüm

FTP, bir istemci ile sunucu arasında komut ve veri kanalları olmak üzere iki ayrı kanal kullanır. Her kanal, biri komutları göndermek, diğeri de veri aktarmak için ayrı TCP bağlantılarında iletişim kurar.

Etkin FTP modunda istemci komut kanalını, sunucu ise veri kanalını oluşturur.

NAT ağ geçidi etkin FTP moduyla uyumlu değildir. Etkin FTP, FTP istemcisinden, FTP sunucusuna istemciye geri bağlanmak üzere veri kanalında kullanılacak IP adresini ve bağlantı noktasını bildiren bir PORT komutu kullanır. PORT komutu istemcinin özel adresini kullanır ve değiştirilemez. İstemci tarafı trafiği, internet tabanlı iletişim için NAT ağ geçidi tarafından SNATed olduğundan, PORT komutu FTP sunucusu tarafından geçersiz olarak görülür.

Etkin FTP moduna alternatif bir çözüm, bunun yerine pasif FTP modunu kullanmaktır. Ancak NAT ağ geçidini pasif FTP modunda kullanmak için dikkat edilmesi gereken bazı noktalar vardır.

Pasif FTP modu için olası çözüm

Pasif FTP modunda istemci, hem komut hem de veri kanallarında bağlantılar kurar. İstemci, istemciye geri bağlantı kurmaya çalışmak yerine sunucunun bir bağlantı noktasında yanıt vermesini ister.

Giden Pasif FTP, FTP sunucu yapılandırmanıza bağlı olarak birden çok genel IP adresine sahip NAT ağ geçidi için çalışmaz. Birden çok genel IP adresine sahip bir NAT ağ geçidi giden trafik gönderdiğinde, kaynak IP adresi için genel IP adreslerinden birini rastgele seçer. FTP sunucusu yapılandırmanıza bağlı olarak veri ve denetim kanalları farklı kaynak IP adresleri kullandığında FTP başarısız olur.

Olası pasif FTP bağlantı hatalarını önlemek için aşağıdaki adımları uygulayın:

  1. NAT ağ geçidinizin birden çok IP adresi veya bir ön ek yerine tek bir genel IP adresine eklendiğini doğrulayın.

  2. NAT ağ geçidinizdeki pasif bağlantı noktası aralığının hedef uç noktadaki tüm güvenlik duvarlarını geçirmesine izin verildiğinden emin olun.

Not

NAT ağ geçidinizdeki genel IP adresi miktarını azaltmak, giden bağlantılar yapmak için kullanılabilen SNAT bağlantı noktası envanterini azaltır ve SNAT bağlantı noktası tükenme riskini artırabilir. NAT ağ geçidinden genel IP adreslerini kaldırmadan önce SNAT bağlantı gereksinimlerinizi göz önünde bulundurun. FTP sunucusu ayarlarını farklı kaynak IP adreslerinden gelen denetim ve veri düzlemi trafiğini kabul etmek için değiştirmeniz önerilmez.

25 numaralı bağlantı noktasında giden bağlantılar engellendi

Senaryo

Basit Posta Aktarım Protokolü (SMTP) trafiği için 25 numaralı bağlantı noktasında NAT ağ geçidine giden bağlantı kurulamıyor.

Neden

Azure platformu, dağıtılan VM'ler için TCP bağlantı noktası 25'te giden SMTP bağlantılarını engeller. Bu blok, Microsoft iş ortakları ve müşterileri için daha iyi güvenlik sağlamak, Microsoft'un Azure platformlarını korumak ve endüstri standartlarına uymaktır.

Azure VM'lerinden veya Azure Uygulaması Hizmetinden e-posta göndermek için kimliği doğrulanmış smtp geçiş hizmetini kullanın. Daha fazla bilgi için bkz . Giden SMTP bağlantı sorunlarını giderme.

Diğer sorun giderme yönergeleri

Ek ağ yakalamaları

Araştırmanız sonuçsuz kalırsa sorun giderme işlemine devam etmek için bir destek olayı açın ve daha hızlı çözüm elde etmek için aşağıdaki bilgileri toplayın. NAT ağ geçidi yapılandırılmış alt ağınızda tek bir sanal makine seçin ve aşağıdaki testleri gerçekleştirin:

  • Sanal ağ içindeki arka uç VM'lerinden birini kullanarak ps ping yoklama bağlantı noktası yanıtını test edin ve sonuçları kaydedin (örnek: ps ping 10.0.0.4:3389).

  • Bu ping testlerinde yanıt alınmazsa, PsPing'i çalıştırırken arka uç sanal makinesinde ve sanal ağ testi sanal makinesinde eşzamanlı netsh izleme çalıştırın ve izlemeyi durdurun netsh .

Giden bağlantı en iyi yöntemleri

Azure, altyapısını büyük bir özenle izler ve çalıştırır. Ancak, dağıtılan uygulamalardan geçici hatalar oluşmaya devam edebilir ve kayıpsız iletim garantisi yoktur. NAT ağ geçidi, Azure dağıtımlarından son derece güvenilir ve dayanıklı giden bağlantı kurmak için tercih edilen seçenektir. Uygulama bağlantı verimliliğini iyileştirmek için makalenin devamında yer alan kılavuza bakın.

Bağlantı havuzunu kullanma

Bağlantılarınızı havuza aldığınızda, aynı adrese ve bağlantı noktasına yapılan çağrılar için yeni ağ bağlantıları açmaktan kaçınabilirsiniz. Uygulamanızda, isteklerin sabit bir bağlantı kümesine dahili olarak dağıtıldığı ve mümkün olduğunda yeniden kullanıldığı bir bağlantı havuzu düzeni uygulayabilirsiniz. Bu kurulum, kullanımdaki SNAT bağlantı noktalarının sayısını kısıtlar ve öngörülebilir bir ortam oluşturur. Bağlan ion havuzu, gecikme süresini ve kaynak kullanımını azaltmaya ve sonunda uygulamalarınızın performansını iyileştirmeye yardımcı olur.

HTTP bağlantılarını havuza alma hakkında daha fazla bilgi edinmek için bkz . HttpClientFactory ile HTTP bağlantılarını havuza alma.

Bağlantıları yeniden kullanma

Her istek için tek tek atomik TCP bağlantıları oluşturmak yerine, uygulamanızı bağlantıları yeniden kullanacak şekilde yapılandırın. Bağlan yeniden kullanılması daha performanslı TCP işlemlerine neden olur ve özellikle bağlantı yeniden kullanımı varsayılan olan HTTP/1.1 gibi protokoller için geçerlidir. Bu yeniden kullanım, REST gibi aktarımları olarak HTTP kullanan diğer protokoller için geçerlidir.

Daha az agresif yeniden deneme mantığı kullanma

SNAT bağlantı noktaları tükendiğinde veya uygulama hataları oluştuğunda, gecikme ve geri alma mantığı olmadan agresif veya deneme yanılma yeniden denemeleri tükenmenin oluşmasına veya kalıcı hale gelmesine neden olur. Daha az agresif bir yeniden deneme mantığı kullanarak SNAT bağlantı noktalarına olan talebi azaltabilirsiniz.

Yapılandırılan boşta kalma zaman aşımına bağlı olarak, yeniden denemeler çok agresifse, bağlantıların yeniden kullanım için SNAT bağlantı noktalarını kapatıp serbest bırakmak için yeterli zamanı yoktur.

Ek yönergeler ve örnekler için bkz . Yeniden deneme düzeni.

Giden boşta kalma zaman aşımını sıfırlamak için etkin tutmaları kullanma

Korumalar hakkında daha fazla bilgi için bkz . TCP boşta kalma zaman aşımı.

Mümkün olduğunda Özel Bağlantı, SNAT bağlantı noktalarına olan talebi azaltmak için doğrudan sanal ağlarınızdan Azure platform hizmetlerine bağlanmak için kullanılmalıdır. SNAT bağlantı noktalarına olan talebi azaltmak, SNAT bağlantı noktası tükenme riskini azaltmaya yardımcı olabilir.

Özel Bağlantı oluşturmak için başlamak için aşağıdaki Hızlı Başlangıç kılavuzlarına bakın:

Sonraki adımlar

Her zaman müşterilerimizin deneyimini geliştirmek için çalışıyoruz. Bu makale tarafından ele alınmayan veya çözümlenmemiş NAT ağ geçidi sorunlarıyla karşılaşırsanız, bu sayfanın alt kısmındaki GitHub üzerinden geri bildirim sağlayın.

NAT ağ geçidi hakkında daha fazla bilgi edinmek için bkz: