Odnawiamy certyfikat portalu SSL VPN na Fortigate za pomocą Ansible

Odnawiamy certyfikat portalu SSL VPN na Fortigate za pomocą Ansible

Odnawiamy certyfikat portalu SSL VPN na Fortigate za pomocą Ansible

Ostatnio zastąpiłem mojego starego, wysłużonego (i głośnego) Junipera SRX urządzeniem Fortigate 30E. Firewall jest zainstalowany na brzegu mojej sieci domowo-labowej. Zapewnia mi między innymi zdalny dostęp do laba czy przestrzeni dyskowej na NAS. Jedną z kluczowych funkcjonalności jest zatem zdalny dostęp za pomocą SSL VPN. Ponieważ portal SSL VPN jest wystawiony na świat, to chciałem by prezentował się za pomocą publicznego certyfikatu podpisanego przez jedno z globalnych CA. Niestety mój firewall nie posiada funkcji automatycznego odnawiania certyfikatów Let’s Encrypt, dlatego czynność tą musiałem samodzielnie zautomatyzować. Pokażę Ci w jaki sposób wykorzystałem do tego Ansible.

Czytaj dalej
Łączymy Terraform i Ansible ze sobą

Łączymy Terraform i Ansible ze sobą

Łączymy Terraform i Ansible ze sobą

Wczoraj miałem przyjemność gościć jako prelegent na kolejnym webinarze w ramach cyklu Władcy Sieci. Tym razem opowiadałem i pokazywałem w jaki sposób połączyć ze sobą dwa narzędzia do automatyzacji – Terraform oraz Ansible. To jedne z najczęściej wykorzystywanych produktów służących do automatyzacji i bardzo dobrze się dopełniają.

Na GitHub Szkoły DevNet umieściłem skrypt, który powstał w czasie webinaru. Realizowaliśmy proste zadanie – zbudowanie skalowalnej infrastruktury serwerów WWW, które budowane są za pomocą Terraforma, a konfigurowane z wykorzystaniem Ansible. Oczywiście całość wykonywana poprzez jedno wywołanie, a playbook Ansible wykonany jako zadanie z Terraforma.

Czytaj dalej
Pierwsze logowania i zmiana hasła za pomocą Ansible i modułu expect

Pierwsze logowania i zmiana hasła za pomocą Ansible

Pierwsze logowania i zmiana hasła za pomocą Ansible i modułu expect

Ostatnio realizowałem szkolenie, w którym dość często musiałem reinstalować system operacyjny Linux na maszynach wirtualnych. Sama reinstalacja systemu i jego późniejsza konfiguracja nie sprawiały mi żadnego problemu. Mam przygotowane playbooki Ansible, które konfigurują system, instalują odpowiednie pakiety i wgrywają ich konfigurację. Problem pojawiał się z jednym krokiem – pierwszym logowaniem i wymuszoną zmianą hasła. Na szczęście w Ansible jest moduł expect.

Czytaj dalej
Jak dodałem funkcjonalność MaxReplicas w docker-py i Ansible

Jak dodałem funkcjonalność MaxReplicas w docker-py i Ansible

Jak dodałem funkcjonalność MaxReplicas w docker-py i Ansible

W klastrach Docker Swarm możemy uruchamiać serwisy w dwóch trybach – global oraz replicated. Jeżeli wybierzemy pierwszy z nich, to na każdym węźle wchodzącym w skład klastra zostanie uruchomiona dokładnie jednak kopia serwisu. W trybie replicated wskazujemy, ile kopii serwisu chcemy mieć uruchomionych, ale to Swarm decyduje, na których węzłach zostaną one uruchomione. Możemy w pewnym stopniu na nie wpływać za pomocą tak zwanych placement constraints i placement preferencesJest też parametr MaxReplicas, którego wsparcie napisałem dla biblioteki docker-py oraz do modułu docker_swarm_service kolekcji community.docker w projekcie Ansible. Korzytanie z niego jest bardzo proste.

Czytaj dalej
Jak oszukuję inventory w Ansible

Jak “oszukuję” inventory w Ansible

Jak oszukuję inventory w Ansible

Inventory, czyli zbiór urządzeń, na których ma zostać wykonany playbook Ansible, co do zasady definiujemy jako statyczny plik, lub w sposób dynamiczny korzystając z wtyczek z grupy Inventory Plugins. Ja czasami jednak uciekam się do drobnej sztuczki, która jest dla mnie niezwykle wygodna, gdy uruchamiam proste playbooki, w których wykorzystuję moduły do Dockera. Jaka to sztuczka?

Czytaj dalej
O automatyzacji sieciach - wywiad z Przemkiem Rogalą

O automatyzacji w sieciach – wywiad z Przemkiem Rogalą (część II)

O automatyzacji sieciach - wywiad z Przemkiem Rogalą

W pierwszej części mojej rozmowy z Przemkiem Rogalą, twórcą bloga TTL255, rozmawialiśmy o egzaminie DEVASC i certyfikacji Cisco DevNet. Certyfikaty byłby jednak zbędne, gdyby nie rzeczywiste projekty, w których wiedzę i doświadczenie zamienia się na konkretne rozwiązania. Zarówno Przemek jak i ja realizujemy tego typu projekty, choć na innych rynkach. W drugiej części mojej rozmowy skupimy się właśnie na rzeczywistym wykorzystaniu automatyzacji, projektach, programowaniu i narzędziach, które wykorzystujemy.

Czytaj dalej
Backup konfiguracji routera za pomocą Ansible

Backup konfiguracji routera za pomocą Ansible

Backup konfiguracji routera za pomocą Ansible

Kolejne dni pracy z Cisco Modeling Labs 2.0. Przygotowywałem się do pierwszego wykorzystania go w większej topologii i scenariuszu w ramach webinaru. Ale tym razem nie będę pisał o CML 2.0. Przygotowując scenariusza laba chciałem mieć zapisane wzorcowe konfiguracje urządzeń z kolejnych etapów. Niestety CML 2.0 nie pozwala na łatwe zgranie konfiguracji z urządzeń biorących udział w symulacji. Napisanie playbooka wykonującego backup konfiguracji routera za pomocą Ansible jest przecież bardzo proste.

Czytaj dalej
Dokumentacja playbooków Ansible

Dokumentacja playbooków Ansible

Dokumentacja playbooków Ansible

Każdy programista wie, że umieszczanie komentarzy w kodzie źródłowym aplikacji jest nie tylko elementem dobrej praktyki, ale także często wymogiem. Często jednak nie ma na to czas lub jest go zbyt mało. W domowych czy firmowych labach często w ogóle nie zawracamy sobie tym głowy. Jednak nawet gdy piszemy aplikację lub playbook tylko dla siebie warto zadbać o choćby minimalną jego dokumentację, a komentarze zawarte w kodzie źródłowym przydadzą się, jeżeli będziemy chcieli go wykorzystać potem w innym projekcie.

Czytaj dalej
Instalacja Dockera za pomocą Ansible

Instalacja Dockera za pomocą Ansible

Instalacja Dockera za pomocą Ansible

Ostatni artykuł, w którym pokazałem jak skonfigurować API Dockera za pomocą playbooka Ansible zaowocował przysłanym mi pytaniem, czy równie prosto da się zautomatyzować instalację samego Dockera. Oczywiście że się da! Pierwsze moduły do Ansible miały na celu ułatwić zarządzanie pakietami i konfigurację systemów typu Linux. Pokarzę Ci teraz fragmenty z mojego playbooka (poszczególne zadania), którego używam do instalacji Dockera na RaspberryPi i dystrybucji Raspbian. Instalacja Dockera za pomocą Ansible składa się jedynie z kilku zadań.

Czytaj dalej
Uruchamiamy API Dockera za pomocą Ansible

Uruchamiamy API Dockera za pomocą Ansible

Uruchamiamy API Dockera za pomocą Ansible

W artykule “API Dockera” opisywałem dlaczego warto aktywować API na interfejsach sieciowych maszyny, oraz pokazałem kilka metod jak to zrobić. W różnego rodzaju testach, które przeprowadzam, rozpoczynam je od instalacji systemu operacyjnego. Manualne wprowadzanie za każdym razem zmian w konfiguracji byłoby krótko mówiąc marnowaniem czasu. Pokarzę Ci teraz w jaki sposób zautomatyzować tą pojedynczą czynność za pomocą Ansible. 

Czytaj dalej