FQDN.pl

Fully Qualified Domain Name — przewodnik po systemie DNS, hierarchii domen i narzędziach diagnostycznych

Fully Qualified Domain Name — a guide to DNS, domain hierarchy, TLDs and diagnostic tools

snake@viper:~
$

Co to jest FQDN?

What is FQDN?

FQDN (Fully Qualified Domain Name — w pełni kwalifikowana nazwa domenowa) to pełna, jednoznaczna ścieżka identyfikująca konkretny host w hierarchii systemu nazw domenowych (DNS). W odróżnieniu od zwykłej nazwy domeny, FQDN zawiera wszystkie poziomy hierarchii — od nazwy hosta, przez domenę organizacji i domenę najwyższego poziomu (TLD), aż po niewidoczną kropkę oznaczającą strefę korzenia (root zone).

Termin został formalnie zdefiniowany w RFC 1035 (1987) — dokumencie opisującym implementację i specyfikację systemu DNS. Zgodnie z tą specyfikacją, FQDN to absolutna nazwa w drzewie domenowym, która nie wymaga żadnego uzupełniania ani interpretacji kontekstowej.

Przykład: www.example.pl. — każdy segment oddzielony kropką to osobny poziom w hierarchii DNS. Końcowa kropka reprezentuje korzeń (root) drzewa DNS i jest tym, co czyni nazwę w pełni kwalifikowaną.

Dlaczego potrzebujemy systemu domen?

Internet to sieć miliardów urządzeń, z których każde identyfikowane jest numerycznym adresem IP (np. 93.184.216.34 dla IPv4 lub 2606:2800:220:1:248:1893:25c8:1946 dla IPv6). Zapamiętywanie tych adresów byłoby niewykonalne — dlatego w 1983 roku Paul Mockapetris zaprojektował Domain Name System (DNS, RFC 882/883, później RFC 1034/1035), hierarchiczny i rozproszony system tłumaczący nazwy zrozumiałe dla ludzi na adresy IP.

DNS pełni tę samą funkcję co książka telefoniczna — pozwala odnaleźć numer (adres IP) na podstawie nazwy (domeny). Jednak w odróżnieniu od płaskiej książki telefonicznej, DNS jest drzewem hierarchicznym z jasno zdefiniowanymi poziomami odpowiedzialności. FQDN to pełna ścieżka od liścia tego drzewa do jego korzenia.

FQDN (Fully Qualified Domain Name) is the complete, unambiguous path that identifies a specific host within the Domain Name System (DNS) hierarchy. Unlike a plain domain name, an FQDN includes every level of the hierarchy — from the hostname, through the organization's domain and Top-Level Domain (TLD), all the way to the invisible dot representing the root zone.

The term was formally defined in RFC 1035 (1987) — the document specifying DNS implementation. Per this specification, an FQDN is an absolute name in the domain tree that requires no completion or contextual interpretation.

Example: www.example.pl. — each dot-separated segment is a distinct level in the DNS hierarchy. The trailing dot represents the root of the DNS tree, and it's what makes the name fully qualified.

Why do we need a domain name system?

The Internet is a network of billions of devices, each identified by a numeric IP address (e.g., 93.184.216.34 for IPv4 or 2606:2800:220:1:248:1893:25c8:1946 for IPv6). Memorizing these addresses would be impractical — so in 1983, Paul Mockapetris designed the Domain Name System (DNS, RFC 882/883, later RFC 1034/1035), a hierarchical and distributed system that translates human-readable names into IP addresses.

DNS serves the same function as a phone book — it lets you find a number (IP address) by name (domain). But unlike a flat phone book, DNS is a hierarchical tree with clearly defined levels of authority. An FQDN is the complete path from a leaf of that tree to its root.

Struktura FQDN

FQDN Structure

Każde FQDN składa się z etykiet (labels) oddzielonych kropkami. Czytane od lewej do prawej, przechodzą od najbardziej szczegółowego poziomu (host) do najbardziej ogólnego (root):

Every FQDN consists of labels separated by dots. Read from left to right, they go from the most specific level (host) to the most general (root):

www
hostname
.
example
domena
domain
.
pl
TLD
.
 
root
. (root) │ ┌───────┼───────┐ │ │ │ .pl .com .org ← TLD (Top-Level Domain) │ │ ┌───┘ ┌───┘ │ │ example google ← Domena drugiego poziomu (SLD) │ │ ┌───┘ ┌───┘ │ │ www mail ← Hostname (subdomena) │ │ ▼ ▼ www.example.pl. mail.google.com. ← FQDN

Ograniczenia techniczne

Zgodnie z RFC 1035 i RFC 1123, FQDN podlega ścisłym regułom:

  • Maksymalna długość: 253 znaki (w reprezentacji tekstowej), 255 oktetów w formacie wire DNS
  • Maksymalna długość etykiety: 63 znaki
  • Dozwolone znaki: litery (a-z), cyfry (0-9), myślnik (-) — myślnik nie na początku i końcu
  • Case-insensitive: WWW.Example.PL = www.example.pl (RFC 4343)
  • Pozycje 3-4 etykiety nie mogą być jednocześnie myślnikami, chyba że to IDN Punycode (xn--)

Dlaczego 253, a nie 255? W formacie wire DNS każda etykieta poprzedzona jest bajtem długości, a nazwa kończy się bajtem zerowym. Np. www.example.com. kodowane jest jako: \x03www\x07example\x03com\x00 — bajty długości i terminator zajmują dodatkowe oktety.

. (root) │ ┌───────┼───────┐ │ │ │ .pl .com .org ← TLD (Top-Level Domain) │ │ ┌───┘ ┌───┘ │ │ example google ← Second-Level Domain (SLD) │ │ ┌───┘ ┌───┘ │ │ www mail ← Hostname (subdomain) │ │ ▼ ▼ www.example.pl. mail.google.com. ← FQDN

Technical constraints

Per RFC 1035 and RFC 1123, FQDNs are subject to strict rules:

  • Maximum total length: 253 characters (text representation), 255 octets in DNS wire format
  • Maximum label length: 63 characters
  • Allowed characters: letters (a-z), digits (0-9), hyphen (-) — hyphen not at start or end
  • Case-insensitive: WWW.Example.PL = www.example.pl (RFC 4343)
  • Positions 3-4 of a label must not both be hyphens, unless it's an IDN Punycode label (xn--)

Why 253 and not 255? In DNS wire format, each label is preceded by a length byte, and the name ends with a zero byte. E.g., www.example.com. is encoded as: \x03www\x07example\x03com\x00 — the length bytes and terminator consume extra octets.

Jak działa DNS?

How does DNS work?

Kiedy wpisujesz www.example.com w przeglądarce, uruchamia się złożony proces rozwiązywania nazwy (DNS resolution) — od Twojego komputera, przez kilka serwerów, aż do uzyskania adresu IP. Cały proces trwa zazwyczaj 20-120 milisekund.

1
Cache przeglądarki i systemu
Przeglądarka sprawdza własny cache DNS, potem cache systemu operacyjnego (systemd-resolved, nscd), a na końcu plik /etc/hosts. Jeśli nazwa jest w cache — odpowiedź natychmiastowa, bez zapytania DNS.
2
Stub resolver
Minimalny klient DNS wbudowany w system. Nie wykonuje rekurencji sam — przekazuje zapytanie do rekursywnego resolvera (skonfigurowanego w /etc/resolv.conf lub przez DHCP). Wysyła pakiet UDP na port 53 z flagą RD (Recursion Desired).
3
Rekursywny resolver
Serwer DNS wykonujący pełne rozwiązywanie nazw w imieniu klienta (ISP, Google 8.8.8.8, Cloudflare 1.1.1.1 lub lokalny Unbound/BIND). Sprawdza własny cache — jeśli brak odpowiedzi, rozpoczyna iteracyjne odpytywanie hierarchii DNS.
4
Zapytanie do serwera root
Resolver pyta jeden z 13 serwerów root (A-M). Root nie zna odpowiedzi — zwraca referral: adresy serwerów NS obsługujących domenę TLD (np. .coma.gtld-servers.net).
5
Zapytanie do serwera TLD
Resolver pyta serwer TLD (np. serwer .com operowany przez Verisign). TLD też nie zna końcowej odpowiedzi — zwraca kolejny referral: adresy serwerów NS domeny example.com.
6
Zapytanie do serwera autorytatywnego
Resolver pyta serwer autorytatywny domeny (np. ns1.example.com). Ten serwer zna odpowiedź — zwraca rekord A z adresem IP i flagą AA (Authoritative Answer).
7
Cache i odpowiedź
Resolver cachuje odpowiedź na czas określony przez TTL (Time To Live), zwraca IP do stub resolvera, który przekazuje go aplikacji. Przeglądarka nawiązuje połączenie TCP/TLS z uzyskanym adresem.

When you type www.example.com in your browser, a complex name resolution process kicks off — from your computer, through several servers, until an IP address is obtained. The entire process typically takes 20-120 milliseconds.

1
Browser and OS cache
The browser checks its own DNS cache, then the OS cache (systemd-resolved, nscd), and finally /etc/hosts. If the name is cached — instant response, no DNS query needed.
2
Stub resolver
A minimal DNS client built into the OS. It doesn't perform recursion itself — it forwards the query to a recursive resolver (configured in /etc/resolv.conf or via DHCP). Sends a UDP packet to port 53 with the RD (Recursion Desired) flag set.
3
Recursive resolver
The DNS workhorse (ISP, Google 8.8.8.8, Cloudflare 1.1.1.1, or local Unbound/BIND). Checks its own cache — if no answer, begins iterative querying of the DNS hierarchy.
4
Root server query
The resolver queries one of the 13 root servers (A-M). The root doesn't know the answer — it returns a referral: NS records for the TLD servers (e.g., .coma.gtld-servers.net).
5
TLD server query
The resolver queries the TLD server (e.g., .com server operated by Verisign). The TLD server also doesn't have the final answer — returns another referral: NS records for example.com.
6
Authoritative server query
The resolver queries the domain's authoritative server (e.g., ns1.example.com). This server knows the answer — returns the A record with the IP address and the AA (Authoritative Answer) flag.
7
Caching and response
The resolver caches the answer for the duration specified by the TTL (Time To Live), returns the IP to the stub resolver, which passes it to the application. The browser establishes a TCP/TLS connection to the obtained address.
śledzenie rozwiązywania DNSDNS resolution trace
$ dig +trace www.example.com A

; root → referral do .com; root → referral to .com
com. 172800 IN NS a.gtld-servers.net. ; .com TLD → referral do example.com; .com TLD → referral to example.com
example.com. 172800 IN NS ns1.example.com.
ns1.example.com. 172800 IN A 199.43.135.53
; autorytatywna odpowiedź; authoritative answer
www.example.com. 86400 IN A 93.184.216.34

Protokoły transportowe DNS

DNS tradycyjnie używa UDP na porcie 53 (pakiety do 512 bajtów, lub więcej z EDNS0). Dla dużych odpowiedzi przełącza się na TCP/53. Nowoczesne protokoły szyfrowane: DoT (DNS over TLS, port 853), DoH (DNS over HTTPS, port 443) i DoQ (DNS over QUIC, port 853).

DNS transport protocols

DNS traditionally uses UDP on port 53 (packets up to 512 bytes, or larger with EDNS0). For large responses, it falls back to TCP/53. Modern encrypted protocols: DoT (DNS over TLS, port 853), DoH (DNS over HTTPS, port 443), and DoQ (DNS over QUIC, port 853).

Serwery Root DNS

Root DNS Servers

Istnieje dokładnie 13 tożsamości serwerów root (A-M), ale dzięki routingowi anycast obsługuje je ponad 2000 fizycznych instancji rozmieszczonych na całym świecie. Limit 13 wynika z oryginalnego ograniczenia protokołu DNS — 13 wpisów NS z glue records (adresy IPv4) to maksimum, jakie mieściło się w 512-bajtowym pakiecie UDP.

There are exactly 13 root server identities (A-M), but thanks to anycast routing, they are served by over 2,000 physical instances worldwide. The limit of 13 comes from the original DNS protocol constraint — 13 NS entries with IPv4 glue records were the maximum that fit in a 512-byte UDP packet.

LiteraOperatorIPv4Instancje
AVerisign, Inc.198.41.0.459
BUSC-ISI170.247.170.26
CCogent Communications192.33.4.1213
DUniversity of Maryland199.7.91.13231
ENASA (OCIO)192.203.230.10328
FInternet Systems Consortium192.5.5.241366
GDISA (U.S. DoD)192.112.36.46
HU.S. Army DEVCOM ARL198.97.190.5312
INetnod (Szwecja)192.36.148.1790
JVerisign, Inc.192.58.128.30150
KRIPE NCC (Holandia)193.0.14.129153
LICANN199.7.83.42141
MWIDE Project (Japonia)202.12.27.3329
LetterOperatorIPv4Instances
AVerisign, Inc.198.41.0.459
BUSC-ISI170.247.170.26
CCogent Communications192.33.4.1213
DUniversity of Maryland199.7.91.13231
ENASA (OCIO)192.203.230.10328
FInternet Systems Consortium192.5.5.241366
GDISA (U.S. DoD)192.112.36.46
HU.S. Army DEVCOM ARL198.97.190.5312
INetnod (Sweden)192.36.148.1790
JVerisign, Inc.192.58.128.30150
KRIPE NCC (Netherlands)193.0.14.129153
LICANN199.7.83.42141
MWIDE Project (Japan)202.12.27.3329
odpytanie serwera rootquerying a root server
$ dig @198.41.0.4 dns.pl NS

; Root server A (Verisign) → referral do .pl; Root server A (Verisign) → referral to .pl
pl. 172800 IN NS a-dns.pl.
pl. 172800 IN NS b-dns.pl.
pl. 172800 IN NS d-dns.pl.
pl. 172800 IN NS f-dns.pl.
pl. 172800 IN NS h-dns.pl.
pl. 172800 IN NS j-dns.pl.

Rodzaje domen najwyższego poziomu (TLD)

Types of Top-Level Domains (TLDs)

TLD (Top-Level Domain) to najwyższy poziom w hierarchii DNS, znajdujący się bezpośrednio pod strefą root. Zarządzanie nimi koordynuje ICANN (Internet Corporation for Assigned Names and Numbers), a rejestr TLD prowadzi IANA (Internet Assigned Numbers Authority). Na początku 2026 roku istnieje ponad 1500 aktywnych TLD.

ccTLD — domeny krajowe

Dwuliterowe kody przypisane krajom i terytoriom zgodnie z normą ISO 3166-1 alpha-2. Łączna liczba rejestracji ccTLD: ~146,3 miliona (Q1 2026).

A TLD (Top-Level Domain) is the highest level in the DNS hierarchy, sitting directly below the root zone. Their management is coordinated by ICANN (Internet Corporation for Assigned Names and Numbers), and the TLD registry is maintained by IANA (Internet Assigned Numbers Authority). As of early 2026, there are over 1,500 active TLDs.

ccTLD — Country Code TLDs

Two-letter codes assigned to countries and territories per ISO 3166-1 alpha-2. Total ccTLD registrations: ~146.3 million (Q1 2026).

#TLDKrajCountryRejestracjeRegistrations
1.cnChinyChina~21,0M
2.deNiemcyGermany~17,7M
3.ukWielka BrytaniaUnited Kingdom~10,4M
4.ruRosjaRussia~6,6M
5.nlHolandiaNetherlands~6,2M
6.brBrazyliaBrazil~5,4M
7.frFrancjaFrance~4,5M
8.auAustraliaAustralia~4,3M
9.euUnia EuropejskaEuropean Union~3,9M
10.inIndieIndia~3,5M
11.itWłochyItaly~3,5M
12.usStany ZjednoczoneUnited States~2,8M
13.plPolskaPoland~2,6M
14.chSzwajcariaSwitzerland~2,5M
15.caKanadaCanada~2,4M
16.esHiszpaniaSpain~1,9M
17.jpJaponiaJapan~1,8M
18.beBelgiaBelgium~1,7M
19.krKorea PołudniowaSouth Korea~1,6M
20.czCzechyCzech Republic~1,4M

gTLD — domeny generyczne

Oryginalne domeny generyczne bez ograniczeń geograficznych. .com z ponad 157 milionami rejestracji jest największą domeną na świecie.

gTLD — Generic TLDs

Original generic domains without geographical restrictions. .com with over 157 million registrations is the world's largest TLD.

TLDPrzeznaczeniePurposeRejestracjeRegistrations
.comKomercyjne (bez ograniczeń)Commercial (unrestricted)~157,2M
.netSieci (bez ograniczeń)Network (unrestricted)~12,6M
.orgOrganizacje (bez ograniczeń)Organizations (unrestricted)~11,1M
.infoInformacyjneInformation~6,2M
.bizBiznesoweBusiness~1,3M

Nowe gTLD (po 2012)

Po rozszerzeniu ICANN w 2012 roku wprowadzono ponad 1200 nowych gTLD. Łączna liczba rejestracji: ~38 milionów (wzrost 13,5% rok do roku). Obejmują domeny tematyczne (.app, .dev), geograficzne (.london, .tokyo) i brandowe (.google, .amazon).

Ciekawostka: .app i .dev (oba należą do Google) mają wymuszone HTTPS przez preloaded HSTS — nie da się ich użyć bez certyfikatu SSL.

Uwaga na .io — technicznie to ccTLD Brytyjskiego Terytorium Oceanu Indyjskiego, ale używany jest jako domena technologiczna. Po porozumieniu w sprawie suwerenności z Mauritiusem (2024), jego przyszłość jest pod obserwacją IANA.

sTLD — domeny sponsorowane

Domeny ograniczone do konkretnych społeczności, z organizacją sponsorującą weryfikującą uprawnienia:

New gTLDs (post-2012)

After ICANN's expansion in 2012, over 1,200 new gTLDs were introduced. Total registrations: ~38 million (13.5% YoY growth). These include topical domains (.app, .dev), geographic (.london, .tokyo), and brand TLDs (.google, .amazon).

Fun fact: .app and .dev (both Google registries) enforce HTTPS via preloaded HSTS — they cannot be used without an SSL certificate.

Note on .io — technically a ccTLD for British Indian Ocean Territory, but widely used as a tech domain. Following the 2024 sovereignty agreement with Mauritius, its long-term future is under IANA review.

sTLD — Sponsored TLDs

Domains restricted to specific communities with a sponsoring organization enforcing eligibility:

TLDSponsorSponsorSpołecznośćCommunity
.eduEducauseAkredytowane uczelnie w USAU.S. accredited post-secondary institutions
.govCISA (DHS)Rząd USA (federalny, stanowy, lokalny)U.S. government entities
.milDISA (DoD)Wojsko USAU.S. military
.intIANAOrganizacje traktatowe (NATO, WHO)International treaty organizations
.aeroSITATransport lotniczyAir transport industry
.coopDotCooperationSpółdzielnieCooperative associations
.postUPUUsługi pocztowePostal services

Domena infrastrukturalna — .arpa

.arpa (Address and Routing Parameter Area) — jedyna domena infrastrukturalna w DNS, zarządzana przez IANA pod nadzorem IETF (RFC 3172). Oryginalnie dla ARPANET, dziś służy wyłącznie celom technicznym:

  • in-addr.arpa — reverse DNS dla IPv4
  • ip6.arpa — reverse DNS dla IPv6
  • e164.arpa — mapowanie numerów telefonów (ENUM)
  • home.arpa — sieci domowe (RFC 8375)

IDN ccTLD — domeny w alfabetach narodowych

Zinternatywizowane domeny krajowe używające skryptów innych niż łaciński. Wewnętrznie przechowywane jako Punycode (prefiks xn--). Istnieje ~59 IDN ccTLD w 23 skryptach.

Infrastructure TLD — .arpa

.arpa (Address and Routing Parameter Area) — the only infrastructure TLD in DNS, managed by IANA under IETF oversight (RFC 3172). Originally for ARPANET, now used exclusively for technical purposes:

  • in-addr.arpa — IPv4 reverse DNS
  • ip6.arpa — IPv6 reverse DNS
  • e164.arpa — telephone number mapping (ENUM)
  • home.arpa — home networks (RFC 8375)

IDN ccTLDs — Internationalized domains

Internationalized country-code domains using non-Latin scripts. Internally stored as Punycode (xn-- prefix). Approximately 59 IDN ccTLDs exist across 23 scripts.

SkryptScriptTLD (Unicode)PunycodeKrajCountry
CyrylicaCyrillic.рфxn--p1aiRosjaRussia
CyrylicaCyrillic.укрxn--j1amhUkrainaUkraine
ArabskiArabic.مصرxn--wgbh1cEgiptEgypt
ChińskiChinese.中国xn--fiqs8sChinyChina
DewanagariDevanagari.भारतxn--h2brj9cIndieIndia
TajskiThai.ไทยxn--o3cw4hTajlandiaThailand
HangulHangul.한국xn--3e0b707eKorea Płd.South Korea

Typy rekordów DNS

DNS Record Types

DNS przechowuje dane w rekordach zasobów (Resource Records). Każdy rekord ma typ, klasę (prawie zawsze IN — Internet), TTL i dane. Poniżej najważniejsze typy:

DNS stores data in Resource Records. Each record has a type, class (almost always IN — Internet), TTL, and data. The most important types:

TypRFCOpisPrzykład
A1035Mapuje nazwę na adres IPv4example.com. A 93.184.216.34
AAAA3596Mapuje nazwę na adres IPv6example.com. AAAA 2606:2800:...
CNAME1035Alias — wskazuje na inną nazwęwww CNAME example.com.
MX1035Serwer poczty z priorytetemMX 10 mail.example.com.
NS1035Serwer nazw (delegacja strefy)NS ns1.example.com.
TXT1035Tekst — SPF, DKIM, weryfikacja"v=spf1 include:... ~all"
SOA1035Początek strefy — metadanens1 admin 2024010101 ...
PTR1035Reverse DNS — IP → nazwa93.in-addr.arpa. PTR ...
SRV2782Lokalizacja usługi (host, port)SRV 10 60 5060 sip....
CAA8659Autoryzacja CA do wydania certyfikatuCAA 0 issue "letsencrypt.org"
DNSKEY4034Klucz publiczny DNSSECKSK (257) / ZSK (256)
DS4034Hash klucza potomka (łańcuch zaufania)W strefie nadrzędnej
TypeRFCDescriptionExample
A1035Maps name to IPv4 addressexample.com. A 93.184.216.34
AAAA3596Maps name to IPv6 addressexample.com. AAAA 2606:2800:...
CNAME1035Alias — points to another namewww CNAME example.com.
MX1035Mail exchanger with priorityMX 10 mail.example.com.
NS1035Nameserver (zone delegation)NS ns1.example.com.
TXT1035Text — SPF, DKIM, verification"v=spf1 include:... ~all"
SOA1035Start of Authority — zone metadatans1 admin 2024010101 ...
PTR1035Reverse DNS — IP → hostname93.in-addr.arpa. PTR ...
SRV2782Service locator (host, port)SRV 10 60 5060 sip....
CAA8659CA authorization for cert issuanceCAA 0 issue "letsencrypt.org"
DNSKEY4034DNSSEC public keyKSK (257) / ZSK (256)
DS4034Child key hash (trust chain)In parent zone

FQDN vs PQDN

PQDN (Partially Qualified Domain Name) to niepełna nazwa domenowa — skrót, który wymaga uzupełnienia przez resolver DNS. Różnica między FQDN a PQDN ma ogromne znaczenie praktyczne, szczególnie w środowiskach korporacyjnych i Kubernetes.

PQDN (Partially Qualified Domain Name) is an incomplete domain name — a shorthand that requires completion by the DNS resolver. The difference between FQDN and PQDN has significant practical implications, especially in corporate environments and Kubernetes.

AspektFQDNPQDN
Pełna ścieżkaTak — od hosta do rootNie — wymaga uzupełnienia
Końcowa kropkamail.example.pl.mail
JednoznacznośćGlobalnie unikalnyZależy od search domain
ZastosowanieZone files, SSL, MX, PTRShell, /etc/hosts, lokalna sieć
AspectFQDNPQDN
Complete pathYes — host to rootNo — needs completion
Trailing dotmail.example.pl.mail
AmbiguityGlobally uniqueDepends on search domain
Use caseZone files, SSL, MX, PTRShell, /etc/hosts, local network
/etc/resolv.conf
# search domain — PQDN zostanie uzupełnione# search domain — PQDN will be completed
search corp.example.com example.com
nameserver 10.0.0.1
ndots: 1


# Co się dzieje z PQDN:# What happens with a PQDN:
$ ssh web01
# → resolver próbuje: web01.corp.example.com.# → resolver tries: web01.corp.example.com.

$ ssh web01.prod.example.com.
# → FQDN (kropka!) — resolver NIE dodaje search domain# → FQDN (dot!) — resolver does NOT append search domain

W Kubernetes domyślne ndots:5 oznacza, że każda nazwa z mniej niż 5 kropkami najpierw dostaje search domain — to generuje 4-5 zbędnych zapytań DNS na każdy lookup. Wiele klastrów produkcyjnych ustawia ndots:2 lub używa FQDN z kropką na końcu.

In Kubernetes, the default ndots:5 means any name with fewer than 5 dots gets search domains prepended first — generating 4-5 unnecessary DNS queries per lookup. Many production clusters override this to ndots:2 or use FQDNs with trailing dots.

Gdzie FQDN jest kluczowe?

Where does FQDN matter?

SSL/TLS — certyfikaty

Certyfikat SSL/TLS zawiera identyfikatory w polu SAN (Subject Alternative Name). Przeglądarka porównuje FQDN z wpisami SAN — niezgodność = ERR_CERT_COMMON_NAME_INVALID. Wildcard *.example.pl matchuje www.example.pl, ale nie matchuje example.pl ani sub.www.example.pl.

SMTP — EHLO/HELO

Serwer SMTP identyfikuje się komendą EHLO mail.example.com (RFC 5321). Odbiorca wykonuje FCrDNS (Forward-Confirmed reverse DNS): sprawdza PTR łączącego IP, potem A record tego PTR, i porównuje z EHLO. Niezgodność = sygnał spamu.

Reverse DNS (PTR)

Rekordy PTR mapują adresy IP na FQDN. IPv4 używa in-addr.arpa (odwrócone oktety), IPv6 używa ip6.arpa (format nibble). Kluczowe dla: dostarczalności maili, logowania SSH, audytów bezpieczeństwa.

Active Directory

AD jest fundamentalnie zbudowane na DNS. Kontrolery domeny rejestrują rekordy SRV (_ldap._tcp.dc._msdcs.corp.example.com.), Kerberos polega na FQDN w Service Principal Names (SPN), a relacje zaufania między domenami używają referrali opartych na FQDN.

Kubernetes — Service Discovery

Kubernetes ma wbudowany DNS (CoreDNS) ze strukturalną hierarchią FQDN: <serwis>.<namespace>.svc.cluster.local.. Pody w StatefulSet mają indywidualne FQDN: pod-0.my-service.default.svc.cluster.local.

SPF, DKIM, DMARC

Trzy mechanizmy uwierzytelniania poczty — wszystkie oparte na rekordach DNS pod ściśle określonymi FQDN. SPF: rekord TXT w domenie nadawcy. DKIM: klucz publiczny pod selector._domainkey.example.com.. DMARC: polityka pod _dmarc.example.com.. Błędne FQDN = rekord ignorowany.

SSL/TLS — Certificates

SSL/TLS certificates contain identifiers in the SAN (Subject Alternative Name) field. The browser compares the FQDN against SAN entries — mismatch = ERR_CERT_COMMON_NAME_INVALID. Wildcard *.example.pl matches www.example.pl, but does not match example.pl or sub.www.example.pl.

SMTP — EHLO/HELO

SMTP servers identify themselves with EHLO mail.example.com (RFC 5321). The receiving server performs FCrDNS (Forward-Confirmed reverse DNS): checks PTR for the connecting IP, then A record for that PTR result, and compares with EHLO. Mismatch = spam signal.

Reverse DNS (PTR)

PTR records map IP addresses to FQDNs. IPv4 uses in-addr.arpa (reversed octets), IPv6 uses ip6.arpa (nibble format). Critical for: email deliverability, SSH logging, security audit trails.

Active Directory

AD is fundamentally built on DNS. Domain controllers register SRV records (_ldap._tcp.dc._msdcs.corp.example.com.), Kerberos relies on FQDNs for Service Principal Names (SPNs), and trust relationships use FQDN-based referrals.

Kubernetes — Service Discovery

Kubernetes has built-in DNS (CoreDNS) with a structured FQDN hierarchy: <service>.<namespace>.svc.cluster.local.. StatefulSet pods have individual FQDNs: pod-0.my-service.default.svc.cluster.local.

SPF, DKIM, DMARC

Three email authentication mechanisms — all based on DNS records at precisely defined FQDNs. SPF: TXT record at the sender's domain. DKIM: public key at selector._domainkey.example.com.. DMARC: policy at _dmarc.example.com.. Wrong FQDN = record silently ignored.

Narzędzia diagnostyczne DNS

DNS Diagnostic Tools

Podstawowe narzędzia do diagnostyki i rozwiązywania problemów DNS:

Essential tools for DNS diagnostics and troubleshooting:

dig — Domain Information Groper
# Podstawowy lookup rekordu A# Basic A record lookup
$ dig example.com

# Konkretny typ rekordu# Specific record type
$ dig example.com MX
$ dig example.com TXT

# Pytanie do konkretnego serwera# Query a specific server
$ dig @8.8.8.8 example.com

# Śledzenie pełnej ścieżki rozwiązywania (root → TLD → auth)# Trace full resolution path (root → TLD → auth)
$ dig +trace example.com

# Krótki output (tylko odpowiedź)# Short output (answer only)
$ dig +short example.com

# Reverse DNS
$ dig -x 1.1.1.1

# DNSSEC
$ dig +dnssec cloudflare.com

# Rekordy CAA (kto może wydać certyfikat)# CAA records (who can issue certificates)
$ dig cloudflare.com CAA
inne narzędziaother tools
# nslookup — cross-platform (działa na Windows)# nslookup — cross-platform (works on Windows)
$ nslookup -type=MX example.com
$ nslookup example.com 8.8.8.8

# host — uproszczony lookup# host — simplified lookup
$ host -t NS example.com
$ host -t TXT example.com

# drill — z weryfikacją DNSSEC# drill — with DNSSEC verification
$ drill -S cloudflare.com

# whois — informacje o rejestracji domeny# whois — domain registration info
$ whois example.com

# Sprawdź FQDN swojego hosta# Check your host's FQDN
$ hostname -f
viper.example.pl
NarzędziePrzeznaczeniePlatforma
digZaawansowana diagnostyka DNS (BIND9)Linux, macOS
nslookupPodstawowy lookup (cross-platform)Linux, macOS, Windows
hostUproszczony lookup (BIND9)Linux, macOS
drillDNSSEC-aware lookup (ldns)Linux
kdigRozszerzony dig z DoT/DoH (Knot DNS)Linux
dogNowoczesny klient DNS (Rust)Cross-platform
whoisInformacje o rejestracji domeny/IPCross-platform
ToolPurposePlatform
digAdvanced DNS diagnostics (BIND9)Linux, macOS
nslookupBasic lookup (cross-platform)Linux, macOS, Windows
hostSimplified lookup (BIND9)Linux, macOS
drillDNSSEC-aware lookup (ldns)Linux
kdigExtended dig with DoT/DoH (Knot DNS)Linux
dogModern DNS client (Rust)Cross-platform
whoisDomain/IP registration infoCross-platform

DNSSEC — rozszerzenia bezpieczeństwa DNS

DNSSEC — Domain Name System Security Extensions

DNSSEC dodaje uwierzytelnianie i integralność do odpowiedzi DNS za pomocą kryptograficznych podpisów cyfrowych. Chroni przed cache poisoning (atak Kaminsky'ego, 2008) i atakami man-in-the-middle. DNSSEC nie szyfruje ruchu DNS — do tego służą DoT, DoH i DoQ.

Łańcuch zaufania

DNSSEC adds authentication and integrity to DNS responses through cryptographic digital signatures. It protects against cache poisoning (Kaminsky attack, 2008) and man-in-the-middle attacks. DNSSEC does not encrypt DNS traffic — DoT, DoH, and DoQ serve that purpose.

Chain of trust

Trust Anchor (root KSK) ← wbudowany w resolvery (RFC 7958) │ ▼ Root DNSKEY (KSK+ZSK) ← Root ZSK podpisuje DS record .com │ ▼ .com DS record ← Hash KSK .com, weryfikowany przez root RRSIG │ ▼ .com DNSKEY (KSK+ZSK) ← KSK pasuje do DS hash; ZSK podpisuje DS example.com │ ▼ example.com DS ← Hash KSK example.com │ ▼ example.com DNSKEY ← ZSK podpisuje rekordy A/MX/TXT │ ▼ example.com A record ← RRSIG weryfikowany przez ZSK
Trust Anchor (root KSK) ← hardcoded in resolvers (RFC 7958) │ ▼ Root DNSKEY (KSK+ZSK) ← Root ZSK signs .com DS record │ ▼ .com DS record ← Hash of .com KSK, verified by root RRSIG │ ▼ .com DNSKEY (KSK+ZSK) ← KSK matches DS hash; ZSK signs example.com DS │ ▼ example.com DS ← Hash of example.com KSK │ ▼ example.com DNSKEY ← ZSK signs A/MX/TXT records │ ▼ example.com A record ← RRSIG verified by ZSK

Root KSK jest zarządzany przez ICANN w kontrolowanych key ceremonies w dwóch bezpiecznych lokalizacjach (Culpeper, VA i El Segundo, CA). Aktualny root KSK został wymieniony w październiku 2018 (algorytm RSASHA256, key tag 20326).

Adopcja DNSSEC (2025): strefa root — tak (od 2010), .com — tak (od 2011), .pl — tak. Domeny drugiego poziomu: ~5-10% .com, znacznie więcej dla niektórych ccTLD (.nl ~60%, .se ~50%, .cz ~70%).

The root KSK is managed by ICANN in controlled key ceremonies at two secure facilities (Culpeper, VA and El Segundo, CA). The current root KSK was rolled in October 2018 (algorithm RSASHA256, key tag 20326).

DNSSEC adoption (2025): root zone — yes (since 2010), .com — yes (since 2011), .pl — yes. Second-level domains: ~5-10% of .com, much higher for some ccTLDs (.nl ~60%, .se ~50%, .cz ~70%).

DNS w Polsce — domena .pl

DNS in Poland — the .pl domain

Domena .pl jest zarządzana przez NASK (Naukowa i Akademicka Sieć Komputerowa) — polski państwowy instytut badawczy z siedzibą w Warszawie. NASK operuje rejestrem .pl od 30 lipca 1990 roku — to jedna z najstarszych domen ccTLD w Europie.

Serwery NS domeny .pl

The .pl domain is managed by NASK (Research and Academic Computer Network) — a Polish national research institute headquartered in Warsaw. NASK has operated the .pl registry since July 30, 1990 — one of the oldest ccTLDs in Europe.

.pl Nameservers

HostnameIPv4IPv6
a-dns.pl192.102.225.532001:7f9::53
b-dns.pl192.195.72.532001:7f9:c::53
d-dns.pl185.159.197.482620:10a:80aa::48
f-dns.pl194.0.25.292001:678:20::29
h-dns.pl185.159.198.482620:10a:80ab::48
j-dns.pl204.61.217.42001:500:14:7004:ad::1

Litery c, e, g, i nie są używane (celowe luki z powodów operacyjnych/anycast). Część serwerów operowana jest przez partnerów zewnętrznych (RIPE NCC, PCH, Netnod).

Domeny drugiego poziomu pod .pl

Funkcjonalne: .com.pl, .biz.pl, .net.pl, .org.pl, .edu.pl, .gov.pl, .mil.pl, .info.pl, .art.pl

Regionalne (118 sztuk): .waw.pl (Warszawa), .krakow.pl, .poznan.pl, .wroc.pl, .gda.pl, .lodz.pl, .katowice.pl, .szczecin.pl, .malopolska.pl, .slask.pl, .mazowsze.pl, .pomorze.pl i inne.

IDN w domenie .pl

NASK wspiera znaki diakrytyczne języka polskiego w nazwach domen: ą, ć, ę, ł, ń, ó, ś, ź, ż. Przykład: żółw.pl jest przechowywany jako xn--zw-8jaa.pl w DNS (Punycode).

Registry Lock

NASK oferuje Registry Lock dla domen o wysokiej wartości — dodatkowe zabezpieczenie wymagające manualnej weryfikacji (w tym potwierdzenia tożsamości) przed zmianami delegacji, serwerów NS lub transferem domeny.

Statystyki

~2,6 miliona aktywnych domen .pl (2025). Rejestr WHOIS: whois.dns.pl. RDAP: rdap.dns.pl. Rejestracja wyłącznie przez autoryzowanych partnerów registrar (nie bezpośrednio w NASK).

Letters c, e, g, i are not used (intentional gaps for operational/anycast reasons). Some servers are operated by external partners (RIPE NCC, PCH, Netnod).

Second-level domains under .pl

Functional: .com.pl, .biz.pl, .net.pl, .org.pl, .edu.pl, .gov.pl, .mil.pl, .info.pl, .art.pl

Regional (118 total): .waw.pl (Warsaw), .krakow.pl, .poznan.pl, .wroc.pl, .gda.pl, .lodz.pl, .katowice.pl, .szczecin.pl, .malopolska.pl, .slask.pl, .mazowsze.pl, .pomorze.pl and more.

IDN in .pl

NASK supports Polish diacritics in domain names: ą, ć, ę, ł, ń, ó, ś, ź, ż. Example: żółw.pl is stored as xn--zw-8jaa.pl in DNS (Punycode).

Registry Lock

NASK offers Registry Lock for high-value domains — an additional security mechanism requiring manual verification (including identity confirmation) before changes to delegation, nameservers, or domain transfer.

Statistics

~2.6 million active .pl domains (2025). WHOIS: whois.dns.pl. RDAP: rdap.dns.pl. Registration only through authorized registrar partners (not directly with NASK).

Walidator FQDN

FQDN Validator

Sprawdź, czy wpisana nazwa jest poprawnym FQDN zgodnie z RFC 1035 i RFC 1123:

Check whether the entered name is a valid FQDN per RFC 1035 and RFC 1123:

FAQ

Co to jest FQDN?

FQDN (Fully Qualified Domain Name) to pełna, jednoznaczna nazwa domenowa identyfikująca konkretny host w hierarchii DNS. Zawiera wszystkie poziomy — od nazwy hosta, przez domenę i TLD, aż po root zone oznaczony kropką na końcu. Przykład: www.example.pl.

Czym FQDN różni się od zwykłej domeny?

Zwykła domena (np. „example.pl") to skrót — FQDN zawiera pełną ścieżkę w hierarchii DNS włącznie z hostem i root zone: www.example.pl. — z kropką na końcu. FQDN jest globalnie unikalny i jednoznaczny, podczas gdy krótka nazwa może być interpretowana różnie w zależności od konfiguracji search domain.

Czy kropka na końcu FQDN jest obowiązkowa?

Technicznie tak — kropka reprezentuje root zone, najwyższy poziom hierarchii DNS. W praktyce przeglądarki i większość aplikacji dodają ją automatycznie. Ale w konfiguracji DNS (zone files w BIND/PowerDNS, rekordy MX/CNAME) jej brak prowadzi do poważnych błędów — serwer dopisze nazwę strefy na końcu.

Co to jest PQDN?

PQDN (Partially Qualified Domain Name) to niepełna nazwa domenowa, np. samo „mail" zamiast „mail.example.pl." — wymaga uzupełnienia przez resolver DNS na podstawie search domain z /etc/resolv.conf. W środowiskach korporacyjnych i Kubernetes PQDN generuje dodatkowe zapytania DNS.

Czy FQDN jest case-sensitive?

Nie. DNS traktuje nazwy jako case-insensitive (RFC 4343). WWW.Example.PL i www.example.pl to ten sam FQDN. Serwery DNS zachowują oryginalną wielkość liter w odpowiedziach, ale porównania zawsze wykonują bez uwzględnienia wielkości.

Jaka jest maksymalna długość FQDN?

253 znaki w reprezentacji tekstowej (RFC 1035). Każda etykieta (segment między kropkami) max 63 znaki. W formacie wire DNS to 255 oktetów, bo każda etykieta ma bajt długości, a nazwa kończy się bajtem zerowym.

Czy adres IP to FQDN?

Nie. FQDN to nazwa domenowa, nie numeryczny adres. Ale adres IP może mieć przypisane FQDN przez rekord PTR (reverse DNS). Np. dig -x 8.8.8.8 zwraca dns.google.

Co to jest TLD?

TLD (Top-Level Domain) to domena najwyższego poziomu — np. .pl, .com, .org. Dzieli się na: ccTLD (krajowe, ISO 3166-1), gTLD (generyczne, .com/.net/.org), nowe gTLD (po 2012: .app, .dev, .xyz), sTLD (sponsorowane: .edu, .gov, .mil) i infrastrukturalne (.arpa). Zarządzanie koordynuje ICANN, rejestr prowadzi IANA.

Jak sprawdzić FQDN swojego serwera?

Linux: hostname -f. Windows PowerShell: [System.Net.Dns]::GetHostEntry(""). Sprawdzenie, czy FQDN resolwuje: dig +short $(hostname -f). Konfiguracja: /etc/hostname (nazwa) + /etc/hosts (mapowanie).

Co to jest DNSSEC?

DNSSEC (DNS Security Extensions) dodaje uwierzytelnianie i integralność do odpowiedzi DNS za pomocą podpisów kryptograficznych (RRSIG). Tworzy łańcuch zaufania od root zone (KSK hardcoded w resolverach) przez TLD do domeny końcowej. Chroni przed cache poisoning i MITM. Nie szyfruje ruchu — do tego służą DoT/DoH/DoQ.

Ile jest serwerów root DNS?

13 tożsamości (A-M), ale ponad 2000 fizycznych instancji na świecie dzięki anycast routing. Limit 13 wynika z ograniczenia 512 bajtów pakietu UDP — 13 wpisów NS z glue records to maksimum jakie się mieściło. EDNS0 (RFC 6891) pozwala na większe pakiety, ale limit 13 utrzymano dla kompatybilności.

Dlaczego FQDN jest ważne dla certyfikatów SSL?

Certyfikat SSL/TLS zawiera listę dozwolonych nazw w polu SAN (Subject Alternative Name). Przeglądarka porównuje FQDN serwera z wpisami SAN — jeśli nie matchują, wyświetla błąd ERR_CERT_COMMON_NAME_INVALID. Wildcard *.example.pl matchuje subdomeny, ale nie samą domenę ani sub-subdomeny.

What is FQDN?

FQDN (Fully Qualified Domain Name) is the complete, unambiguous domain name identifying a specific host in the DNS hierarchy. It includes all levels — from hostname, through domain and TLD, to the root zone indicated by the trailing dot. Example: www.example.pl.

How does FQDN differ from a regular domain?

A regular domain (e.g., "example.pl") is shorthand — an FQDN includes the full DNS hierarchy path including hostname and root zone: www.example.pl. — with the trailing dot. An FQDN is globally unique and unambiguous, while a short name may be interpreted differently depending on search domain configuration.

Is the trailing dot mandatory?

Technically yes — the dot represents the root zone, the highest level of the DNS hierarchy. In practice, browsers and most applications add it automatically. But in DNS configuration (zone files in BIND/PowerDNS, MX/CNAME records), omitting it causes serious errors — the server appends the zone name.

What is PQDN?

PQDN (Partially Qualified Domain Name) is an incomplete domain name, e.g., just "mail" instead of "mail.example.pl." — it requires completion by the DNS resolver using search domains from /etc/resolv.conf. In corporate and Kubernetes environments, PQDNs generate extra DNS queries.

Is FQDN case-sensitive?

No. DNS treats names as case-insensitive (RFC 4343). WWW.Example.PL and www.example.pl are the same FQDN. DNS servers preserve original casing in responses but always compare case-insensitively.

What is the maximum FQDN length?

253 characters in text representation (RFC 1035). Each label (segment between dots) max 63 characters. In DNS wire format it's 255 octets, because each label has a length byte prefix and the name ends with a zero byte.

Is an IP address an FQDN?

No. An FQDN is a domain name, not a numeric address. But an IP can have an associated FQDN via a PTR record (reverse DNS). E.g., dig -x 8.8.8.8 returns dns.google.

What is a TLD?

TLD (Top-Level Domain) is the highest-level domain — e.g., .pl, .com, .org. Categories: ccTLD (country code, ISO 3166-1), gTLD (generic, .com/.net/.org), new gTLDs (post-2012: .app, .dev, .xyz), sTLD (sponsored: .edu, .gov, .mil), and infrastructure (.arpa). Coordinated by ICANN, registry maintained by IANA.

How to check your server's FQDN?

Linux: hostname -f. Windows PowerShell: [System.Net.Dns]::GetHostEntry(""). Verify resolution: dig +short $(hostname -f). Configuration: /etc/hostname (name) + /etc/hosts (mapping).

What is DNSSEC?

DNSSEC (DNS Security Extensions) adds authentication and integrity to DNS responses via cryptographic signatures (RRSIG). Creates a chain of trust from the root zone (KSK hardcoded in resolvers) through TLDs to the target domain. Protects against cache poisoning and MITM. Does not encrypt traffic — DoT/DoH/DoQ serve that purpose.

How many root DNS servers are there?

13 identities (A-M), but over 2,000 physical instances worldwide via anycast routing. The 13 limit comes from the 512-byte UDP packet constraint — 13 NS entries with glue records was the maximum that fit. EDNS0 (RFC 6891) allows larger packets, but the 13 limit is maintained for compatibility.

Why does FQDN matter for SSL certificates?

An SSL/TLS certificate contains allowed names in the SAN (Subject Alternative Name) field. The browser compares the server's FQDN against SAN entries — if they don't match, it shows ERR_CERT_COMMON_NAME_INVALID. Wildcard *.example.pl matches subdomains but not the bare domain or sub-subdomains.