Spletna stran uporablja piškotke za boljšo uporabniško izkušnjo in spremljanje statistike obiskov (Google Analytics).
Z nadaljno uporabo spletne strani ali klikom na "Strinjam se", se strinjate z uporabo piškotkov.
Piškotki in njihova uporaba

DNS strežnik na Synology NAS

Objavil Blaž Kristan 1.11.2012 @ 09:22

Že od nekdaj sem imel v svojem domačem omrežju lasten DNS strežnik. Iz dveh razlogov:

  1. gostoval je moje lastne domene in
  2. pospešil je resolvanje internetnih naslovov.

Ko sem pred nekaj meseci ugasnil svoj stari Windows strežnik, je bil DNS edina stvar, ki mi je ni uspelo preseliti na NAS. Ker pa moje potrebe po lastnem gostovanju DNS zon niso bile več nujne, sem jih preselil k registrarju - Domenci, ki gostovanje ponuja zastonj in tako je bil problem rešen.

Vsaj kazalo je tako. :)

DNS strežnik (oz. posrednik) je postal moj stari router, ki pa ni bil DHCP strežnik. In to je pomenilo, da je prihajalo do težav pri resolvanju domačih naslovov, saj router ni vedel za vse naprave v omrežju. Pomagal sem si z dodajanjem .local pripone k imenom naprav, a vseeno sem želel, da mi za statične naslove tega ne bi bilo potrebno.

Tako sem poskušal poiskati ali morda obstaja DNS strežnik za moj NAS. In glej ga zlomka, obstaja! Imenuje se BIND, ki je stalnica na Linux (Unix) okoljih. Žal privzeto v Synologyjevi implementaciji ni naložen in ga je potrebno naložiti ročno. Synology ima odlično zastavljeno nalaganje aplikacij in ostalih komponent v t.i. Package Centru, a tam BINDa, žal, ne najdemo.

Iskanje z Googlom mi je povedalo, da bo potrebno na NAS najprej naložiti Bootstrap. Bootstrap je skripta, ki omogoči nalaganje paketov kot to poznajo uporabniki Linuxov z ukazom "apt-get", le da se tu imenuje ipkg. Sam postopek nalaganja Bootstrapa je dobro razložen na Synology Wiki strani:

  1. Najprej omogočimo SSH login na NAS,
  2. se priljavimo na NAS z uporabnikom root,
  3. naložimo Bootstrap z ukazom WGET (POZOR! biti mora pravi za našo napravo!!),
  4. zaženemo Bootsrap,
  5. pobrišemo Bootstrap datoteko,
  6. zaženemo "ipkg update" in
  7. "ipkg upgrade".

Ko je Bootstrap naložen, sledi še ukaz:

ipkg install bind

in BIND je naložen na NAS. Vendar to še ni dovolj. BIND je potrebno konfigurirati in vpisati zone. Konfiguracija BINDa se nahaja v tekstualnih datotekah, ki jih lahko pripravimo na svojem računalniku ali jih kreiramo na NAS z urejevalnikom vi. Ko so vse konfiguracijske datoteke na svojem mestu (na lokaciji /opt/etc/named) zaženemo DNS strežnik z ukazom:

/opt/etc/init.d/S09named start

 

Da pa ne bo vse zgledalo preveč učeno, sledijo konkretni ukazi, ki jih je potrebno izvesti na NAS. Z rdečo barvo so označeni tisti elementi, ki jih moramo spremeniti glede na svoj NAS oz. svoje potrebe.

cd /volume1/@tmp
wget http://wizjos.endofinternet.net/synology/archief/syno-mvkw-bootstrap_1.2-7_arm-ds111.xsh
chmod +x syno-mvkw-bootstrap_1.2-7_arm-ds111.xsh
sh syno-mvkw-bootstrap_1.2-7_arm-ds111.xsh
rm syno-mvkw-bootstrap_1.2-7_arm-ds111.xsh
vi /root/.profile
# v PATH=.... dodaj PATH=$PATH:...
ipkg update
ipkg upgrade
ipkg install bind
In še konfiguracijske datoteke:

/opt/etc/named/named.conf

//define the local area network here which is allowed to submit query
acl "home" { 192.168.1.0/24; 127.0.0.1; };

//to make the name server public accessible, replace "home" to "any" for all allow statement, e.g.
//   allow-query { "any"; };
//   allow-recursion { "any"; };

options {
    directory "/opt/etc/named";
    allow-query { "home"; };
    allow-recursion { "home"; };
// forward to google dns
    forwarders { 8.8.8.8; };
};

controls {
    inet 127.0.0.1 allow { localhost; } ;
};

logging {
  channel dns_log {
    file "/opt/var/log/dns.log" versions 3 size 2m;
    severity info;
    print-severity yes;
    print-time yes;
    print-category yes;
  };

  category default {
    dns_log;
  };
};

// Add local zone definitions here.
zone "localhost" {
    type master;
    file "db.localhost";
    allow-update { none; };
    notify no;
};

zone "0.0.127.in-addr.arpa" {
    type master;
    file "db.localhost.rev";
    allow-update { none; };
    notify no;
};

//only allow local network to query mydomain.com to preven leaking local network information to public
zone "mydomain.com" {
    type master;
    file "db.mydomain.com";
    allow-query { "home"; };
    allow-update { none; };
    notify yes;
};

zone "1.168.192.in-addr.arpa" {
    type master;
    file "db.192.168.1.rev";
    allow-query { "home"; };
    allow-update { none; };
    notify yes;
};

zone "." {
    type hint;
    file "root.servers";
};

/opt/etc/named/db.localhost

$TTL    86400 ; 24 hours could have been written as 24h
$ORIGIN localhost.
; line below = localhost 1D IN SOA localhost root.localhost
@  1D  IN        SOA @  root (
                              2012110101 ; serial
                              3H ; refresh
                              15 ; retry
                              1w ; expire
                              3h ; minimum
                             )
@  1D  IN  NS @
   1D  IN  A  127.0.0.1

/opt/etc/named/db.localhost.rev

$TTL    86400 ;
; could use $ORIGIN 0.0.127.IN-ADDR.ARPA.
@       IN      SOA     localhost. root.localhost.  (
                        2012110101 ; Serial
                        3h      ; Refresh
                        15      ; Retry
                        1w      ; Expire
                        3h )    ; Minimum
        IN      NS      localhost.
1       IN      PTR     localhost.

/opt/etc/named/db.mydomain.com

$TTL    604800
@       IN      SOA     lan.mydomain.com.      root.mydomain.com.     (
                2012110101 ; Serial
                    604800 ; Refresh
                     86400 ; Retry
                   2419200 ; Expire
                   604800) ; Negative Cache TTL
;
@       IN      NS         nas
//assign NAS IP to nas subdomain
nas     IN      A          192.168.1.100
router IN A 192.168.1.1
//define the rest of the machine of the local network here

/opt/etc/named/db.192.168.1.rev

$TTL    86400   ; 1 day
$ORIGIN 1.168.192.in-addr.arpa.
@       1D      IN      SOA  lan.mydomain.com. root.mydomain.com.     (
                2012110101 ; Serial
                    604800 ; Refresh
                     86400 ; Retry
                   2419200 ; Expire
                   604800) ; Negative Cache TTL

                        IN NS   nas.mydomain.com.
//define 192.168.1.1
1      IN      PTR     router.lan.mydomain.com.
//define the rest of the machine in the LAN
100    IN      PTR     nas.lan.mydomain.com.

/opt/etc/named/root.servers

.                     3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.   3600000      A     198.41.0.4

.                     3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.   3600000      A     192.228.79.201

.                     3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.   3600000      A     192.33.4.12

.                     3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.   3600000      A     128.8.10.90

.                     3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.   3600000      A     192.203.230.10

.                     3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.   3600000      A     192.5.5.241

.                     3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.   3600000      A     192.112.36.4

.                     3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.   3600000      A     128.63.2.53

.                     3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.   3600000      A     192.36.148.17

.                     3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.   3600000      A     192.58.128.30

.                     3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.   3600000      A     193.0.14.129

.                     3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.   3600000      A     198.32.64.12

.                     3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.   3600000      A     202.12.27.33
V zgornjih datotekah predvidevamo naslednje:
  1. Lokalno omrežje je 192.168.1.0/24
  2. IP naslov NAS naprave je 192.168.1.100
  3. Lastna domena se imenuje mydomain.com
  4. Privzeti prehod v omrežju je 192.168.1.1
  5. Dodeljena lokalna poddomena je lan.mydomain.com
  6. Imenski strežnik odgovarja na povpraševanja le iz lokalnega omrežja.
Te informacije sem našel na naslednjih straneh:
http://forum.synology.com/wiki/index.php/Overview_on_modifying...
http://blog.deadcode.net/2009/08/28/setup-name-server-with-bind/
http://www.zytrax.com/books/dns/
Komentarji

* Komentarje mora odobriti admin.