Halka açık olmayan Azure kaynaklarınıza (örn. Sanal makineler) erişmek istiyorsanız, istemcinizi VPN yoluyla Azure’ye bağlamak kesinlikle yararlıdır. Birkaç kez kullanmış olduğum bir başka kullanım örneği, AppService veya Azure işlevi ile kurum içi kaynaklar arasındaki bağlantıyı test etmekti. Yerel istemcime erişebildiğim zaman, uygulama hizmetinden sanal ağa olan bağlantıyı da çalıştıracağını ve VPN ağ geçidininin temel ağ yapılandırmasının (bir sanal makine yaratmaya gerek kalmadan) tamamlandığına işaret etti.
Müşterinizi VPN üzerinden Azure’ye bağlamak için gerekli adımlar şunlardır:
- Sanal ağ oluştur
- VPN ağ geçidi oluştur
- Noktadan Noktaya VPN’yi Yapılandırma
- VPN ağ geçidi için sertifika oluştur
- İstemci için sertifika oluştur
- Bağla ve Test Et
1. Adım: Sanal ağ oluşturun
Sanal ağın oluşturulması oldukça basittir. Göz önüne alınması gereken önemli bir şey var – bu, adres alanının ve alt ağ adresi aralığının boyutu. Önceden belirlenmiş olan bu adres alanlarının yeterince büyük olması nedeniyle daha önce değiştirilemeyecek kadar çok kaynak varsa. Azure App Service’ı sanal ağı nasıl bağlayacağımhakkında bir blog yazısı yazdım . Teknik olarak bir Point-to-Site bağlantısı kullandığı için aynıdır. Aradaki fark, müşterileri birbirine bağlayacağımız ve bahsedilen blog yazısında bir uygulama hizmeti bağladık. Mesaj, ağ tasarımıyla ilgili biraz daha detaylı açıklayan bir bölüm içeriyor. Kısa özet şöyledir:
- Sanal ağ adres alanı , en azından bir varsayılan alt ağa ve bir ağ geçidi alt ağına sahip olması için yeterince büyük olmalıdır . Ağ geçidi alt ağında en az 29 (8 adres) olması gerekir, en az 28 (16 adres) veya daha iyi / 27 (32 adres) öneririm. Birden fazla ağa (VPN, ExpressRoute) bağlanmak istiyorsanız ve daha önce belirtildiği gibi bunlara ihtiyacınız olacak – daha sonra değiştiremezsiniz. Dolayısıyla, VPN / ExpressRoute bağlantısı da dahil olmak üzere şebekeyi silmeniz ve hepsini yeniden oluşturmanız gerekir. Silmek yerine, başka bir sanal ağ oluşturabilir ve varolan ağ ile eşleştirebilirsiniz. Ancak gereksiz yere karmaşık hale getiriyor.
- İstemci IP’ler sanal ağ adres alanının parçası değildir. Noktadan Konanla VPN yoluyla bağlı olan istemcilerin sanal ağ adres alanının bir parçası olan bir IP’ye sahip değilsiniz. Noktadan noktaya VPN için ayrı bir adres alanı yapılandıracaksınız – bu yüzden ağ yapılandırmanızında (özellikle Güvenlik Duvarı, Yönlendirici ve diğerleri)
- Azure, kullanılamayan her alt ağdan 5 özel IP adresi ayırır. Adres alanının ilk ve son adresi ile dahili kullanım için 3 adres (DHCP, DNS).
Yapılandırmam aşağıdaki gibi görünecek:
- Sanal ağ adres alanı : 10.1.0.0/16 (10.1.0.0 – 10.1.255.255)
- Varsayılan alt ağ : 10.1.0.0/24 (10.1.0.0 – 10.1.0.255)
- Ağ geçidi alt ağı: 10.1.1.0/24 (10.1.1.0 – 10.1.1.255)
- Noktadan Noktaya VPN adres alanı : 10.2.0.0/24 (10.2.0.0 – 10.2.0.255)
Adres alanları biraz büyük olabilir, ancak benim durumumda önemli değil. Adres alanınızın tamamını 256 adresle sınırlamak isterseniz, bu blog yazısının “Ağ tasarımı” bölümüne göz atın: Azure Uygulama Hizmeti’ni sanal ağa bağlayın.
2. Adım: Sanal ağ geçidi oluşturun
Sanal ağ kuruldu ve çalışıyor, bu nedenle sanal ağ geçidini (VPN ağ geçidi) oluşturmanın zamanı geldi. Yukarıda belirtilen yapılandırmayı ve basit bir VPN bağlantısını benim kullanım durumum için tamamen yeterli olacağından kullanacağım. Daha fazla enerjiye ihtiyacınız varsa Standart veya daha hızlı bağlantıları kullanabilirsiniz. Ağ geçidi türü Rota tabanlı kullanım durumum için iyi. Kurum içi sunucularınıza site-site bağlantısı kurmayı planlıyorsanız, ağ geçidi türü kurum içi VPN cihazınızın gereksinimlerine bağlıdır ( https://docs.microsoft.com/en-us/). azure / vpn-gateway / vpn-ağ geçidi-hakkında-vpn-cihazları .)
3. Adım: Noktadan Noktaya VPN’yi Yapılandırma
Sanal ağ geçidi, Site-to-Site VPN bağlantısı ve Noktadan-Sıra Site bağlantıları için kullanılacaktır. Şimdi sanal ağ ağ geçidine gidelim ve Noktadan Noktaya ayarları kontrol edelim. Adres havuzuna girin (benim durumumda 10.2.0.0/24) ve şunu kaydedin:
4. Adım: VPN için sertifika oluşturun
Bağlantı için kendinden imzalı bir sertifika kullanacağım , ancak kuruluş sertifikanızı da kullanabilirsiniz. Kendi kendine imzalanan sertifika oluşturulması iki yoldan yapılabilir:
- makecert.exe : Makecert.exe zaten yüklüyse kullanabilirsiniz, ancak makecert önerilmemektedir. Powershell’in (New-SelfSignedCertificate’i desteklemeyen) daha eski bir sürümüne sahipseniz, makecert doğru olanıdır. Makecert henüz kurulmadıysa – Powershell’e gidin. Makecert’i kullanarak sertifika nasıl oluşturulacağı ile ilgili açıklama burada: https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-certificates-point-to-site-makecert
- Powershell : Veya Powershell kullanarak sertifika oluşturmak için önerilen yolu kullanın . Bu blog yazısında da yapacağım şey budur. Nasıl yapılacağına ilişkin açıklama burada bulunabilir: https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-certificates-point-tosite
Powershell’i kullanarak kendinden imzalı bir sertifika oluşturmak için en hızlı yol, bence aşağıdaki komutu kullanmaktır:
1 2 3 4 |
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature -Subject "CN=codehollow" -KeyExportPolicy Exportable -HashAlgorithm sha256 -KeyLength 2048 -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign $certdata = $cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Cert) # exports the certificate and stores the byte array in certdata $certstring = [Convert]::ToBase64String($certdata) # converts the exported certificate into a base64 string $certstring | clip # sends the base64 string to the clipboard |
Kendinden imzalı bir sertifika oluşturur ve onu dize olarak dışa aktarır (panoya). Powershell oturumunu kapatmayın, çünkü istemci sertifikasını oluşturmak için daha sonra ihtiyacımız vardır. Bunun yerine Azure portalına dönün ve pano içeriğini “Genel sertifika verileri” alanına yapıştırın . Yararlı bir isim verin ve kaydedin.
Zaten VPN istemcisini indirebilirsiniz. Hâlâ devre dışı bırakıldıysa (gri), bağlantılarda gezinip sitenize giriş yapılandırmasına geri dönün (yalnızca yeniden yükleyin) ve onu indirebilir ve yükleyebilirsiniz.
5. Adım: İstemci sertifikasını oluşturun
Muhtemelen bağlanmaya çalıştınız ve hata ile başarısız oldunuz:
Bu Genişletilebilir Kimlik Doğrulama Protokolüyle kullanılabilen bir sertifika bulunamadı. (Hata 798) .
Öyleyse öncelikle istemci sertifikasını oluşturalım. Önceki adımda kullandığınız Powershell oturumunu tekrar kullanın ve yürütün:
1 |
New-SelfSignedCertificate -Type Custom -KeySpec Signature -Subject "CN=codehollowclient" -KeyExportPolicy Exportable -HashAlgorithm sha256 -KeyLength 2048 -CertStoreLocation "Cert:\CurrentUser\My" -Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2") |
Bu, istemci sertifikasını oluşturacaktır. Bundan sonra, Azure sanal ağınıza bağlanabilmelisiniz.
VPN sertifikası ve istemci sertifikası oluşturmak için komut dosyası
Hızlı kopyala yapıştırma için – burada, vpn sertifikası ve bir istemci sertifikası oluşturmak için komut dosyası bulunur. Uygulama sonrasında, pano içeriğini Point-To-Site yapılandırmasının kök sertifikalarına yapıştırın:
1 2 3 4 5 |
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature -Subject "CN=codehollow" -KeyExportPolicy Exportable -HashAlgorithm sha256 -KeyLength 2048 -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign $certdata = $cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Cert) # exports the certificate and stores the byte array in certdata $certstring = [Convert]::ToBase64String($certdata) # converts the exported certificate into a base64 string $certstring | clip # sends the base64 string to the clipboard New-SelfSignedCertificate -Type Custom -KeySpec Signature -Subject "CN=codehollowclient" -KeyExportPolicy Exportable -HashAlgorithm sha256 -KeyLength 2048 -CertStoreLocation "Cert:\CurrentUser\My" -Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2") # creates the client certificate |
6. Adım: Bağlan ve Denetle
VPN’ye bağlanın ve Azure portalındaki Noktadan noktaya yapılandırma sekmesini yenileyin. Artık yeni bir Tahsis edilmiş IP adresi (benim durumumda 10.2.0.1) görmelisin. Sanal ağınızda sanal makinelerinize veya başka bir servise ping yapmanız da gerekir.
Son Yorumlar