CyberLab — wirtualne cyber laboratorium. Część 2

Witajcie ponownie.

W poprzednim wpisie przedstawiłem Wam ogólna koncepcję cyklu artykułów jaki mam zamiar dla Was napisać, a którego główną tematyką będzie praktyczne wykorzystanie wirtualizacji. Precyzując: wirtualizacji uruchomionej w oparciu o oprogramowanie VirtualBox. Tak więc zaczynamy, ale zanim zaczniemy mała zagadka: co jest podstawową potrzebą/składową w obecnych infrastrukturach IT jest..?? Prąd - prawda bez prądu wiele nie zdziałamy, przykładem niech będzie awaria w OVH. Zakładam więc, że rachunki opłacone, a zasilanie stabilne. Kolejnym kluczowym elementem infrastruktury jest SIEĆ WAN/LAN. I tym oto tematem będziemy zajmować się w pierwszej kolejności.

3...2...1... zaczynamy!

Wymagania

  1. Zainstalowany program VirtualBox
  2. Pobrany obraz ISO systemu PfSense

Rodzaje sieci - VirtualBox

W poprzednim wpisie w skrócie omówione zostały rodzaje sieci jakie można utworzyć w ramach wirtualizatora VirtualBox. Dla przypomnienia tabelka :) 

Jak widzicie mamy aż 5 wariantów konfiguracji sieci, różnią się one w sposobie komunikacji maszyny wirtualnej z otoczeniem oraz sposobem realizacji tej komunikacji. Niektóre z wariantów konfiguracji sieci możliwe są do zrealizowania na komputerze zupełnie pozbawionym jakiejkolwiek fizycznej karty sieciowe :). Możliwe jest to do osiągnięcia dzięki zastosowaniu wirtualnych kart sieciowych, które są prezentowane do systemu jako urządzenie sprzętowe, choć w rzeczywistości są po prostu sterownikiem programowym. To właśnie w tym celu, podczas instalacji VirtualBox'a potwierdziliśmy chęć zainstalowania sterownika systemowego, dzięki któremu mamy możliwość wirtualizacji sieci :)

Po kolei omówmy teraz rodzaje sieci dostępnych w VirtualBox:

Host-only - czyli karta sieci izolowanej. Jasne prawda? Nie? :-)Ok, spróbuję wytłumaczyć to tak: Jest to rodzaj sieci, który dzięki wykorzystaniu WIRTUALNEJ karty sieciowej, która jest tworzona przy pomocy sterownika VirtualBox'a umożliwia komunikację sieciową pomiędzy maszynami wirtualnymi posiadającymi skonfigurowaną sieć HOST-ONLY jak również pomiędzy HOSTEM, czyli komputerem na którym działa VirtualBox i tylko w jego obrębie. Oznacza to, że żadna maszyna podłączona do sieci typu HOST-ONLY nie ma dostępu poza HOSTA, gdyż nie ma dostępu do FIZYCZNEJ karty sieciowej. Dlatego maszyny wirtualne w obrębie tej sieci nie będą miały dostępu do internetu, mimo tego że HOST jest podłączony do sieci i dostęp do internetu posiada. Stąd określenie "sieć izolowana". Wirtualny adapter pełni tolę przełącznika, do którego podłączony jest HOST oraz wszystkie maszyny wirtualne, którym skonfigurujemy kartę sieciową z konfiguracją HOST-ONLY.

Zobaczcie na poniższą ilustrację, jedynie HOST/komputer, na którym działa VirtualBox równocześnie znajduje się w dwóch strefach HOST-ONLY oraz WAN/LAN, więc tylko on będzie miał dostęp zarówno do jednej jak i do drugiej sieci.

  INTERNAL - Inaczej sieć wewnętrzna, w której komunikacja odbywa się tylko i wyłącznie na poziomie VirtualBoxa. Oznacza to, że z sieci tej mogą skorzystać jedynie maszyny wirtualne do niej podłączone. Inaczej niż w sieci HOST-ONLY, w tym przypadku nawet HOST nie będzie miał do niej dostępu a co za tym idzie komunikacja maszyn wirtualnych ze światem lub nawet systemem HOSTa będzie całkowicie niemożliwa.Prezentuje to poniższa ilustracja.

 BRIDGED - ten rodzaj sieci umożliwia podłączenie maszynom wirtualnym bezpośrednio do fizycznej sieci LAN/WAN, tej samej do której podłączone są karty sieciowe HOSTA. Wszystkie hosty z sieci LAN mogą się komunikować z maszynami wirtualnymi w taki sam sposób jak z każdym innym urządzeniem sieciowym tak samo maszyny wirtualne maja pełny dostęp do sieci LAN/WAN. Co za tym idzie, możemy odpowiednio konfigurując nasz router/firewall umożliwić komunikację z/do INTERNETU bezpośrednio z maszyną wirtualną np. na potrzeby serwera WWW :).

Zobaczcie jak to wygląda na poniższej ilustracji.

NAT & NAT NETWORK - Ten typ sieci postanowiłem opisać wspólnie gdyż jest on bardzo prosty a różnice pomiędzy nimi znikome. Większość z Was zapewne już się spotkało z określeniem NAT. Network Address Translation lub inaczej "maskarada" to nic innego jak translacja adresacji IP, z publicznego adresu IP na adres prywatny. Oznacza to, że urządzenie sieciowe, które pracuje w sieci z NAT nie jest bezpośrednio dostępne z internetu gdyż posiada zupełnie inny adres IP niż nasze IP publiczne. Tak więc musi tutaj zadziałać pewien uzgodniony mechanizm komunikacji, który obsłuży tą komunikację i jest to właśnie NAT. Najczęściej taką rolę pełni router, który z jednej "strony" na porcie WAN do którego podłączony jest nasz dostawca internetu posiada IP publiczne (choć nie zawsze) a z drugiej strony posiada adresację LAN, która jest adresacją prywatną, nie dostępną w internecie. To właśnie mechanizm NAT odpowiada za to żeby pakiety wysłane z adresu LAN 1.1.1.1 skierowane go www.google.pl dotarły do tego serwera, a pakiety zwrotne został odebrane na publicznym IP na porcie WAN i zostały skierowane do hosta o lokalnym adresie IP 1.1.1.1. Wszystko jest fajnie, do czasu kiedy rozmawiamy o całym procesie w kontekście stacji klienckich. Ale co w sytuacji gdy zaczniemy rozmawiać o SERWERACH? SERWERACH czyli hostach serwujących jakieś usługi, np. serwerach WWW?? Co się stanie gdy na telefonie wpiszemy nasz publiczny adres IP? Tak więc jeśli nasz router jest skonfigurowany w sposób nieodpowiedni, posiada interface WEB to zobaczymy właśnie stronę panelu konfiguracyjnego routera. Dlatego że to właśnie na porcie WAN routera zaterminowany jest nasz publiczny adres IP. Co zrobić więc żeby usługa WWW z naszego serwera była dostępna z internetu zamiast strona panelu administracyjnego naszego routera?? Tutaj z pomocą przychodzi nam port forwarding, inaczej przekierowanie portów. Jest to rozszerzenie funkcjonalności NAT, które pozwala na skierowanie ruch przychodzącego na określony PORT na porcie WAN (IP publiczne) na określony port hosta w sieci LAN. W VirtualBox nie wymyślono nic nowego pod tym względem, działa ona dokładnie tak samo. VirtualBox pełni role serwera DHCP oraz odpowiada za obsługę NAT dla tej sieci. Maszyny wirtualne podłączone do sieci NAT nie są widoczne w sieci LAN, tak samo jak hosty z sieci LAN nie są widoczne z sieci internet kiedy korzystamy z NAT. różnica pomiędzy NAT a NAT NETWORK jest bardzo oczywista, NAT dotyczy jednej maszyny wirtualnej i oznacza, że maszyna ta będzie niedostępna dla innych maszyn, NAT NETWORK natomiast tworzy sieć, w której wszystkie maszyny wirtualne mogą się ze sobą komunikować. Reszta jest wspólna dla obu sieci NAT. ufff mam nadzieję, że nie zagmatwałem za bardzo ;)

Zobaczcie na poniższą ilustrację, zobrazowany został ruch z internetu do serwer WWW działającego na maszynie wirtualnej uruchomione na laptopie z adresem IP 1.1.1.1. Ruch z IP publicznego kierowany jest za pomocą forwardowania portów do laptopa na port 443. Następnie tą samą metoda ruch jest kierowany przez VirtualBoxa do maszyny wirtualnej również na port 443 na którym działa serwer WWW.

Tym oto sposobem dotarliśmy do końca. Omówiliśmy działanie sieci i to jakie możliwości ale też ograniczenia dają poszczególne konfiguracje. Miało być kilka zdań a wyszło jak wyszło :) Jeśli jeszcze to czytacie, to na koniec nagroda. Na początku wspomniałem o wymaganiach do dzisiejszego wpisu. Pojawiła się tam wzmianka o ISO PfSense, nie bez powodu. Właśnie dzisiaj na deser przeprowadzimy proces stworzenia pierwszej maszyny, a raczej każdy z Was przeprowadzi samodzielnie, jako ćwiczenie domowe :) już bez tłumaczenia, omawiania itd. ale według poniższych wytycznych. 

  1. Rodzaj systemu - BSD
  2. Nazwa VM - pfsense_01
  3. minimum 1 vCPUz włączoną PAE/NX ora akceleracją VT-x/AMD-V
  4. 1G RAM
  5. dysk 16Gb
  6. jedna karta sieciowa

Instalacja PfSense ma być domyślną instalacją, więc nie zmieniamy żadnych opcji konfiguracyjnych. Jeśli będziecie mieć pytania to jak zawsze nie wahajcie się pytać w komentarzach a na deser ostatnia dzisiaj zagadka. Jaki rodzaj sieci skonfigurowalibyście dla PfSense pamiętając o założeniach naszego CyberLab???

Czekam na Wasze odpowiedzi w komentarzach ;)

 W następnej części pobawimy się już trochę maszyna wirtualną z PfSense, skonfigurujemy sieć LAN i omówimy ogólnie sam system PfSense oraz jego możliwości.