Skip to content

Archive

Category: tips & tricks

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.

dns3.png

Rekord MX

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

dns9.png

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.

dns12.png

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).

dns4.png

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”.

dns8.png

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”.

dns9.png

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”.

dns10.png

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.

dns6.png

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”.

dns5.png

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

W najnowszym openSUSE 11.1 znajdziemy nowy pakiet do udostępniania zdalnego pulpitu – Nomad. Jest on o tyle ciekawy, że poza większym bezpieczeństwem i łatwością użytkowania, Nomad umożliwia udostępnianie zdalnego pulpitu wraz z efektami pulpitu (np. Compiz). Niestety pakiet zawarty w repozytoriach wydania 11.1 zawiera bug uniemożliwiający pracę zdalną (dokładne informacje można znaleźć tu, oraz tutaj). Poprawki zostały już zgłoszone i znajdują się w domowym repozytorium factory autora. Do instalacji może posłużyć przygotowany przez ze mnie One Click Install:

Po instalacji uruchamiamy usługę np. z konsoli poleceniem:

$ sudo /etc/init.d/xrdp start

Po instalacji, jeżeli posiadamy aktywną zaporę sieciową, należy odblokować dwa porty tcp używane przez xrdp: 3350 i 3389. Uruchamiamy YaST i przechodzimy do ustawień Zapory ogniowej. W module Zapora ogniowa wybieramy Dozwolone usługi i klikamy Zaawansowane. Teraz wpisujemy porty 3350 i 3389 w polu tcp oddzielając je spacjami:

Konfiguracja zapory sieciowej

Teraz możemy się połączyć zdalnie z naszym pulpitem, np. wykorzystując rdesktop:

$ rdesktop adres_ip_zdalnego_komputera

Okno logowania
Pulpti zdalny

Korzystając z okazji chciałbym zauważyć, że blog obchodzi mały jubileusz gdyż jest to 101 wpis;)

radeon_logo_0.jpg Pobrałem sobie właśnie najnowszy sterownik (o którym zresztą dzisiaj nieco więcej napiszę) i po instalacji niestety spotkał mnie mały zonk :-( . Niby wszystko ładnie działa, ale nie da się odpalić żadnej aplikacji wykorzystującej OpenGL. Przy uruchomieniu np. flgrxinfo dostaję takie komunikaty:

$ fglrxinfo
name of display: :0.0
X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 144 (GLX)
Minor opcode of failed request: 19 (X_GLXQueryServerString)
Serial number of failed request: 13
Current serial number in output stream: 13

Jak się szybko okazało problem tkwił w tym, że używam systemu 64 bitowego, a sterownik załadowany po instalacji do jądra jest 32 bitowy.. Rozwiązanie problemu jest banalne, należy po prostu podmienić plik 32 bitowy 64 bitowym i przestartować X. Najpierw trzeba przejść w tryb tekstowy:

# init 3

Następnie usuwamy moduł z jądra:

# rmmod fglrx

Teraz usuwamy plik 32 bitowy sterownika:

# rm /usr/lib/dri/fglrx_dri.so

I tworzymy symboliczne dowiązanie do pliku 64 bitowego sterownika:

# ln -s /usr/lib64/dri/fglrx_dri.so /usr/lib/dri/fglrx_dri.so

Teraz przechodzimy na init 5 i sprawdzamy czy wszystko chodzi:

$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 2600 XT
OpenGL version string: 2.1.8304 Release

Działa! :-)

Jako, że najnowszy sterownik ATI 8.11 wspiera już serwer X.Org 7.4, możliwa jest jego instalacja pod openSUSE 11.1. Aby zainstalować sterownik pobieramy go ze strony ati.com i uruchamiamy konsolę. W konsoli przechodzimy do katalogu w którym zapisaliśmy pobrany plik, logujemy się na konto root i uruchamiamy instalację:

$ su
# sh ati-driver-installer-8-11-x86.x86_64.run

Sterownik zostanie rozpakowany i uruchomi się graficzny instalator. W pierwszym oknie wybieramy instalację sterownika, klikamy Continue i akceptujemy licencję.
ati1.png

W następnym oknie wybieramy instalację automatyczną..
ati2.png

i przechodzimy do procesu instalacji
ati3.png

Po zakończeniu instalacji powracamy do konsoli i uruchamiamy sax2:
# sax2 -r -m 0=fglrx

Sax2 przygotuje dla nas domyślną konfigurację dla sterownika ATI. Teraz pozostaje tylko uruchomić ponownie serwer X i sprawdzić czy nasz sterownik został poprawnie załadowany. W tym celu możemy użyć konsolowego narzędzia fglrxinfo:

$ fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 2600 XT
OpenGL version string: 2.1.8201 Release

bądź uruchomić Catalyst Control Center (poleceniem amdcccle). W wypadku gdyby sterownik nie został załadowany poprawnie, CCC zwróci nam komunikat z błędem. Jeśli sterownik został prawidłowo zainstalowany, powinniśmy zobaczyć okienko podobne do tego:
ati5.png