fatih@oktay

Hyper-V'de VLAN Yapılandırması ve Inter-VLAN Routing Testi

23.10.2026 #hyper-v #vlan #cisco #trunk #inter-vlan-routing #windows-server

Amaç

Tek fiziksel NIC’e sahip bir Hyper-V host üzerindeki sanal makineleri, Cisco Catalyst switch üzerindeki farklı VLAN’lara yerleştirmek ve VLAN’lar arası yönlendirmeyi (inter-VLAN routing) test etmek.

Topoloji

VLANAlt ağGateway (SVI)VM
10192.168.210.0/24192.168.210.1SERVER2025
20192.168.220.0/24192.168.220.1-
30192.168.230.0/24192.168.230.1NPSDC
  • Hyper-V host, switch üzerindeki Gi1/0/48 trunk portuna bağlı.
  • Yönlendirme, switch üzerindeki SVI’lar (L3) ile yapılıyor.
  • Sanal switch adı: EXT1 (External).
[SERVER2025 - VLAN 10] ─┐
                        ├─ vSwitch EXT1 ── Hyper-V host NIC ══ trunk ══ Gi1/0/48 [oba-1]
[NPSDC      - VLAN 30] ─┘                                              SVI: Vlan10/20/30

1. Switch Tarafı (Cisco Catalyst)

Host’a giden port trunk olmalı. VLAN’lar switch’te tanımlı ve SVI’lar up olmalı.

vlan 10
 name SERVER
vlan 20
 name CLIENT
vlan 30
 name NPS
!
interface Vlan10
 ip address 192.168.210.1 255.255.255.0
 no shutdown
interface Vlan20
 ip address 192.168.220.1 255.255.255.0
 no shutdown
interface Vlan30
 ip address 192.168.230.1 255.255.255.0
 no shutdown
!
ip routing
!
interface GigabitEthernet1/0/48
 description Hyper-V-Host-Trunk
 switchport mode trunk
 ! Güvenlik için sadece gerekli VLAN'lara izin ver:
 switchport trunk allowed vlan 10,20,30

Doğrulama:

oba-1#show interfaces trunk
oba-1#show ip interface brief

Çıktıda Gi1/0/48 trunking durumunda olmalı ve VLAN 1, 10, 20, 30 “allowed and active” görünmeli. Vlan10, Vlan20, Vlan30 arayüzleri up/up olmalı.

Switch trunk ve SVI çıktısı

Not: Trunk üzerinde allowed vlan varsayılan olarak 1-4094‘tür. Sadece kullanılan VLAN’lara izin vermek iyi bir pratiktir.

2. Hyper-V Tarafı

2.1 Sanal Switch

External tipinde bir sanal switch (EXT1) oluşturulur ve fiziksel NIC’e bağlanır. VLAN etiketleme VM seviyesinde yapılacağı için switch seviyesinde ayrıca bir VLAN ID girmeye gerek yoktur.

2.2 VM Network Adapter Üzerinde VLAN ID

VM Settings → Network Adapter → Enable virtual LAN identification kutusu işaretlenir ve ilgili VLAN ID yazılır.

SERVER2025 → VLAN ID 10

SERVER2025 VLAN 10

NPSDC → VLAN ID 30

NPSDC VLAN 30

2.3 PowerShell ile Yapılandırma

GUI yerine PowerShell ile aynı işlem:

# VM'e VLAN 10 ata (Access mode)
Set-VMNetworkAdapterVlan -VMName "SERVER2025" -Access -VlanId 10

# VM'e VLAN 30 ata
Set-VMNetworkAdapterVlan -VMName "NPSDC" -Access -VlanId 30

# Kontrol
Get-VMNetworkAdapterVlan -VMName "SERVER2025","NPSDC"

Birden fazla VLAN’ı tek bir VM arayüzünden taşımak gerekiyorsa (ör. router/firewall VM):

Set-VMNetworkAdapterVlan -VMName "FW-VM" -Trunk -AllowedVlanIdList "10,20,30" -NativeVlanId 0

Host’un (management OS) kendi arayüzünü bir VLAN’a almak için:

Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "EXT1" -Access -VlanId 10

3. VM IP Yapılandırması

VM içinde IP, ilgili VLAN’ın alt ağından verilir ve gateway olarak SVI IP’si kullanılır.

VMIPMaskeGateway
SERVER2025192.168.210.106255.255.255.0192.168.210.1
NPSDC192.168.230.10255.255.255.0192.168.230.1

4. Test: VLAN 10 → VLAN 30

SERVER2025 (VLAN 10) üzerinden NPSDC’ye (VLAN 30) ping:

C:\Users\Administrator> ping 192.168.230.10

Reply from 192.168.230.10: bytes=32 time=1ms TTL=127
Reply from 192.168.230.10: bytes=32 time=1ms TTL=127
Reply from 192.168.230.10: bytes=32 time=1ms TTL=127
Reply from 192.168.230.10: bytes=32 time=1ms TTL=127

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)

Ping testi

TTL=127 değeri önemli: Windows varsayılan TTL’i 128’dir, değerin 127 olması paketin tam 1 L3 hop (switch SVI) üzerinden geçtiğini, yani inter-VLAN routing’in çalıştığını gösterir.

Sorun Giderme Kontrol Listesi

  • Trunk portta ilgili VLAN’lar allowed ve active mi? (show interfaces trunk)
  • VLAN’lar switch’te oluşturulmuş mu? (show vlan brief)
  • SVI’lar up/up ve ip routing açık mı?
  • VM’de Enable virtual LAN identification işaretli ve doğru VLAN ID girilmiş mi?
  • VM’de gateway doğru SVI IP’si mi?
  • Windows Firewall ICMP’yi engelliyor mu? (Allow ICMPv4-In kuralı)
  • Hyper-V host NIC’i üzerinde VLAN ID girilmemiş mi? (Host’un fiziksel NIC’inde VLAN ID olursa trunk etiketleri bozulur.)

Sonuç

Trunk port + Hyper-V VM bazlı VLAN ID kombinasyonu ile tek fiziksel NIC üzerinden birden fazla VLAN’a hizmet vermek mümkün. Yönlendirme L3 switch üzerinde yapıldığı için VM’ler arası trafik TTL’de 1 hop düşüşüyle doğrulanabiliyor.