Kopiowanie portów w Hyper-V: przewodnik konfiguracji
Rozwiązywanie problemów to typowe zadanie administratorów systemów zajmujących się sieciami. Profesjonalny sprzęt sieciowy zazwyczaj posiada funkcje służące do monitorowania i rozwiązywania problemów, takie jak mirroring portów. Mirroring portów może być również przydatny do analizy ruchu sieciowego w środowiskach wirtualnych, w tym w sieciach wirtualnych na hostach Microsoft Hyper-V oraz w komunikacji sieciowej między maszynami wirtualnymi. W tym wpisie na blogu wyjaśniono, jak skonfigurować mirroring portów w Microsoft Hyper-V w celu analizy komunikacji sieciowej w środowisku wirtualnym.
Podstawowe pojęcia dotyczące kopiowania portów
Zanim wyjaśnimy, jak skonfigurować kopiowanie portów, przyjrzyjmy się kluczowym pojęciom, zasadzie działania oraz istniejącym funkcjom konfiguracyjnym platformy Hyper-V.
Czym jest kopiowanie portów?
Kopiowanie portów to funkcja umożliwiająca powielanie ruchu sieciowego z portu sieciowego hosta źródłowego na port sieciowy (kartę sieciową) hosta docelowego w celu dalszej analizy tego ruchu. Hostem może być maszyna fizyczna, maszyna wirtualna, urządzenie sieciowe z interfejsem sieciowym itp. Host źródłowy to w tym kontekście host, którego ruch sieciowy jest monitorowany. Port źródłowy nazywany jest również portem lustrzanym, a port docelowy — portem obserwowanym. Lustrzanie portów nazywane jest również analizatorem portów przełączanych (SPAN).
Rodzaje i korzyści
Lustrzanie portów może być lokalne lub zdalne, w zależności od trybu połączenia między portami. W przypadku lokalnego monitorowania portów porty źródłowe i docelowe są podłączone do tego samego przełącznika. Zdalne monitorowanie portów stosuje się, gdy porty źródłowe i docelowe są podłączone do różnych przełączników. W przypadku zdalnego monitorowania portów można wykorzystać tagowanie VLAN oraz enkapsulację GRE w celu przekazania ruchu sieciowego do monitorowanego portu i urządzenia.
Zaletą monitorowania portów jest możliwość analizowania i debugowania komunikacji sieciowej bez zakłócania działania aktywnych urządzeń sieciowych. Administratorzy mogą analizować ruch w celu identyfikacji potencjalnych ataków w sieci, wykrywania źródła ataku oraz poprawy bezpieczeństwa sieci. Korzystając z kopii lustrzanej portu, nie ma potrzeby przechwytywania ruchu sieciowego bezpośrednio w systemie operacyjnym gościa na działającej maszynie (może to być na przykład maszyna wirtualna w środowisku produkcyjnym).
Należy pamiętać, że kopia lustrzana portu zużywa dodatkową przepustowość sieciową do przesyłania kopii lustrzanej ruchu, dlatego może zaistnieć konieczność włączenia tej funkcji na żądanie, gdy trzeba przeprowadzić analizę sieci.
Kopiowanie portów a przekierowanie portów
Kopiowanie portów różni się od przekierowania portów tym, że w przypadku kopiowania portów ruch sieciowy, taki jak pakiety TCP lub datagramy UDP, nie może być przekierowywany. Ruch ten może być kopiowany (duplikowany), ale źródło i miejsce docelowe pierwotnego kierunku ruchu nie ulegają zmianie. Kopia pierwotnego ruchu jest wysyłana do miejsca docelowego w celu analizy. W przypadku przekierowania portów można zmienić miejsce docelowe ruchu (np. pakietów TCP lub datagramów UDP), dzięki czemu określone pakiety (lub inne jednostki danych protokołu) mogą dotrzeć do innego adresu IP i portu w sieciach IP. Przekierowanie portów jest stosowane w połączeniu z translacją adresów sieciowych (NAT) w celu umożliwienia komunikacji między sieciami. Nie jest tworzona żadna kopia oryginalnego ruchu.
Kopiowanie portów w Hyper-V
Można skorzystać z funkcji kopiowania portów w Hyper-V w celu analizy ruchu w sieciach wirtualnych, z którymi maszyny wirtualne są połączone za pośrednictwem przełączników wirtualnych. W celu analizy ruchu należy zdefiniować maszynę wirtualną docelową oraz zainstalować oprogramowanie do przechwytywania ruchu, takie jak Wireshark . W tym celu można również wykorzystać inne dostępne systemy wykrywania włamań (IDS).
Funkcja lustrzenia portów w Hyper-V jest podobna do sprzętowego lustrzenia portów, ale jest realizowana na poziomie przełącznika wirtualnego Hyper-V. W przełączniku wirtualnym Hyper-V wykorzystywane są funkcje rozszerzeń przełącznika oraz listy kontroli dostępu (ACL) portów w celu ustalenia reguł przekierowywania i monitorowania ruchu.
Kopiowanie portów działa wyłącznie w obrębie pojedynczego hosta Hyper-V. Jeśli maszyny wirtualne znajdują się na różnych hostach Hyper-V (na przykład w Trybie failover po migracji maszyny wirtualnej z jednego hosta na drugi), nie można skorzystać z kopiowania portów Hyper-V. W takim przypadku należy skonfigurować dodatkową maszynę wirtualną docelową do analizy sieci na drugim hoście Hyper-V, na który została przeniesiona maszyna źródłowa.
Przygotowanie do konfiguracji mirroringu portów
Należy zapoznać się z wymaganiami dotyczącymi konfiguracji mirroringu portów Hyper-V.
Wymagania wstępne i warunki konfiguracji
Poniżej przedstawiono wymagania dotyczące konfiguracji mirroringu portów w środowisku Hyper-V:
- System Windows Server 2012 R2 (lub nowszy) z usługą Hyper-V i uprawnieniami do administracji. Jako system operacyjny klienta można użyć systemu Windows 10 lub nowszego.
- Przełącznik wirtualny na hoście Hyper-V.
- Co najmniej dwie maszyny wirtualne w celu odzwierciedlenia (duplikacji) ruchu z maszyny źródłowej do maszyny docelowej.
Lista kontrolna sprzętu i oprogramowania
Wymagana jest instalacja narzędzia do monitorowania ruchu (analizatora ruchu) lub systemu wykrywania włamań na maszynie docelowej. Przykładami takich narzędzi są Wireshark, Microsoft Network Monitor, Ettercaporaz SmartSniff.
Kroki konfiguracyjne
Mamy dwie maszyny wirtualne z systemem Windows na hoście Hyper-V:
Wind0ws-VM– maszyna źródłowa ( 192.168.101.215 )Win-VM-Dest– maszyna docelowa ( 192.168.101.212 )
Host Hyper-V jest skonfigurowany w systemie Windows Server 2019. Konfiguracja dla innych obsługiwanych wersji systemu Windows jest identyczna.
Konfiguracja przełącznika wirtualnego
Można skorzystać z istniejącego przełącznika wirtualnego lub utworzyć nowy. Jeśli na hoście Hyper-V nie ma przełącznika wirtualnego, należy utworzyć nowy przełącznik wirtualny. Aby utworzyć przełącznik wirtualny, wykonaj następujące czynności:
- Otwórz Menedżer Hyper-V, kliknij prawym przyciskiem myszy host Hyper-V i wybierz opcję
Virtual Switch Managerz menu kontekstowego.
- Wybierz typ przełącznika wirtualnego i kliknij
Create Virtual Switch. W tym celu używamyvSwitch0, przełącznika zewnętrznego (sieć mostkowa). KliknijOK, aby zapisać ustawienia i zamknąć okno.
Konfigurowanie maszyny wirtualnej źródłowej
Gdy przełącznik wirtualny będzie gotowy, możesz skonfigurować maszynę wirtualną źródłową, której ruch chcesz monitorować.
- Aby otworzyć ustawienia maszyny wirtualnej źródłowej w Menedżerze Hyper-V, kliknij prawym przyciskiem myszy nazwę maszyny wirtualnej i wybierz opcję
Settingsz menu kontekstowego.
- W oknie ustawień maszyny wirtualnej przejdź do
Network Adapter > Advanced features. - W sekcji
Port MirroringwybierzSourcejako tryb mirroringu z menu rozwijanego. Ta czynność włącza mirroring portów Hyper-V dla portu podłączonego przełącznika wirtualnego, do którego podłączony jest bieżący port maszyny wirtualnej. KliknijOK, aby zapisać ustawienia.
- Zapamiętaj nazwę przełącznika wirtualnego, do którego podłączona jest karta sieciowa maszyny źródłowej. Zaletą jest to, że można skonfigurować więcej niż jedną maszynę wirtualną źródłową w celu analizy ruchu wszystkich maszyn wirtualnych na maszynie docelowej.
Kolejnym etapem jest skonfigurowanie maszyny docelowej, do której będzie lustrzane odzwierciedlany (duplikowany) ruch sieciowy.
Konfiguracja maszyny docelowej
Zalecaną praktyką jest utworzenie dodatkowej karty sieciowej na maszynie docelowej oraz wyłączenie wszystkich usług sieciowych dla tej karty w celu uzyskania bardziej precyzyjnej analizy. Takie podejście pozwala uzyskać pełny zrzut ruchu sieciowego po wyłączeniu niepotrzebnych usług i protokołów sieciowych.
- Wyłącz maszynę wirtualną docelową, jeśli jest uruchomiona.
- Aby otworzyć ustawienia maszyny wirtualnej docelowej, kliknij prawym przyciskiem myszy nazwę maszyny wirtualnej w Menedżerze Hyper-V i wybierz opcję
Settings. - Kliknij opcję
Add hardwarew lewym panelu okna ustawień maszyny wirtualnej, wybierz opcjęNetwork adapteri kliknijAdd.
- Wybierz przełącznik wirtualny, do którego zostanie podłączona druga karta sieciowa. Musi to być ten sam przełącznik wirtualny, do którego podłączona jest pierwsza (źródłowa) maszyna wirtualna. W naszym przypadku jest to
vSwitch0. KliknijOK, aby zapisać ustawienia i zamknąć okno.
- Ponownie otwórz ustawienia docelowej maszyny wirtualnej.
- Wybierz drugą kartę sieciową utworzoną na potrzeby mirroringu portów i diagnostyki ruchu (na liście sprzętu maszyny wirtualnej w lewym panelu) i przejdź do
Network adapter > Advanced features. - W sekcji
Port mirroringwybierzDestinationjako tryb dublowania, aby odbierać dublowany ruch sieciowy. KliknijOK.
- Włącz maszyny wirtualne.
- Połącz się z docelową maszyną wirtualną, która została utworzona w celu odbierania i analizowania ruchu (za pomocą maszyny wirtualnej Hyper-V lub RDP).

- Otwórz
Network and sharing centerw docelowej maszynie wirtualnej z systemem Windows. KliknijChange adapter settings. - Wybierz drugą kartę sieciową utworzoną do analizy ruchu (dla wygody możesz zmienić nazwę tej karty na
LAN2-SPAN). - Kliknij prawym przyciskiem myszy kartę sieciową i wybierz opcję
Properties.
Teraz możesz zainstalować i skonfigurować oprogramowanie do analizy ruchu sieciowego, takie jak WireShark, na docelowej maszynie wirtualnej.
Instalacja narzędzia do analizy ruchu
- Pobierz oraz zainstaluj
Wiresharkna docelowej maszynie wirtualnej. Proces instalacji jest prosty dzięki kreatorowi GUI – możesz skorzystać z ustawień domyślnych. - Uruchom
Wiresharkna docelowej maszynie wirtualnej. - Kliknij dwukrotnie kartę sieciową utworzoną specjalnie do dublowania portów i analizy ruchu sieciowego (
LAN2-SPAN) w oknieWireshark.
- Teraz możesz zobaczyć aktywność sieciową maszyny wirtualnej źródłowej (adres IP tej maszyny to 192.168.101.215). Wyślijmy polecenie ping do google.com z maszyny źródłowej.
- Widzimy żądania i odpowiedzi ICMP wysyłane do i odbierane z adresu 142.251.208.110, który w tej chwili jest adresem IP hosta google.com.

- Dla większej wygody można włączyć filtr, na przykład wybierając opcję ICMP.

To jest podstawowy przykład. Można monitorować i analizować inne działania sieciowe przy użyciu innych protokołów.
PowerShell
System operacyjny Windows Server umożliwia również konfigurację i zarządzanie mirroringiem portów Hyper-V w PowerShell.
Aby włączyć mirroring portów na maszynie wirtualnej źródłowej i docelowej, należy odpowiednio uruchomić polecenia:
Set-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring Source
Set-VMNetworkAdapter -VMName Win-VM-Dest -PortMirroring Destination
Aby wyłączyć mirroring portów dla maszyny wirtualnej: Set-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring None
Aby sprawdzić ustawienia mirroringu portów dla maszyn wirtualnych:
(Get-VMNetworkAdapter -VMName Wind0ws-VM).PortMirroringMode
(Get-VMNetworkAdapter -VMName Win-VM-Dest).PortMirroringMode
Można skorzystać z poniższych poleceń, aby wyświetlić informacje pomocy:
Get-Help Set-VMNetworkAdapter
Get-Help Set-VMNetworkAdapter -full
Get-Help Set-VMNetworkAdapter -detailed
Get-Help Set-VMNetworkAdapter -examples
Poniższe polecenia mogą okazać się przydatne podczas konfiguracji mirroringu portów:
Add-VMNetworkAdapter – dodaj nową wirtualną kartę sieciową dla maszyny wirtualnej
Get-NetAdapter – wyświetl listę kart sieciowych dla maszyny wirtualnej
Rename-Netadapter – zmień nazwę wirtualnej karty sieciowej maszyny wirtualnej
Wnioski
Konfigurację mirroringu portów w Hyper-V można wygodnie przeprowadzić w graficznym interfejsie użytkownika Menedżera Hyper-V lub w PowerShellu. Należy przestrzegać wymagań i pamiętać o ograniczeniach, takich jak lokalizacja maszyn wirtualnych źródłowych i docelowych na jednym hoście Hyper-V. Konieczne może być skonfigurowanie dodatkowych maszyn docelowych z narzędziem do analizy ruchu na hostach Hyper-V w Trybie failover. Wireshark to wygodne i popularne narzędzie do analizy ruchu, ale w razie potrzeby można skorzystać z innych narzędzi.