Rafał Rudewicz

23 sierpnia 2019

Inna Sieć Newsletter


Konfiguracja EVE-NG w Google Cloud Platform

Cloud | 8 Komentarze

Nie tylko nasze dane migrują do chmury.... Pora przenieść również LAB! Dowiedz się jak poprawnie skonfigurować EVE-NG w Google Cloud Platform.
Konfiguracja EVE-NG w chmurze Google Cloud

i 3 Spis treści

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:

  1. Stała opłata za użytkowanie dysku 1,44$ / 5,60zł
  2. 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.

Koszt labowania w chmurze GCP

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.

Logowanie do konta google w usłudze Google Cloud

  • 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.

Zakładanie nowego projektu w GCP

  • W menu wyboru projektu wybieramy opcję NOWY PROJEKT dostępną w prawym, górnym rogu.

Zakładanie nowego projektu w GCP

  • 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.

Finalizacja tworzenia nowego projektu w GCP

  • 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.

Menu Compute Engine oraz wybrane podmenu Instancje maszyn wirtualnych

  • Zaczekaj do momentu, aż przycisk utwórz teraz, stanie się aktywny i będziesz mógł co kliknąć.

Tworzenie maszyny wirtualnej

  • 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.

Komunikat poprawnie utworzonego obrazu dysku

  • 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.

Tworzenie maszyny wirtualnej

  • 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.

Wybór obrazu dysku przy tworzeniu VM

  • 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ć.

Zezwalanie na ruch HTTP (S) w regułach zapory sieciowej

  • Kiedy maszyna wirtualna zostanie już przygotowana i uruchomiona, musimy połączyć się z nią po SSH, aby dokonać instalacji EVE-NG na naszym serwerze.

Zalogowany użytkownik w ubuntu

  • 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

Rozpoczęcie procesu instalacji

  • 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.

Wznawianie połączenie z zrestartowaną maszyną

  • 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.

Wybór adresacji IP oraz prawidłowo zaznaczona opcja 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.

Menu sieci VPC orac zakładka Reguły zapory sieciowej

  • Wybieramy opcję Utwórz nową regułę zapory sieciowej.

Wybór opcji utwórz 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.
  1. Jako kierunek ruchu wybieramy ruch przychodzący.
  2. Jako działanie w przypadku zgodności Zezwalaj.
  3. Jako Cele wybieramy Wszystkie instancje w sieci.
  4. Jako filtr źródeł wybieramy zakresy IP.
  5. 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.
  6. Jako protokoły i porty wybieramy Określone protokoły i porty, tcp w zakresie 0 -65535

Konfiguracja reguł zapory sieciowej dla ruchu przychodzącego w GCP

  • Konfiguracja drugiego filtra, dla ruchu wychodzącego jest identyczne poza kierunkiem ruchu, który oznaczamy jako wychodzący.
  1. Jako kierunek ruchu wybieramy ruch wychodzący.
  2. Jako działanie w przypadku zgodności Zezwalaj.
  3. Jako Cele wybieramy Wszystkie instancje w sieci.
  4. Jako filtr źródeł wybieramy zakresy IP.
  5. 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.
  6. Jako protokoły i porty wybieramy Określone protokoły i porty, tcp w zakresie 0 -65535

Konfiguracja reguł firewall dla ruchu wychodzącego

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.

Wybór VM do otwarcia w przeglądarce

Jeśli wszystko przebiegło pomyślnie, Twoim oczom powinien się ukazać ekran logowania.

Dane do logowania:

  • login: admin
  • hasło eve

Ekran logowania do eve-ng

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?

Rafał Rudewicz

Rafał Rudewicz

Specjalizuję się w rozwiązaniach Enterprise oraz Service Provider. Projektuję, wdrażam oraz naprawiam sieci dla największych firm na świecie.

8 komentarzy

    • Rafał Rudewicz

      Instrukcja na stronie EVE-NG jest bardzo dobra, ale ma jedną wadę, nie jest napisana po polsku. W moim odczuciu znacznie lepszą opcją było przetłumaczenie jej i dodanie swoich komentarzy, gdzie było to przydatne, niż stworzenie na siłę czegoś nowego.
      Żeby uniknąć dalszych nieporozumień, dodałem drobne sprostowanie na końcu tekstu.
      Na temat samego EVE-NG narazie nie przewiduję czegoś więcej, o GCP na pewno coś się pojawi.

      Odpowiedz
    • Rafał Rudewicz

      Komentarze są moderowane przed dodaniem, każdy musi być najpierw zaakceptowany, zanim pojawi się na stronie.

      Odpowiedz
  1. Patryk

    Utknąłem przy CLI Cloud Shell. Wpisuję komendę i pokazuje mi się error. Nie wiem co robię źle. Po za tym mam trochę inaczej niż tutaj w screenach bo nie mogę od razu wybrać z Compute Engine Instanacji maszyny wirtualnej tylko od razu jest maszyna wirtualna a potem dopiero tworzy się instancję ale rozumiem, że to pewnie kwestia zmian jakie nastąpiły w między czasie.

    Odpowiedz

Wyślij komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *