[et_pb_section fb_built=”1″ admin_label=”section” _builder_version=”4.16″ global_colors_info=”{}” theme_builder_area=”post_content”][et_pb_row admin_label=”row” _builder_version=”4.16″ background_size=”initial” background_position=”top_left” background_repeat=”repeat” global_colors_info=”{}” theme_builder_area=”post_content”][et_pb_column type=”4_4″ _builder_version=”4.16″ custom_padding=”|||” global_colors_info=”{}” custom_padding__hover=”|||” theme_builder_area=”post_content”][et_pb_text admin_label=”Text” _builder_version=”4.16″ background_size=”initial” background_position=”top_left” background_repeat=”repeat” global_colors_info=”{}” theme_builder_area=”post_content”]
EVE-NG (fork upadłego UNL) to obok GNS3 jeden z obecnie najpopularniejszych rozwiązań dostępnych na rynku. Pozwala na emulację oraz łączenie w sieci sprzęt różnych vendorów, jak i również różnych systemów operacyjnych. Umożliwia postawienie wirtualnego obrazu systemu linux – lub windows – i skonfigurowanie wszystkich typowych usług.
Bez problemu przetestujesz nie tylko typowo sieciowe scenariusze, ale również te wymagające stosowania NTP, AAA, Radiusa, Tacacsa oraz bardziej zaawansowanych aplikacji. Właściwie ogranicza Cię, wyłącznie Twoja wyobraźnia. Do tego EVE-NG w odróżnieniu od GNS 3 pracuje w formie clientless. Co znacza, że jest uruchamiany na serwerze, a klient do podłączenia potrzebuje jedynie przeglądarki, ponieważ interfejs jest napisany w HTML5.
Google Cloud Platform
GCP to usługa chmury publicznej od wielkiego brata. Tworzy wielką trójcę dostawców usług chmurowych razem z Amazon Web Services oraz Azure od Microsoftu. Oprócz typowego udostępniania usług w modelu IaaS czy PaaS oferuje integrację ze swoimi typowymi usługami jak G-Suite, czy Google Maps.
System rabatowania zaproponowany przez google opiera się na premiowaniu deklaracji użytkowania oraz ciągłości usług, czyli im więcej używasz, tym większy rabat dostajesz.
Google Cloud Platform oferuje darmowy, roczny program testowania swoich usług do kwoty 300USD.
Koszty labowania w chmurze
Do kalkulacji kosztów labowania w GCP posłużymy się przykładem maszyny wirtualnej o mocy 8 vCPU, 30GB RAM oraz 30GB dysku twardego.
Nasza VM będzie znajdowała się w regionie Europe-West3.
To, co nas interesuje to:
- Stała opłata za użytkowanie dysku 1,44$ / 5,60zł
- Godzinowa stawka 0,345$ / 1,34zł
Załóżmy, że będziemy labować 5 godzin tygodniowo, a każdy miesiąc ma 4 tygodnie.
Koszt labowania wyniesie więc 4 tygodnie x 5godzin x 1,34zł + 5,60zł = 32,40zł
Cena w złotówkach została policzona po kursie 1USD – 3,89PLN
Wszystkie dane dotyczące kosztów, które wziąłem do kalkukacji, możesz znaleźć na obrazku poniżej.
Przygotowanie
- Przejdź na stronę http://console.cloud.google.com i zaloguj się na swoje konto. Jeśli go nie posiadasz, będziesz musiał je założyć. Podpięcie karty kredytowej jest obowiązkowe. Google twierdzi, że prosi Cię o nią wyłącznie w celu odfiltrowania kont zakładanych przez boty i weryfikacji użytkowników.
- Standardowo Google Cloud Platform (w skrócie GCP) tworzy dla Ciebie pierwszy projekt o nazwie My First Project. W celu uniknięcia później przypadkowego usunięcia tego projektu zalecam utworzenie nowego. Projekt w GCP jest najwyższą formą (poza organizacją) agregacji wszystkich usług i zasobów.
- W menu wyboru projektu wybieramy opcję NOWY PROJEKT dostępną w prawym, górnym rogu.
- Utwórz nowy projekt o dowolnej nazwie, pamiętaj jednak, że nie możesz jej później zmienić. Tworząc nowe konto, masz możliwość utworzenia do 10 projektów, ja niestety mam już kilka w użyciu, tak więc pozostało mi 7 możliwych do wykorzystania w przyszłości.
- W tym momencie rozpoczął się proces tworzenia Twojego projektu. W praktyce oznacza, to, że GCP musi zainicjować usługę Compute Engine. Wybierz ją z listy i przejdź do menu Instancje maszyn wirtualnych.
- Zaczekaj do momentu, aż przycisk utwórz teraz, stanie się aktywny i będziesz mógł co kliknąć.
- Zanim utworzymy naszą pierwszą VM-kę na potrzeby EVE-NG, musimy najpierw przygotować odpowiedni obraz systemu operacyjnego. Nasz emulator do poprawnej pracy wymaga zagnieżdżonej wirtualizacji (wirtualizacji w wirtualizacji). W tym celu musimy, wejść do CLI Cloud Shell, z którego poziomu w sposób zbliżony do linuxowego basha możemy utworzyć potrzebny obraz systemu z aktywną opcją wsparcia vmx.
- Kiedy jesteśmy już w CLI Cloud Shell, przystępujemy do utworzenia właściwego obrazu dysku.
gcloud compute images create nested-ubuntu-focal --source-imagefamily=ubuntu-2004-lts --source-image-project=ubuntu-os-cloud --licenses https://www.googleapis.com/compute/v1/projects/vmoptions/global/licenses/enable-vmx
- Jeśli wszystko przebiegło poprawnie, poniższy komunikat poinformuje Cię, że obraz jest gotowy.
- Mając już wszystko przygotowane, możemy przystąpić do tworzenia VM-ki. Wróć do menu Compute Engine i wybierz z menu Instancje maszyn wirtualnych.
- Nadaj nazwę swojej wirtualnej maszynie, wybierz region (im bliżej Ciebie, tym lepiej) oraz odpowiednie parametry swojej maszyny. Od tego, jak mocny procesor i ile pamięci RAM wybierzesz, będzie zależał Twój godzinowy koszt użytkowania labu. W przykładzie utworzyłem VM-kę z 8 wirtualnymi procesorami oraz 30GB RAM.
- Zmień obraz dysku rozruchowego ze standardowego na przygotowany wcześniej nested-ubuntu-focal.
- W regułach zapory sieciowej zezwól na:
- Ruch HTTP jeśli chcesz korzystać z wersji EVE-NG Community
- Ruch HTTPS jeśli chcesz korzystać z wersji EVE-NG Professional
Oczywiście powyższe reguły możesz później edytować.
- Kiedy maszyna wirtualna zostanie już przygotowana i uruchomiona, musimy połączyć się z nią po SSH, aby dokonać instalacji EVE-NG na naszym serwerze.
- Musisz zalogować się jako root, jest to konto posiadające prawo do edycji systemu, instalacji pakietów oraz zmian w ustawieniach. Używaj go tylko do zadań administracyjnych, kiedy jest to niezbędne. W celu podniesienia naszych uprawnień musimy skorzystać z jednego z dwóch poniższych poleceń. Pierwsze z nich loguje Cię na konto root i przenosi do katalogu domowego, drugie z nich podnosi uprawnienia, ale pozostawia Cię w bieżącym katalogu.
sudo -i
sudo su
- Twórcy EVE-NG przygotowali skrypty, które automatyzują proces instalacji do maksimum. Nie ma sensu wymyślanie koła na nowo, więc z nich skorzystamy:
- Dla wersji professional zastosuj ten skrypt
wget -O - http://www.eve-ng.net/repo/install-eve-pro.sh | bash -i
- Dla wersji Community zastosuj ten skrypt
wget -O - http://www.eve-ng.net/repo/install-eve.sh | bash -i
- Po udanej instalacji zaktualizuj wszystkie aplikacje i usługi.
apt-get update && apt-get upgrade -y
- Następnie zrestartuj wirtualną maszynę. Poniższe polecenie wymusza na systemie wyłączenie, jednak zastosowanie przełącznika -r sprawia, że zostanie on nie wyłączony, a zrestartowany. Słowo now oznacza, kiedy polecenie ma zostać wykonane, z ang. now, czyli natychmiast, teraz.
shutdown -r now
- Połączenie SSH zostanie zerwane i należy je ponowić. Kliknij na przycisk połącz ponownie.
- Kiedy wyskoczy okno kreatora, naciśnij ctrl + c, aby przerwać proces i przelogować się na roota.
sudo -i
- Następnie postępuj zgodnie z zaleceniami instalatora. Przy wyborze adresacji IP koniecznie wybierz DHCP.
- Poniższe polecenia są wyłącznie dla wersji Professional. Pozwalają na instalację Dockera, który w wersji Community nie jest obsługiwany.
sudo -i apt-get update apt-get install eve-ng-dockers
Właściwa instalacja EVE-NG jest już zakończona. Pozostało nam jeszcze dodanie odpowiednich reguł w zaporze systemowej, aby możliwe było łączenie się do naszych urządzeń w labie poprzez połączenie telnet -> port konsolowy emulowanego hosta.
- Przechodzimy do menu Sieć VPC, następnie wybieramy Reguły zapory sieciowej.
- Wybieramy opcję Utwórz nową regułę zapory sieciowej.
- Musimy teraz utworzyć dwa filtry dla zapory sieciowej, dla ruchu przychodzącego i wychodzącego z naszej maszyny wirtualnej. Zacznijmy od ruchu przychodzącego.
- Jako kierunek ruchu wybieramy ruch przychodzący.
- Jako działanie w przypadku zgodności Zezwalaj.
- Jako Cele wybieramy Wszystkie instancje w sieci.
- Jako filtr źródeł wybieramy zakresy IP.
- Jako Zakresy źródłowych adresów IP wybieramy 0.0.0.0/0, aby każdy host mógł się komunikować z naszą VM-kę. Jeśli chcesz, możesz tutaj sprecyzować swój adres IP, na przykład 150.0.0.0/32.
- Jako protokoły i porty wybieramy Określone protokoły i porty, tcp w zakresie 0 -65535
- Konfiguracja drugiego filtra, dla ruchu wychodzącego jest identyczne poza kierunkiem ruchu, który oznaczamy jako wychodzący.
- Jako kierunek ruchu wybieramy ruch wychodzący.
- Jako działanie w przypadku zgodności Zezwalaj.
- Jako Cele wybieramy Wszystkie instancje w sieci.
- Jako filtr źródeł wybieramy zakresy IP.
- Jako Zakresy źródłowych adresów IP wybieramy 0.0.0.0/0, aby każdy host mógł się komunikować z naszą VM-kę. Jeśli chcesz, możesz tutaj sprecyzować swój adres IP, na przykład 150.0.0.0/32.
- Jako protokoły i porty wybieramy Określone protokoły i porty, tcp w zakresie 0 -65535
Instalacja oraz konfiguracja EVE-NG na Google Cloud Platform właśnie dobiegła końca. Nie pozostaje nam już nic innego jak przejść do weryfikacji czy wszystko działa.
- Wybierz menu Compute Engine i następnie Instancje maszyn wirtualnych
- Kliknij zewnętrzny adres IP
Pamiętaj, że wersja Community korzysta z protokołu HTTP zamiast HTTPS (przeznaczony dla wersji professional). GCP powinno domyślnie przekierować Cię na stronę z wykorzystaniem szyfrowanego połączenia.
Jeśli wszystko przebiegło pomyślnie, Twoim oczom powinien się ukazać ekran logowania.
Dane do logowania:
- login: admin
- hasło eve
Oryginalną wersję instrukcji (w języku angielskim) oraz więcej informacji na temat EVE-NG takie jak instrukcje dodawania konkretnych obrazów, znajdziesz na stronie projektu http://www.eve-ng.net.
Drogi czytelniku, a Ty czego używasz do labowania?
[/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section]