İçeriğe geç

Ürün belgeleriSanallaştırma ve VDS

Windows VDS'te Hyper-V sanal makineleri çalıştırın

Windows VDS'e Hyper-V kurun, konuklara NAT anahtarıyla internet erişimi verin, ISO'dan Generation 2 sanal makine oluşturun ve dışarıdan ona port yönlendirin.

  • İleri
  • 40 dk okuma
  • Güncellendi
Bu sayfada
  1. Başlamadan önce
  2. 1. adım: Hyper-V'yi kurun
  3. 2. adım: NAT ağını oluşturun
  4. 3. adım: Generation 2 sanal makine oluşturun
  5. 4. adım: Konuğun ağını yapılandırın
  6. 5. adım: Konuğa dışarıdan ulaşın
  7. Sorun giderme
  8. Sonraki adımlar

İç içe sanallaştırma bir Windows VDS'in Hyper-V çalıştırmasını sağlar; böylece sunucunuzun içinde test makineleri, laboratuvarlar veya yalıtılmış ortamlar barındırabilirsiniz. Bu rehber Hyper-V'yi kurar, konuklar için bir NAT ağı oluşturur (VDS'inizin tek bir genel adresi vardır), ISO'dan bir sanal makine oluşturur ve bir konuk hizmetine dışarıdan ulaşılmasını sağlar. Önce iç içe sanallaştırmayı hızlıca kontrol etmek için bkz. VDS ve iç içe sanallaştırma.

Başlamadan önce

  • Windows Server 2022 veya 2025 çalışan bir VDS ya da nested dedicated sunucu; VPS paketleri iç içe sanallaştırma sunmaz.
  • Yönetici olarak Uzak Masaüstü erişimi.
  • Sunucuya kopyalanmış, konuk için bir kurulum ISO'su; örneğin C:\ISO\ubuntu-24.04-live-server-amd64.iso.
  • Konuğun sanal diski için yeterli boş disk alanı.

Örneklerde NAT ağı 192.168.100.0/24, ağ geçidi 192.168.100.1 ve konuğun adresi 192.168.100.10'dur.

1. adım: Hyper-V'yi kurun

PowerShell'i yönetici olarak açın:

PowerShell
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

Sunucu yeniden başlar. Uzak Masaüstü ile yeniden bağlanın.

Doğrulama: Get-WindowsFeature -Name Hyper-V [X] (kurulu) gösterir ve Hyper-V Manager açılır.

2. adım: NAT ağını oluşturun

Bir dahili anahtar oluşturun, sunucuya bu anahtarda ağ geçidi adresini verin ve ağ için NAT'ı açın:

PowerShell
New-VMSwitch -SwitchName "NATSwitch" -SwitchType Internal
Get-NetAdapter -Name "vEthernet (NATSwitch)"
New-NetIPAddress -IPAddress 192.168.100.1 -PrefixLength 24 -InterfaceAlias "vEthernet (NATSwitch)"
New-NetNat -Name "VMNAT" -InternalIPInterfaceAddressPrefix 192.168.100.0/24

Windows sunucu başına tek bir NAT ağını destekler; New-NetNat zaten bir tane olduğu için başarısız olursa Get-NetNat ile kontrol edin.

Doğrulama: Get-NetNat, VMNAT ağını 192.168.100.0/24 önekiyle listeler.

3. adım: Generation 2 sanal makine oluşturun

Sanal makineyi yeni bir sanal diskle oluşturun, ISO'yu bağlayın ve ondan açılmasını sağlayın:

PowerShell
New-VM -Name "ubuntu1" -Generation 2 -MemoryStartupBytes 4GB -NewVHDPath "C:\VMs\ubuntu1.vhdx" -NewVHDSizeBytes 40GB -SwitchName "NATSwitch"
Set-VMProcessor -VMName "ubuntu1" -Count 2
Add-VMDvdDrive -VMName "ubuntu1" -Path "C:\ISO\ubuntu-24.04-live-server-amd64.iso"
Set-VMFirmware -VMName "ubuntu1" -FirstBootDevice (Get-VMDvdDrive -VMName "ubuntu1")

Secure Boot kullanan Linux konuklarda sanal makineyi Microsoft UEFI sertifika yetkilisi şablonuna geçirin (Windows konuklar varsayılanı korur):

PowerShell
Set-VMFirmware -VMName "ubuntu1" -SecureBootTemplate MicrosoftUEFICertificateAuthority

Sanal makineyi başlatın ve konsolunu açın:

PowerShell
Start-VM -Name "ubuntu1"
vmconnect.exe localhost "ubuntu1"

4. adım: Konuğun ağını yapılandırın

Konuk işletim sistemini kurun. Kurulum ağı sorduğunda onu elle ayarlayın, çünkü NAT ağında DHCP yoktur:

AyarDeğer
Adres192.168.100.10/24
Ağ geçidi192.168.100.1
DNS sunucularıgenel çözümleyiciler, örneğin 1.1.1.1 ve 9.9.9.9

Doğrulama: konukta ping -c 3 1.1.1.1 ve ping -c 3 example.com yanıt alır.

5. adım: Konuğa dışarıdan ulaşın

Bir konuk portunu sunucunun bir portunda yayınlayın. Bu örnek sunucunun 2222 portunu konuktaki SSH'ye yönlendirir:

PowerShell
Add-NetNatStaticMapping -NatName "VMNAT" -Protocol TCP -ExternalIPAddress 0.0.0.0 -ExternalPort 2222 -InternalIPAddress 192.168.100.10 -InternalPort 22
New-NetFirewallRule -DisplayName "Guest SSH 2222" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 2222 -Profile Any

Bilgisayarınızdan ssh -p 2222 kullanici@203.0.113.10 (VDS'in genel adresi) ile bağlanın. Eşlemeleri Get-NetNatStaticMapping ile listeleyin, birini Remove-NetNatStaticMapping ile kaldırın.

Sorun giderme

Install-WindowsFeature, işlemcide sanallaştırma yetenekleri olmadığı için Hyper-V'nin kurulamayacağını bildiriyor. Uzantılar sunucuya görünmüyor; bkz. iç içe sanallaştırma sorunları.

Sanal makine ISO'dan açılmıyor veya "The image's hash and certificate are not allowed" gösteriyor. Linux konuklarda MicrosoftUEFICertificateAuthority şablonunu ayarlayın (3. adım). Açılış sırasını Get-VMFirmware -VMName "ubuntu1" ile kontrol edin.

Konuğun interneti yok. Konuğun adresini, ağ geçidini ve DNS'ini (4. adım) ve sunucuda Get-NetNat çıktısını kontrol edin. Yalnızca bir NAT ağı olabilir.

Yönlendirilen port yanıt vermiyor. Eşlemeyi (Get-NetNatStaticMapping), sunucudaki güvenlik duvarı kuralını ve konuğun kendi güvenlik duvarını kontrol edin. Sunucunun kendisinden değil, dışarıdan deneyin.

Konuklar yavaş. İç içe konukların ek yükü vardır. Onlara sabit bellek verin, vCPU sayısını makul tutun ve içlerinde ağır disk işinden kaçının.

Sonraki adımlar

Sık sorulan sorular

Neden harici anahtar değil de NAT?

Harici anahtar konukları sunucunun ağına köprüler; orada her konuğun kendi genel adresi olması gerekir. Tek adresle bir NAT ağı bu adresi paylaştırır: konuklar internete çıkar, siz de gereken portları port eşlemeleriyle yayınlarsınız.

Konuklar IP adreslerini otomatik alır mı?

Hayır. Windows NAT adres dağıtmaz; bu yüzden her konuğa NAT ağında statik bir IP adresi, varsayılan ağ geçidi olarak NAT ağ geçidini ve DNS sunucularını verin.

Bir konuğa kendi genel IP adresini verebilir miyim?

Ek bir IPv4 adresi sipariş edin ve kurmadan önce adresin sunucunuza nasıl yönlendirildiğini bir destek talebiyle bize sorun; kurulum, adresin sunucuya nasıl ulaştığına bağlıdır.

Kaç sanal makine çalıştırabilirim?

VDS'in belleği, vCPU'ları ve diski ne kadar izin veriyorsa. Sunucunun kendisi için bellek bırakın ve iç içe konukların sunucudan daha yavaş çalıştığını unutmayın.

Şifre Oluştur

Lütfen onaylayın