Kopiowanie portów w Hyper-V: przewodnik konfiguracji
Rozwiązywanie problemów to częste zadanie administratorów systemów zajmujących się sieciami. Profesjonalny sprzęt sieciowy zazwyczaj posiada funkcje monitorowania i diagnozowania problemów, takie jak kopia lustrzana portów. Kopia lustrzana portów może być również przydatna do analizowania ruchu sieciowego w środowiskach wirtualnych, w tym w sieciach wirtualnych na hostach Microsoft Hyper-V oraz komunikacji sieciowej między maszynami wirtualnymi. W tym wpisie na blogu wyjaśniono, jak skonfigurować kopię lustrzaną portów w Microsoft Hyper-V w celu analizowania komunikacji sieciowej w środowisku wirtualnym.
Podstawowe pojęcia dotyczące kopii lustrzanej portów
Zanim wyjaśnimy, jak skonfigurować kopię lustrzaną portów, przyjrzyjmy się kluczowym pojęciom, zasadzie działania oraz istniejącym funkcjom konfiguracyjnym Hyper-V.
Czym jest kopia lustrzana portów?
Kopia lustrzana portów to funkcja umożliwiająca powielanie ruchu sieciowego z portu sieciowego hosta źródłowego na port sieciowy (karta sieciowa) hosta docelowego w celu dalszej analizy tego ruchu. Hostem może być maszyna fizyczna, maszyna wirtualna, sprzęt sieciowy z interfejsem sieciowym itp. Host źródłowy to host, którego ruch sieciowy jest monitorowany w tym kontekście. Port źródłowy nazywany jest również portem lustrzanym, a port docelowy — portem obserwowanym. Kopiowanie portów jest również określane jako Switched Port Analyzer (SPAN).
Rodzaje i korzyści
Kopiowanie portów może być lokalne lub zdalne, w zależności od trybu połączenia między portami. W przypadku lokalnego mirroringu portów porty źródłowe i docelowe są podłączone do tego samego przełącznika. Zdalne monitorowanie portów jest stosowane, gdy porty źródłowe i docelowe są podłączone do różnych przełączników. Do zdalnego monitorowania portów można wykorzystać tagowanie VLAN i enkapsulację GRE w celu przesłania ruchu sieciowego do monitorowanego portu i urządzenia.
Zaletą monitorowania portów jest możliwość analizowania i debugowania komunikacji sieciowej bez wpływu na działanie aktywnych urządzeń sieciowych. Administratorzy mogą analizować ruch w celu identyfikacji potencjalnych ataków w sieci, wykrywania źródła ataku i poprawy bezpieczeństwa sieci. Korzystając z mirroringu portów, 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 mirroring portów zużywa dodatkową przepustowość sieciową do przesyłania ruchu z mirroringu i może być konieczne włączenie 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, ponieważ w przypadku kopiowania portów nie można przekierować ruchu sieciowego, takiego jak pakiety TCP lub datagramy UDP. Ruch 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 użyć funkcji kopiowania portów w Hyper-V do analizy ruchu w sieciach wirtualnych, z którymi maszyny wirtualne są połączone za pośrednictwem przełączników wirtualnych. Aby przeprowadzić analizę 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 mirroringu portów w Hyper-V jest podobna do sprzętowego mirroringu 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 ACL (listy dostępu) portów do ustalania reguł przekierowywania i monitorowania ruchu.
Kopiowanie portów działa tylko w obrębie jednego 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 użyć 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 wirtualna ź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ć Windows 10 lub nowszego.
- Przełącznik wirtualny na hoście Hyper-V.
- Co najmniej dwie maszyny wirtualne do dublowania (kopiowania) ruchu z maszyny źródłowej do maszyny docelowej.
Lista kontrolna sprzętu i oprogramowania
Wymagana jest instalacja sniffera ruchu (analizatora ruchu) lub systemu wykrywania włamań na maszynie docelowej. Przykładami takich narzędzi są Wireshark, Microsoft Network Monitor, Ettercaporaz SmartSniff.
Kroki konfiguracji
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 użyć 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
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.
Konfiguracja maszyny wirtualnej źródłowej
Gdy przełącznik wirtualny jest 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
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ą do analizy ruchu wszystkich maszyn wirtualnych na maszynie docelowej.
Kolejnym etapem jest skonfigurowanie maszyny wirtualnej docelowej, do której ruch sieciowy będzie lustrzany (duplikowany).
Konfiguracja maszyny docelowej
Zalecaną praktyką jest utworzenie dodatkowej karty sieciowej na maszynie docelowej i wyłączenie wszystkich usług sieciowych dla tej karty w celu uzyskania dokładniejszej 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
Add hardwarew lewym panelu okna ustawień maszyny wirtualnej, wybierzNetwork 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ą do kopii lustrzanej 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 mirroringu, aby odbierać mirrowany ruch sieciowy. KliknijOK.
- Włącz maszyny wirtualne.
- Połącz się z docelową maszyną wirtualną, która została utworzona do 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 analizatora ruchu
- Pobierz i zainstaluj
Wiresharkna docelowej maszynie wirtualnej. Proces instalacji jest prosty w kreatorze GUI – możesz użyć ustawień domyślnych. - Uruchom
Wiresharkna docelowej maszynie wirtualnej. - Kliknij dwukrotnie kartę sieciową utworzoną specjalnie do mirroringu portów i analizy ruchu sieciowego (
LAN2-SPAN) w oknieWireshark.
- Teraz możesz zobaczyć aktywność sieciową maszyny wirtualnej źródłowej (adres IP maszyny źródłowej to 192.168.101.215). Wyślijmy ping do google.com z maszyny źródłowej.
- Widzimy żądania i odpowiedzi ICMP wysyłane do/od 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 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 kopii lustrzanej portów dla maszyn wirtualnych:
(Get-VMNetworkAdapter -VMName Wind0ws-VM).PortMirroringMode
(Get-VMNetworkAdapter -VMName Win-VM-Dest).PortMirroringMode
Możesz użyć 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
Następujące polecenia mogą być przydatne podczas konfiguracji mirroringu portów:
Add-VMNetworkAdapter – dodaj nową kartę sieciową dla maszyny wirtualnej
Get-NetAdapter – wyświetl listę kart sieciowych dla maszyny wirtualnej
Rename-Netadapter – zmień nazwę karty sieciowej maszyny wirtualnej
Wnioski
Konfigurację mirroringu portów Hyper-V można wygodnie przeprowadzić w graficznym interfejsie użytkownika Menedżera Hyper-V lub w PowerShell. 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 wirtualnych docelowych z narzędziem do analizy ruchu na hostach Hyper-V w Trybie failover. Wireshark jest wygodnym i popularnym narzędziem do analizy ruchu, ale w razie potrzeby można użyć innych narzędzi.