Lab 01

VirtualBox · Debian Stable · Internal Network

Komunikacja dwóch hostów

Zbuduj izolowane laboratorium dwóch hostów Debian Stable, ustaw przykładowe statyczne IPv4, sprawdź routing, przetestuj ping i połącz się przez SSH.

1

Cel ćwiczenia

Po wykonaniu ćwiczenia potrafisz połączyć wiedzę z działu Wirtualizacja z podstawami Sieci komputerowych. Pracujesz na dwóch maszynach Debian Stable bez potrzeby dostępu do sieci fizycznej.

  • utworzyć dwie maszyny Debian Stable w VirtualBox.
  • podłączyć obie VM do tej samej VirtualBox Internal Network.
  • skonfigurować przykładową statyczną adresację IPv4.
  • sprawdzić interfejsy i routing poleceniami ip.
  • przetestować komunikację ping w obu kierunkach.
  • wykonać połączenie SSH z VM1 do VM2.
  • zdiagnozować typowe błędy konfiguracji.
2

Wymagania

Jeżeli maszyny Debian nie są jeszcze przygotowane, wykonaj najpierw pełną instrukcję instalacji. Lab 01 nie powtarza całego 15-krokowego kursu instalacyjnego.

Pełna instrukcja instalacji Debian Stable
  • • działający VirtualBox,
  • • dwie maszyny Debian Stable utworzone z poprzedniego materiału,
  • • zainstalowany pakiet SSH server na maszynie VM2,
  • • konto użytkownika, w przykładach używane jako student,
  • • snapshot przed zmianą konfiguracji sieci.
W Lab 01 zakładamy gotowe maszyny Debian Stable z pakietem SSH server na VM2.
0

Rejestracja stanu przed laboratorium

Wykonaj ten etap na obu maszynach przed zmianą trybu kart i konfiguracji IPv4. Snapshot VirtualBox jest dodatkowym punktem powrotu, ale nie jest backupem i nie zastępuje poniższej kopii konfiguracji.

STATE="$HOME/lab01-state"
umask 077
mkdir -p "$STATE"
date --iso-8601=seconds > "$STATE/recorded-at.txt"
ip -br link > "$STATE/link.before"
ip -br address > "$STATE/address.before"
ip route show table all > "$STATE/routes.before"

if sudo test -e /etc/network/interfaces; then
  printf 'present
' > "$STATE/interfaces.marker"
  sudo cp -a /etc/network/interfaces "$STATE/interfaces.before"
else
  printf 'absent
' > "$STATE/interfaces.marker"
fi

Na hoście, przy wyłączonych VM, zapisz dla każdej maszyny stan opcji Attached to, nazwę sieci, numer adaptera i stan kabla. Możesz również zapisać wynik poniższego polecenia uruchomionego na hoście, a nie w Debianie.

VBoxManage showvminfo "debian-vm1" --machinereadable > lab01-vm1-before.txt
VBoxManage showvminfo "debian-vm2" --machinereadable > lab01-vm2-before.txt

Oczekiwany rezultat: każda VM ma własny katalog ~/lab01-state, a ustawienia obu kart VirtualBox są zapisane poza maszynami. Zachowaj te dane do końca ćwiczenia.

3

Topologia

Obie maszyny są podłączone do tej samej nazwanej sieci lab-siec. Adresacja jest przykładowa i dotyczy wyłącznie tego laboratorium.

Sieć
192.168.50.0/24
Debian VM1
192.168.50.11/24
Debian VM2
192.168.50.12/24
Brama i DNS
nie są wymagane do testu VM1 ↔ VM2 po adresach IP.
Przykładowa topologia laboratorium: VM1 i VM2 w jednej sieci Internal Network.
4

Przygotowanie VM1

Uruchom pierwszą maszynę Debian Stable i zaloguj się na konto użytkownika. Nadaj jej rozpoznawalną nazwę, na przykład debian-vm1, jeśli taki krok jest przewidziany przez prowadzącego.

Student może utworzyć i zainstalować dwie osobne VM albo przygotować pierwszą VM, wyłączyć ją, a następnie utworzyć drugą zgodnie z przyjętym sposobem pracy w VirtualBox. Ten lab nie dodaje osobnej procedury klonowania.

ip address show
ip link show
VM1 w przykładzie nosi nazwę debian-vm1.
5

Przygotowanie VM2

Uruchom drugą maszynę Debian Stable, na przykład debian-vm2. To ona będzie celem testu SSH, dlatego sprawdzisz później usługę serwera SSH właśnie na VM2.

ip address show
systemctl status ssh
VM2 w przykładzie nosi nazwę debian-vm2 i będzie celem połączenia SSH.
6

Konfiguracja Internal Network

Wyłącz obie maszyny. W ustawieniach każdej VM wybierz kartę sieciową i ustaw tryb Internal Network. W obu przypadkach wpisz tę samą nazwę: lab-siec.

Po zapisaniu ustawień uruchom obie maszyny. Jeżeli nazwy sieci będą różne, maszyny znajdą się w dwóch odseparowanych segmentach i ping nie zadziała.

Obie maszyny muszą używać tej samej nazwy Internal Network: lab-siec.
7

Konfiguracja IPv4 VM1

Debian może zarządzać siecią przez różne narzędzia, na przykład plik /etc/network/interfaces, NetworkManager albo konfigurację dostarczoną przez obraz. W tym laboratorium wybieramy prosty wariant z plikiem /etc/network/interfaces. Najpierw potwierdź nazwę interfejsu poleceniem ip link show.

auto <interfejs>
iface <interfejs> inet static
    address 192.168.50.11/24

W tej sieci nie dodawaj przykładowej bramy domyślnej ani DNS, bo ćwiczenie sprawdza komunikację lokalną VM1 ↔ VM2.

Najpierw odczytaj aktualną konfigurację i nazwę interfejsu.
8

Konfiguracja IPv4 VM2

Na drugiej maszynie użyj tego samego mechanizmu i tej samej nazwy Internal Network, ale innego adresu z tej samej przykładowej podsieci.

auto <interfejs>
iface <interfejs> inet static
    address 192.168.50.12/24

Po zmianie zastosuj konfigurację zgodnie z używanym mechanizmem albo uruchom maszynę ponownie.

9

Sprawdzenie interfejsów

Na obu maszynach sprawdź, czy właściwy interfejs istnieje, jest w stanie UP i ma oczekiwany adres IPv4.

ip link show
ip address show
Polecenie ip link show pomaga sprawdzić stan interfejsu.
10

Sprawdzenie routingu

W prostym laboratorium bez routera wystarczy trasa do lokalnej sieci 192.168.50.0/24. Brak trasy domyślnej nie blokuje pingów między VM1 i VM2.

ip route show
Wystarczy lokalna trasa do przykładowej sieci 192.168.50.0/24.
11

Test ping VM1 → VM2

Na VM1 wyślij cztery pakiety ICMP do przykładowego adresu VM2. Odpowiedzi potwierdzają łączność w kierunku VM1 → VM2.

ping -c 4 192.168.50.12
12

Test ping VM2 → VM1

Na VM2 wykonaj test w drugą stronę. Ten krok pomaga wykryć pomyłki adresacji albo problem lokalnej zapory.

ping -c 4 192.168.50.11
13

Test SSH

Na VM2 sprawdź usługę SSH. Następnie z VM1 połącz się z VM2 na konto student. Adres w poleceniu jest przykładowy dla tego laboratorium.

systemctl status ssh
ssh student@192.168.50.12
VM2 musi mieć działającą usługę SSH, a VM1 łączy się po adresie IPv4.
14

Diagnostyka problemów

Problemy z komunikacją w laboratorium i elementy do sprawdzenia
ProblemSprawdź
brak pingta sama Internal Network, interfejs UP, adresy w tej samej sieci, poprawny prefix /24, brak konfliktu adresów
SSH nie działasystemctl status ssh, adres IP, użytkownik, firewall, dostępność portu 22
15

Zadania dla studenta

  1. A. Zmień adres VM2 na 192.168.50.20/24 i ponownie przetestuj komunikację.
  2. B. Ustaw błędny prefix na jednej VM i zaobserwuj efekt.
  3. C. Wyłącz interfejs jednej VM i sprawdź wynik ping.
  4. D. Przywróć poprawną konfigurację.
  5. E. Połącz się z VM2 przez SSH.
16

Podsumowanie

Masz dwie maszyny Debian Stable w jednej sieci Internal Network, potrafisz sprawdzić interfejsy, routing i łączność oraz wykonać podstawowe połączenie SSH po adresie IP.

R

Cofnięcie zmian i walidacja

Wykonaj pełne cofnięcie po oddaniu raportu albo przed użyciem tych VM w innym laboratorium. Pracuj z lokalnej konsoli VirtualBox: przeładowanie sieci może natychmiast przerwać sesję SSH.

Na każdej VM usuń wyłącznie adres dodany w tym laboratorium, przywróć zapisany plik i przeładuj mechanizm ifupdown. W poleceniu podstaw faktyczną nazwę interfejsu zapisaną w link.before.

STATE="$HOME/lab01-state"

# UWAGA: delete usuwa wskazany adres runtime; sprawdź nazwę interfejsu i adres.
# VM1: na VM2 użyj adresu 192.168.50.12/24
sudo ip address delete 192.168.50.11/24 dev <interfejs> 2>/dev/null || true

if grep -qx present "$STATE/interfaces.marker"; then
  sudo cp -a "$STATE/interfaces.before" /etc/network/interfaces
else
  # UWAGA: usuń plik tylko wtedy, gdy marker potwierdza jego wcześniejszy brak.
  sudo rm -- /etc/network/interfaces
fi

sudo systemctl restart networking
ip -br address
ip route show table all

Wyłącz VM i na hoście odtwórz dokładnie zapisany typ adaptera, nazwę sieci oraz stan kabla. Nie zakładaj, że pierwotnym trybem był NAT. Po uruchomieniu porównaj ip -br address iip route show table all z plikami *.beforeoraz wykonaj test łączności właściwy dla odtworzonego środowiska.

Kontynuuję Lab 02: zachowaj katalog stanu i snapshot do czasu zatwierdzenia raportu, następnie wykonaj ten rollback i dopiero skonfiguruj sieć lab-dhcp. Kończę ćwiczenia: wykonaj pełne cofnięcie i usuń katalog stanu dopiero po porównaniu wyników. Procedura nie usuwa maszyny, pakietu SSH ani danych użytkownika.

Pytania kontrolne

  1. Czym różni się Internal Network od NAT?
  2. Dlaczego w tym laboratorium nie jest potrzebna brama domyślna?
  3. Do czego służy prefix /24?
  4. Co pokazuje polecenie ip route show?
  5. Dlaczego ping po adresie IP może działać bez DNS?
  6. Czym różni się ip link show od ip address show?
  7. Co oznacza konflikt adresów IP w jednej sieci?
  8. Dlaczego usługa SSH musi działać na maszynie, z którą się łączysz?

Raport z ćwiczenia

Do oddania przygotuj adresy obu maszyn, wynik poleceń diagnostycznych, wynik ping w obu kierunkach oraz informację, czy połączenie SSH zakończyło się powodzeniem.

Bezpieczeństwo laboratorium

Adresacja 192.168.50.0/24 jest przykładowa. Nie przenoś jej automatycznie do sieci produkcyjnej, uczelnianej ani domowej bez sprawdzenia istniejącego planu adresacji.