
W poprzednim wpisie poznałeś zarys działania DNS oraz jak to wykorzystać we własnym domu na potrzeby blokowania reklam. Na pewnym etapie może jednak się okazać, że to za mało, że chcesz uruchomić swoją stronę internetową, męczy cię brak zielonej kłódeczki przy adresie jakiejś usługi, do szału doprowadzają Cię certyfikaty samopodpisywane a także, do prącia jasnego, szlag człowieka trafia wpisując w przeglądarce 192.168.13.2:2137, zamiast kamerka.adreshomelaba.pl. No, to ten… Kawa w łapę, słuchawki na uszy, masz pan laba do odrobienia.
Teoria spiskowa działania
Klockami, które spowodują, że po wpisaniu w przeglądarce internetowej frazy tylkowentylatory.com (ta strona istnieje!) pojawia się jakaś stronka internetowa, to:
- coś, co pilnuje powiązania pary adres IP – nazwa domeny
- coś, co pozwoli zarejestrować nazwę jakiejś domeny, administrować tym, zarządzać, spowoduje, że jakiś losowy wschodni złodupiec będzie miał bardzo utrudnione zadanie w popsuciu nam zabawek
- coś, co pozwoli nam pobawić się w subdomeny w sposób nie wymagający dyplomu em aj ti
- fajnie, żeby to coś samo pilnowało certyfikatów i nie wymagało od nas za dużo myślenia. Dużo myślenia, to dużo pracy, dużo pracy to mało czasu, mało czasu to mało grania w Need For Speeda, a to już poważne zaniechanie
No dobra, nie wszystko jest potrzebne, ale aby zrobić to popanbuckowemu, to jest niezbędne minimum. Przetłumaczmy zatem, co ja tutaj nawypisywałem, na jakiś zrozumiały język:
- Potrzebujemy domenę a właściwie pomysł na nią. Udaj się do jakiegoś rejestratora domen i sprawdź, co jest tanie i dobre. Pamiętaj, że domeny państwowe (takie jak .pl, .cz, .tv, .de…) są dość drogie i stosunkowo często rejestrowane zawczasu, aby na nich zarobić przy odsprzedaży. Od paru lat jednak funkcjonują domeny pokroju .work, .link, eco, .art i inne tego typu, które są często bardzo tanie, a funkcjonują zupełnie tak samo, jak te kropka pe el. Przynajmniej w warunkach domowego laba. Z rejestratorów domen polecam zarówno polski linux.pl, jak i zagrabaniczny kombajn, jakim jest cloudflare.com. Z zasady domeny z końcówką .pl rejestruję w linux.pl, ale i tak je parkuje następnie w cloudflare. Pozostałe rejestruję od razu w cloudflare. Powody są właściwie trzy:
- stabilność i przewidywalność: nigdy nie podnieśli mi ceny, nie robili pod górę z wywaleniem domeny, ich proxy i rulki kierujące ruchem to złoto a do tego mają sporo działających dość dobrze gadżetów jak zero trust, którego na pewno opiszę. A domeny ze śmieciowymi końcówkami są bardzo tanie.
- po prostu działa to jak należy, chociaż raz znalazłem warunek rozsypujący działanie całej układanki z certyfikatami, proxy i wpisami dotyczącego kierowania ruchem na określone porty. Jest to jednak nadal diagnozowane.
- bezpieczeństwo. Już samo ich DNS Proxy pozytywnie wpływa na bezpieczeństwo serwera (nie eksponujesz bezpośrednio swojego IP serwera, a jest to przewalane przez adres Cloudflare), ale mają także mechanizmy firewalla, statystyki, dostęp do trybu „under attack” który raz uratował mi tyłek, zarządzanie certyfikatami po stronie klienta i pomiędzy CF a własnym serwerem… Okej, ktoś może obsrać portki, że łolaboga to leci przez jakieś inksze serwery. I ma rację. Pamiętaj jednak, że w wielu przypadkach wyższy poziom bezpieczeństwa zapewni jednak firma, która właściwie nie miała wpadek i stała się symbolem security, niż przeciętny kasztan robiący domowego firewalla na swoim TP-Linku. Rachunek zysków i strat jest dość jasny
Dobra, nikt mi za to nie zapłacił, ale jakby ktoś chciał, zapraszam do kontaktu. Mogę w razie czego zareklamować jakiś toster albo żarcie instant dla zabieganych korpoludków.
Musimy zatem zakupić domenę, jak się za to zabrać?
Zakup domeny

Na starcie polecam udać się z całością do Cloudflare. Powody są wymienione powyżej. Zakładam także, że nie chcesz wydawać zbyt dużej sumy pieniędzy, wszak ma to być homelab, nie? No właśnie. Odpuść sobie domeny krajowe, skup się na niemalże śmietniku. Powód jest dość prosty: cena. Spójrz na cenę domeny zupełnie wystarczającej, aby posługiwać się nią na co dzień:

Dla porównania, ta sama domena, ale z inną końcówką (borzetucholski za te słowa dostanę baty):

I tak, to cena za 2 lata, bo za pierwszy rok jest piątak, a nieco więcej.
Rozumiesz w takim razie różnicę w cenie i moją miłość do CF i śmieciowych domen?
Sam proces zakupu jest dość prosty, nie będę go szczegółowo omawiał, bo niezależnie od tego, co kupisz, to w Cloudflare będziesz poprowadzony za rączkę.
Kupiłem domenę, co dalej?
Załóżmy, że masz wystawioną usługę w swojej sieci lokalnej, jakiś serwer www. Załóżmy, że działa na porcie 443/TCP na hoście o adresie 192.168.21.37 i że po wbiciu w przeglądarkę adresu https://192.168.21.37 pojawia się strona internetowa. Chcemy, aby właśnie to się znalazło pod adresem atomowykarzel.work. Załóżmy, że nie powtarzam pewnego słowa na początku zadania.
Udaj się do dashboardu w Cloudflare, tam wybierz swoją domenę, a następnie do ustawień DNS.
Musisz dodać rekord DNS, a dokładniej rekord A. Ktoś wymyślił to na tyle sprytnie, że poukładał i usystematyzował rodzaje rekordów w ramach działania domen. I tak rekord A to coś, to skleja adres IPv4 z domeną jako taką. W dużym uproszczeniu, to właśnie funkcjonalność tego konkretnego rekordu jest tym, co rozumiemy jako DNS. Jeśli chcielibyśmy, jak ostatni zboczeńcy, skleić IPv6, użylibyśmy rekordu AAAA. Gdybyśmy wpadli na pomysł użycia subdomeny (np. nadal.atomowykarzel.work), użylibyśmy rekordu CNAME, który nadal prowadzi na atomowykarzel.work, ale pozwala uporządkować trochę ruch i nadaje adresom eleganckiego sznytu. Rekordy MX przydadzą się przy dłubaniu skrzynek pocztowych, a oprócz nich spotkasz się z PTR, TXT, NS… Tak naprawdę nie musisz pamiętać ich wszystkich już na samym początku. Wiele z nich jest używane w dość mocno specjalizowanych przypadkach i w przeciwieństwie do CNAME i A/AAAA, spotkasz je dwa razy w życiu: raz w ramach swojego laba, drugi raz w pracy, którą właśnie rzucasz.
Traktuj taki wpis związany z DNS jak pudełeczko z przegródkami, które ktoś opisał w sposób usystematyzowany, pozwalający na bardzo szybkie i ustandaryzowane korzystanie z przegró… rekordów DNS. Ot wszystko, żadna magia.
Późniejsze określenia, takie jak wskazywanie w domenie w rekordzie A na adres IPv4, bądź wypowiedź pokroju dodanie subdomeny w CNAME stają po prostu jaśniejsze i bardziej klarowne, gdy traktujesz to w taki sposób, obdarte z magii.
Zatem dodaj w ramach swojej domeny rekord A wskazujący na swoją domenę (np. atomowykarzel.work). Pamiętaj jednak, że serwery DNS potrzebują czasu na rozpropagowanie zmian i może to potrwać chwilę. Przyjmuje się, że kwadrans to całkiem racjonalny czas, potrzebny na rozpropagowanie zmian w infrastrukturze DNS, chociaż może zająć to nawet i 72h.
Nie zliczę, ileż to razy rozwaliłem jakąś konfigurację, z powodu mojego podpalenia że już trzeba natychmiast niech działa ale teraz dawaj dawaj. Jak to mawia detailingowy klasyk: daj temu, kurwa, chwilę poleżeć.
Dodałem, poklikałem, co dalej?
Zwróć uwagę, że powyższa forma pozwoli ci na osiągnięcie sklejenia lokalnego adresu IP z domeną. Czy to błąd? Nie. Ale trochę nam ogranicza to pole manewru:
- Taka domena będzie rozpropagowana publicznie;
- Wpis wskazuje na wewnętrzny adres IP, który możesz dorwać tylko z własnej sieci;
- W swoim domu domena działa, poza przetłumaczy domenę na wewnętrzny adres IP, ale ten nie będzie osiągalny
I takie coś może być wystarczające, ba, sam używam takiego mechanizmu w ramach swojego homelaba, jest to zupełnie poprawne. Nie pozwoli to jednak na swobodne uruchomienie strony internetowej. To wymaga odrobinę większych fikołków z konfiguracją sieci domowej (przekierowanie portów i takie tam, chyba, że chcesz jak ostatni osioł pakować serwer do DMZ. Wtedy tylko pamiętaj, że DMZ rozwija się jako nie potrafię w przekierowanie portów).

Żeby jednak Twoja strona była dostępna nie tylko w domu, a także z internetu – potrzebujesz publicznego adresu IP od swojego dostawcy. Bez tego nawet najpiękniejsza domena będzie sobie wisiała w DNS-ach, ale nikt z zewnątrz się do Ciebie nie dostanie.
Zakończenie?
U mnie działa i właściwie to powinno wystarczyć. Rzuć okiem w linki pod wpisem, znajdziesz tam przydatne narzędzie do sprawdzania propagacji DNS. Sprawdź także dokumentację Cloudflare, jest to dość dobrze, choć technicznie opisane.
Opiszę także później jak wyeksponować taką stronę/usługę/aplikację w internecie, dlaczego dobrze mieć publiczny adres IP, idealnie jeśli do tego jest stały, co zrobić, jeśli się zmienia i co w sytuacji, jeśli jesteśmy za idiotycznym CGNAT albo nie mamy możliwości użycia publicznego adresu IP. Tak, śmierdzi to trochę tunelowaniem w Cloudflare, oj tak.
Źródła i linki
- https://www.whatsmydns.net/ narzędzie do sprawdzania propagacji DNS
- https://developers.cloudflare.com/dns/manage-dns-records/how-to/create-dns-records/ dokumentacja Cloudflare
- https://pasja-informatyki.pl/sieci-komputerowe/dns-rodzaje-rekordow/ niezła ściągawka z rodzajami rekordów DNS
0 komentarzy