Instalację własnego serwera DNS zaczniemy od zainstalowania odpowiednich pakietów. Do uruchomienia własnego serwera DNS niezbędne będą trzy pakiety: bind, bind-chrootenv i yast2-dns-server. Aby zainstalować wszystkie niezbędne pakiety wystarczy w konsoli jako root wpisać:
# zypper in bind bind-chrootenv yast2-dns-server
Ustawienia pośrednika
Po zainstalowaniu pakietów uruchamiamy YaST2. Wchodzimy w “Usługi sieciowe” i wybieramy serwer DNS. Pojawi się okno “Instalacja serwera DNS: Ustawienia pośrednika”: 
W tym miejscu możemy dodać serwery pośredniczące (są to serwery DNS, do których nasz serwer DNS będzie przesyłał zapytania, na które nie jest w stanie odpowiedzieć).
Dodawanie nowej strefy
Następne okno zawiera konfigurację stref DNS: 
W polu “Nazwa” wpisujemy nazwę naszej domeny, np. “naszadomenalokalna.com”. Typ strefy ustawiamy na “Master” i po kliknięciu “Dodaj” zaznaczamy naszą strefę i klikamy “Edytuj”.
Rekord NS
Rekord NS jest rekordem wymaganym do poprawnej konfiguracji strefy i zawiera informacje o autorytatywnym serwerze DNS dla strefy. W oknie konfiguracji strefy przechodzimy do zakładki “Rekordy NS” i dodajemy adres IP naszego serwera DNS.

Rekord MX
Rekord MX jest rekordem opcjonalnym i zawiera informacje o serwerach pocztowych przyjmujących wiadomości w domenie.

Rekord SOA
Rekord ten określa parametry operacyjne serwera DNS:
Numer seryjny – określa, czy w strefie na serwerach głównych nastąpiły zmiany (serwery podrzędne sprawdzają numer seryjny strefy aby określić, czy strefa wymaga synchronizacji),
TTL – określa domyślny czas życia rekordów w strefie,
Odświeżaj co – określa czas, po którym serwer podrzędny ma synchronizować strefę z serwera głównego,
Ponawiaj co – określa czas, po którym serwery podrzędne mają w przypadku niepowodzenia ponawiać synchronizację strefy z serwera głównego,
Wygaśnie po – określa czas, po którym strefa wygaśnie na serwerach podrzędnych (sewery nie będą odpowiadać na żądania aż do momentu synchronizacji strefy),
Co najmniej – określa jak długo serwery podrzędne powinny przechowywać negatywne odpowiedzi,
Dla potrzeb naszej domeny wartości domyślne będą w pełni wystarczające.

Rekordy
Tutaj ustawimy odwzorowanie nazw na adresy IP. Zanim dodamy rekord, powinniśmy zapoznać się z typami rekordów:
Rekord adresu (A) – odwzorowuje nazwę na adres IP w wersji 4 (IPv4),
Rekord adresu (AAAA) – odwzorowuje nazwę na adres IP w wersji 6 (IPv6),
Rekord nazwy kanonicznej (CNAME) – alias dla nazwy domeny (np. mamy utworzony rekord A, przy użyciu CNAME możemy określić jeden lub więcej rekordów CNAME wskazujących na ten rekord A),
Teraz możemy dodać rekord. Załóżmy, że mamy uruchomiony serwer www i skonfigurowany wirtualny host. Teraz dobrze by było, żeby adres www.mojadomenalokalna.com wskazywało nam na nasz wirtualny host. Wpisujemy więc w „Klucz rekordu” www, „Typ” ustawiamy na rekord A, a w polu „Wartość” podajemy adres IP hosta wirtualnego (w naszym przypadku jest to adres serwera DNS).

Po zakończeniu, mamy już skonfigurowaną domenę “mojadomenalokalna.com”. Teraz należy zapewnić odwrotną translację adresów.
Odwrotna translacja adresów
Odwrotna translacja adresów polega na tłumaczeniu adresu IP na nazwę mnemoniczną (czyli np. 192.168.250.45 na www.mojadomenalokalna.com). Dodanie strefy dla odwrotnej translacji adresów jest bardzo podobne. Przechodzimy do zakładki „Strefy DNS”. W polu „Nazwa” wpisujemy nazwę dla naszej strefy odwrotnej. Adres ten złożony jest z zapisanego od tyłu adresu IP sieci oraz członu in-addr.arpa. W naszym przypadku adres ten wygląda następująco: „250.168.192.in-addr.arpa”.

Po dodaniu strefy klikamy edytuj. Przechodzimy do zakładki „Rekordy NS” i dodajemy odwrotny adres naszego serwera DNS, czyli “45.250.168.192.in-addr.arpa”.

Teraz przechodzimy do zakładki „Rekordy”. Tutaj należałoby omówić jeszcze jeden typ rekordu:
Rekord wskaźnikowy (PTR) – odwzorowuje adres IP na nazwę,
Wpisujemy teraz w polu „Klucz rekordu” końcówkę adresu IP serwera, czyli „45”, a w polu wartość podajemy pełną nazwę rekordu A, czyli „www.mojadomenalokalna.com”.

Nasza strefa oraz strefa odwrotna jest już gotowa.
Pozostałe ustawienia serwera DNS
Teraz przyjrzymy się kilku podstawowym ustawieniom serwera DNS.
Podstawowe ustawienia serwera DNS (Start)
W zakładce „Start” możemy ustawić, kiedy serwer DNS ma być uruchamiany. W polu „Uruchamianie usługi” zaznaczamy „Podczas uruchamiania systemu”. Jeśli mamy uruchomioną zaporę sieciową, należałoby otworzyć port dla serwera DNS. W przeciwnym wypadku pozostałe komputery w sieci nie będą mogły skorzystać z naszego serwera. Zaznaczamy „Otwórz port w zaporze sieciowej”. W przypadku gdy mamy więcej niż jeden interfejs sieciowy, możemy określić na których interfejsach mają być otwarte porty.

Zapisywanie w dzienniku
Przechodzimy do zakładki “Zapisywanie w dzienniku”. Ustawiamy “Typ dziennika” na “Plik”, a w polu nazwa pliku wpisujemy np. “/var/log/dns.log”. W polu “Dodatkowe zapisywanie w dzienniku” zaznaczamy “Zapisuj w dzienniku aktualizacje stref” i “Zapisuj w dzienniku transfery stref”.

Testowanie domeny
Teraz możemy sprawdzić czy nasza domena faktycznie działa. Najpierw należy wpisać do pliku /etc/resolv.conf. Uruchamiamy konsolę i jako root wydajemy polecenie:
# echo "nameserver 192.168.250.45" > /etc/resolv.conf
Polecenie to wpisze nasz serwer DNS do resolv.conf nadpisując poprzednie wpisy. Teraz możemy sprawdzić działanie naszej domeny, używając np. ping:
# ping www.mojadomenalokalna.com
PING www.mojadomenalokalna.com (192.168.250.45) 56(84) bytes of data.
64 bytes from 192.168.250.45: icmp_seq=1 ttl=64 time=0.022 ms
64 bytes from 192.168.250.45: icmp_seq=2 ttl=64 time=0.032 ms
--- www.mojadomenalokalna.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1004ms
rtt min/avg/max/mdev = 0.022/0.027/0.032/0.005 ms
Jak widzimy, nasz ping puszczony na adres www.mojadomenalokalna.com dociera do naszego serwera DNS. Teraz możemy sprawdzić jeszcze odpowiedzi serwera DNS poleceniem dig:
# dig @192.168.250.45 www.mojadomenalokalna.com
; <<>> DiG 9.5.0-P2 <<>> @192.168.250.45 www.mojadomenalokalna.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46518
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.mojadomenalokalna.com. IN A
;; ANSWER SECTION:
www.mojadomenalokalna.com. 172800 IN A 192.168.250.45
;; AUTHORITY SECTION:
mojadomenalokalna.com. 172800 IN NS serwer.mojadomenalokalna.com.
;; ADDITIONAL SECTION:
serwer.mojadomenalokalna.com. 172800 IN A 192.168.250.45
;; Query time: 0 msec
;; SERVER: 192.168.250.45#53(192.168.250.45)
;; WHEN: Wed Jan 7 13:49:08 2009
;; MSG SIZE rcvd: 96
Jeszcze sprawdźmy odwrotną translację:
# dig @192.168.250.45 -x 192.168.250.45
; <<>> DiG 9.5.0-P2 <<>> @192.168.250.45 -x 192.168.250.45
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64290
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;45.250.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
45.250.168.192.in-addr.arpa. 172800 IN PTR www.mojadomenalokalna.com.
;; AUTHORITY SECTION:
250.168.192.in-addr.arpa. 172800 IN NS 45.250.168.192.in-addr.arpa.
;; Query time: 4 msec
;; SERVER: 192.168.250.45#53(192.168.250.45)
;; WHEN: Wed Jan 7 13:49:54 2009
;; MSG SIZE rcvd: 98