Instalacja Debiana w VirtualBoxie zawiesza się na skanowaniu serwerów lustrzanych

Zauważyłem, że instalacja Debian w wirtualnej maszynie zawiesza się podczas skanowania serwerów lustrzanych (Scanning mirrors…) tylko, gdy w opcjach sieciowych wybieramy „Bridged Adapter”. Jeżeli pozostamy domyślny „NAT”, to instalacja przebiega pomyślnie.

W przypadku wystąpienia powyższego problemu można instalować z opcją „NAT”, a „Bridged Adapter” ustawić po instalacji.

OpenVPN na instancji EC2 (Amazon)

Serwer

W celu instalacji OpenVPN-a trzeba włączyć repozytoriun EPEL:

Instalujemy easy-rsa i OpenVPN:

Generujemy certyfikat i klucz dla serwera:

Kopiujemy pliki do katalogu OpenVPN-a:

Generujemy klucz dla TLS-a:

Tworzymy plik konfiguracyjny dla serwera:

Wklejamy do pliku poniższą zawartość:

OpenVPN działa na porcie 1194, więc taki port należy odblokować na firewallu.

Aktywujemy i uruchomiamy usługę OpenVPN-a:

Klient

Na serwerze generujemy certyfikat i klucz dla klienta:

Kopijemy poniższe pliki na urządzenie, które będzie łączyć się z serwerem:

W katalogu /etc/openvpn tworzymy plik client.conf i wklejamy poniższą zawartość. W „remote” wpisujemy adres naszej instancji:

Podobnie jak w przypadku serwera aktywujemy i uruchomiamy usługę OpenVPN-a dla klienta:

Na kliencie sprawdzamy adres jaki został nam przydzielony:

Sprawdzamy na kliencie oraz na serwerze czy komunikacja działa poprawnie:

Linki

https://aws.amazon.com/premiumsupport/knowledge-center/ec2-enable-epel/
https://www.comparitech.com/blog/vpn-privacy/how-to-make-your-own-free-vpn-using-amazon-web-services/
http://blog.dutchcoders.io/configuring-openvpn-using-easyrsa/

OpenStack – część 2 – Tworzenie instancji oraz sieci

Zakładam, że posiadamy już OpenStacka (wersja queens) zainstalowanego w systemie CentOS 7.

Obrazy systemów

Przed utworzeniem instancji należy dodać obraz systemu. Domyślnie mamy do dyspozycji jeden obraz z systemem CirrOS. My jednak załadujemy własny obraz. Możemy to zrobić na dwa sposoby. Pierwszy to pobranie obrazu ISO i samodzielna instalacja systemu, a drugi to użycie obrazu przygotowanego specjalnie dla OpenStacka. Lista dystrubucji które udostępniają obrazy dla OpenStacka znajduje się tutaj. Skorzystamy z najnowszego obrazu Debiana (link do pobrania).

Po pobraniu obrazu wchodzimy na stronę zarządzania obrazami „Project -> Compute -> Images” i klikamy na przycisk „Create Image”.

Wpisujemy nazwę, wybieramy plik z obrazem oraz format „QCOW2 – QEMU Emulator” i naciskamy „Create Image”.

Po chwili do listy obrazów zostanie dodany nowy obraz.

Sieci

W tym momencie powinniśmy utworzyć instancję, ale każda instancja do działania wymaga sieci. OpenStack domyślnie tworzy jedną sieć o nazwie „public”, której użycie powinno nam zagwarantować nadanie adresu naszej instancji przez DHCP oraz dostęp do sieci Internet, ale… z jakiegoś powodu to nie działa. Instancje nie otrzymują adresów.

Problem udało mi się rozwiązać dodając własną sieć.

Przechodzimy do „Project -> Network -> Networks” i klikamy na „Create Network”. Uzupełniamy nazwę sieci („prod”), klikamy „Next” i uzupełniamy nazwę podsieci oraz „Network Address” np. „20.0.0.0/24”, następnie „Next” oraz „Create”.

Teraz musimy podłączyć naszą sieć do Internetu. Podczas instalacji tworzona jest sieć publiczna o nazwie „public” oraz router o nazwie „rourter1”. Te dwa elementy zapewniają nam łączność ze światem zewnętrznym.

Najłatwiej byłoby dodać naszą sieć do domyślnego routera („router1”), ale ta operacja powoduje, że nie da się przypisywać zewnętrznych adresów IP do naszych instancji. Co ciekawe, da się to zrobić przy pomocy narzędzi konsolowych. Problem można ominąć tworząc własny router i ustawiając jego domyślną bramę na router publiczny („router1”).

Wchodzimy w „Project -> Network -> Routers” i klikamy na „Create Router”. Uzupełniamy nazwę i ponownie na „Create Router”. Wchodzimy w szczegóły naszego routera i klikamy w „Add Interface”. W „Subnet” wybieramy naszą sieć („prod”) i naciskamy „Submit”. Następnie klikamy w „Set Gateway”, w „External Network” wybieramy sieć „public” i klikamy „Submit”.

Od teraz wszystkie instancje w naszej sieci („prod”) będą miały dostęp do Internetu.

Instancje

Przechodzimy do „Project -> Compute -> Instances” i klikamy na „Launch Instance”. Uzupełniamy „Instance Name” w zakładce „Details”, wybieramy obraz w zakładce „Source” oraz nowo utworzoną sieć („prod”) w zakładce „Networks”. Następnie tworzymy klucz w zakładce „Key Pair”, pobieramy klucz prywatny i zapisujemy go w pliku. Będziemy go używali do łączenia się z naszą instancją przez SSH. Naciskamy „Launch Instance”.

Możemy kilknąć w naszą instancję, a następnie w zakładkę „Log”, aby zobaczyć co się dzieje. Aby zobaczyć pełny log możemy kliknąć na „View Full Log”. Interesuje nas tabela z interfejsami sieciowymi (szukamy ciągu znaków „Net device info”). Zobaczymy w niej, że interfejs „eth0” utrzymał adres (np. „20.0.0.9”).

Możemy teraz wejść w „Project -> Network -> Network Topology”, aby zobaczyć jak wygląda struktura naszej sieci.

Niestety, nie może się połączyć z instacją, ponieważ dostęp do instancji jest zablokowany (port 22) oraz instancja nie posiada zewnętrzengo adresu IP.

Security groups

Przechodzimy do „Admin -> Network -> Security Groups”. Przy grupie „default” klikamy na „Manage Rules” i „Add Rule”. W nowym oknie w „Rule” wybieramy „SSH” i naciskamy „Add”. W celach testowych możemy również dodać reguły zezwalające na ICMP dzięki czemu będziemy mogli pingować nasze instancje. Dodajemy regułę „All ICMP” dwa razy. Za pierwszym razem w „Direction” wybierami „Ingres”, a za drugim „Engress”.

Zewnętrze adresy IP

OpenStack powinien utworzyć w naszym systemie interfejs „br-ex”, który służy do komunikacji pomiędzy naszymi instancjami, a światem zewnętrznym. Jego obecność możemy sprawdzić poleceniem „ip addr”.

Jak widzimy interfejs posiada adres 172.24.4.1/24. Nasze instancje będą otrzymywać adresy właśnie z tego zakresu.

Wracamy do listy instancji. Rozwijamy menu obok instancji i wybieramy „Assiociate Floating IP”. W nowym oknie naciskamy na „+” obok pustej listy IP. W kolejnym oknie naciskamy tylkoe „Allocate IP” i wracamy do poprzedniego okna. W „IP Adress” będzie nowo dodany adres IP, a w „Port to be associated” powinien zostać automatycznie wybrany interfejs sieciowy naszej instancji. Klikamy „Assiocate”.

Po odświeżeniu listy instancji zobaczymy, że adres IP został przypisany. Sprawdzamy poleceniem „ping”:

Oraz polecniem „nmap” czy port 22 jest odblokowany:

Teraz możemy połączyć się z instancją przy pomocy SSH:

Domyślnie moja instancja nie posiadała skonfigurowanych adresów DNS w pliku /etc/resolv.conf. Po dodaniu serwerów DNS:

Niestety ta operacja nie jest trwała i DNS-y są kasowane po każdym restarcie instancji, nie wiem jeszcze w jaki sposób zachować konfigurację DNS-ów lub gdzie w OpenStacku należy je skonfigurować.

OpenStack – część 1 – Instalacja na CentOS

Zakładam, że posiadamy już zainstalowany system CentOS w wersji 7 (obraz).

Według jednego z poradników przed instalacją OpenStacka należy wyłączyć w systemie usługi NetworkManager i firewalld oraz włączyć usługę network:

Instalujemy paczkę z najnowszą na chwile obecną wersją Queens:

Aktualizujemy repozytoria i pakiety:

Instalujemy paczkę packstack, która automatycznie zainstaluje usługi OpenStacka:

Uruchamiamy packstacka:

W przypadku wystąpienia poniższego błędu:

należy zainstalować python-setuptools:

Ponownie uruchamiamy packstacka i czekamy na zakończenie instalacji usług OpenStacka. W moim przypadku trwało to około 40 minut:

Wchodzimy w przeglądarce pod adres naszego serwer, aby uruchomić panel zarządzania Horizon. Login i hasło do panelu zarządzania znajdują się w pliku „keystonerc_admin”.

Jeżeli chcemy korzystać z poleceń konsoli OpenStacka, to należy uruchomić ten plik:

Np. poniższe polecenie zwróci listę usług OpenStacka:

Linki

https://www.youtube.com/watch?v=ozUvALQw5T8

https://bugzilla.redhat.com/show_bug.cgi?id=1553463

Wyłączenie Mass Media Storage w NRF52 DevKit

Uruchom J-Link Commander:

Wydaj polecenie „MSDDisable”:

Zamykamy J-Link Commander.

Po odłączeniu i ponownym podłączeniu devkita przez USB nie będzie one montowany jako Mass Media Storage. Wprawdzie stracimy możliwość programowania devkita przez ładowanie firmware’u na dysk USB, ale nie będziemy musieli go resetować przed próbą połączenia po każdorazowym podłączeniu go przez USB do komputera.

Montowanie obrazu UBIFS

Tworzymy urządzenie o rozmiarze 204800 KiB. Musi być większy niż obraz, który chcemy zamontować:

Stan urządzeń możemy sprawdzić poleceniem:

Wynik:

Flashujemy urządzenie:

Urządzenie zawiera już nasz obraz. Teraz musimy nakazać modułowi jego użycie:

Montujemy urządzenie w wybranym katalogu:

Teraz możemy przeglądać jego zawartość:

Wynik:

Linki

https://pjankows.blogspot.com/2012/01/how-to-mount-ubi-image.html

Root i TWRP dla Xiaomi Redmi 3

Jak zdobyć uprawnienia roota:

http://en.miui.com/thread-214252-1-1.html

Jeżeli link nie będzie działa, to można pobrać stąd:

root_xiaomi_redmi3-choimobile-vn

Jak zainstalować TWRP

https://twrp.me/devices/xiaomiredmi3.html

Instalacja serwera Plex na Raspberry Pi 2

Aktualizujemy repozytoria:

Upewniamy się, że mamy zainstalowane en_US.UTF-8:

Upewniamy się, że mamy odpowiednią wersję libc (min. 2.19):

Instalujemy potrzebne paczki:

Pobieramy serwer Plex. Najbardziej aktualny link zdobędziemy po wejściu na stronę https://plex.tv/downloads, kliknięciu w NAS, a następnie w ARMV7:

Instalujemy serwer:

Uruchamiamy serwer:

Wchodzimy na stronę:

Linki

http://www.htpcguides.com/install-plex-media-server-on-raspberry-pi-2/

Git – Patch does not have a valid e-mail address.

Poniższy błąd pojawia się, gdy chcemy użyć patcha w innym formacie niż akceptowanym przez polecenie „git am”:

Prostym rozwiązaniem jest dodanie dowolnego nagłówka w poprawnym formacie. Przykład:

Linki

http://git.661346.n2.nabble.com/Problems-with-git-am-td3895920.html

Git – SSL certificate problem: unable to get local issuer certificate

Ten problem pojawia się, gdy sami tworzymy certyfikaty SSL dla Gita.

Poprawna metoda rozwiązania problemu, to wskazanie Gitowi certyfikatów CA:

Problem można również pominąć wyłączyć sprawdzanie certyfikatów w Gicie:

Linki

http://www.jamescoyle.net/how-to/1891-git-ssl-certificate-problem-caused-by-self-signed-certificates