Synology-Forum.nl

Packages => Officiële Packages => DNS server => Topic gestart door: Briolet op 30 november 2014, 13:56:54

Titel: Een locale DNS server opzetten.
Bericht door: Briolet op 30 november 2014, 13:56:54
Ik had al eens een paar linken gegeven hoe je de Synology DNS kunt gebruiken, maar het is natuurlijk mooier als dit op onze eigen site staat.

Je kunt de DNS server gebruiken door je domeinnaam provider hier naar te laten verwijzen zodat je alle DNS instellingen die je normaal daar doet, nu op je eigen nas kunt doen. Deze manier van gebruik is de handleiding voor het instellen van de DNS server zoals op de Synology site staat. Ik wil op deze instelling daarom verder niet in gaan.

De meeste thuisgebruikers hebben vaak veel meer behoefte om een DNS server die alleen voor het vinden van hun lokale apparaten gebruikt wordt. Voor die groep is de onderstaande handleiding geschreven.

Op de mac ben ik gewend dat veel apparaten zich zelf op het locale netwerk melden met de naam "apparaat.local". Dus ligt het voor de hand om op de DNS server een ".local" domein aan te maken en daar de apparaten toe te voegen die zich niet zelfstandig kunnen melden.
Je kunt dit gebruik vergelijken met het aanpassen van de host-file op een PC, maar dit werkt dan voor heel het netwerk. i.p.v. één PC.

En nu aan de slag. Installeer de DNS server via Package Center, open poort 53 op de nas en start de server. Als eerste gaan we naar de Pagina "Resolutie". Hier vullen we twee externe DNS servers in die gebruikt worden als er een adres  opgevraagd wordt die niet lokaal gedefinieerd is.

[attachimg=1]

Er zijn geen aparte instellingen voor IPv6. Een externe IPv6 DNS server vul je ook bij deze doorstuurservers in. Omdat er slechts twee velden zijn heb ik tegenwoordig bij de ene een IPv4 en de andere een IPv6 adres ingevuld. Als je bij beide een IPv4 adres laat staan, blijven de IPv6 opvragen via een IPv4 DNS server lopen, wat ook geen kwaad kan. Idem als je bij beide een IPv6 adres invult.

Vervolgens moeten we een eigen masterzone instellen. Ga naar Zones --> maken --> Masterzone

[attachimg=2]

Ik heb hier even voor "thuis" gekozen in dit voorbeeld. Bij "Master DNS server" vul je het IP van de nas in. De andere velden kun je onveranderd laten of alle 4 checkboxen uit zetten.

[attachimg=6]

Na OK is een thuis domein toegevoegd. Dubbelklick deze naam of kies 'Bewerk' uit het menu. Je zult zien dat er inmiddels een NS record aangemaakt is en het eerste subdomein die aangeeft waar de naamserver zit.

Nu kun je je eerste subdomein aanmaken. Hiervoor maken we een A record aan. (Of ook een AAAA record als de nas een IPv6 adres heeft)

[attachimg=7]

Voor elk apparaat geef je een zelfgekozen naam op en een IP waar dat apparaat zich bevind. Dat apparaat moet je natuurlijk een vast IP gegeven hebben. Je kunt ook meerdere records maken en naar hetzelfde apparaat laten wijzen.

[attachimg=3]

Om dat apparaat later vanuit een computer aan te spreken kan nu "naam.thuis' gebruikt worden i.p.v. zijn IP.  Vooral handig als je anders met lange  IPv6 adressen moet werken.

Tot slot kun je de instellingen nog aanpassen. Alle DNS opvragen worden opgeslagen in de cache. Als je voor de een tweede keer pagina bezoekt, wordt er geen externe DNS server meer opgeroepen maar alles uit je eigen server gehaald. Dus, hoewel het tussenschakellen van een eigen server, geeft dit vaak toch een snellere DNS opvraag van externe adressen.
In de default instelling is de cache 10 MB groot en blijven de DNS opvragen 24 uur bewaard.

[attachimg=4]

Nu zijn we bijna klaar. We moeten er alleen nog voor zorgen dat all apparaten op je netwerk deze eigen DNS server op de nas gaan gebruiken. Je kunt dat natuurlijk op elke PC apart het IP van je nas als DNS server invullen, maar het is natuurlijk veel praktischer dit op de router te doen.  Dan halen alle apparaten die op dhcp staan ook daar hun voorkeurs dns server op. Op de nas ziet dat er dan als volgt uit in Netwerk instellingen.

[attachimg=5]

Als je nas of ander apparaat niet op dhcp staat moet je het handmatig het NAS ip als dns server invullen. Als je een 2e dns server kun invullen bij de router of PC, moet je die leeg laten. Er bestaat geen harde regel dat de 2e dns server alleen gebruikt wordt als de eerste off-line is. Als je een 2e opgeeft zal die ook als primaire dns server gebruikt kunnen gaan worden door apparaten.

Om dit als handleiding te laten staan, gelieve commentaar in dit topic (http://www.synology-forum.nl/dns-server/dns-server/) te plaatsen.
Titel: Re: Een locale DNS server opzetten.
Bericht door: Briolet op 30 november 2014, 13:57:57
De Synology DSN server kan ook een uitkomst zijn voor hen die een router hebben die geen nat-loopback ondersteunt. Met zo'n router kun je je domeinnaam niet op je eigen LAN gebruiken. Dat kan heel irritant zijn. Een lapmiddel is het aanpassen van de host-file op de PC. Dat werkt echter alleen op die PC en dat apparaat moet altijd binnen het eigen netwerk gebruikt worden. Voor een mobiel apparaat is het aanpassen van de host-file geen oplossing.

De eigen dns server lost dit op doordat je de domeinnaam op je eigen dns server rechtstreeks naar je nas laat wijzen. Op die manier kun je zowel thuis als extern met je domeinnaam op de nas inloggen.
Dit mag ook de "xxx.synology.me" naam zijn, maar dan moet je het hele stuk "xxx.synology.me" als domein instellen en niet alleen "synology.me".

Om dat je bereiken maken we een masterrecord met de naam van je eigen domein. In dit masterrecord maken we vervolgens een A record aan waarbij we het naam-veld leeg laten en het IP van de nas in het IP-veld invullen.

[attachimg=1]

Als we klaar zijn hebben we dus de volgende twee regels:

[attachimg=2]

Als je op je domein ook een www. of smtp entry hebt die naar je nas doorverwijzen, moet je die hier ook toevoegen.

Een oplettende lezer zal merken dat dit natuurlijk alleen werkt als er maar één IP aan je domeinnaam hangt. Inplaats van je NAS-IP kun je ook het WAN-IP van je router gebruiken. Dat kun je verschillende apparaten bereiken  ia forwarding in je router. Alleen heb je daar weer nat-loopback in je router nodig, en daar is bovenstaande instructie niet voor.
Titel: Re: Een locale DNS server opzetten.
Bericht door: Briolet op 16 juni 2015, 17:18:02
Als je het netjes doet moet je al je apparaten ook nog in een ‘reverse’ zone opnemen. Op die manier kan een apparaat ook de naam van een ander apparaat opvragen als hij alleen zijn IP adres heeft.  Zie ook de norcats.blogspot.nl (http://norcats.blogspot.nl/2013/01/diskstation-dns-server-sample.html) hoe dat met DSM 4.x ging.

Voor een locale lan is een reversezone misschien minder belangrijk omdat je daar zelf wel alle namen bij de IP adressen kent. Het staat echter wel ‘professioneler’ als de namen in de diverse logs verschijnen i.p.v. de IP adressen.

Je begint met het creëren van een nieuwe masterzone:

[attachimg=1]

Het veld “Domeintype” verander je nu van “forwardzone” naar “reversezone”. Je zult zien dat het dialoog zich aanpast. In het domeinnaam veld, links van het “.in.addr.arpa” veld, vul je het IP van je LAN in. Doe dit echter in omgekeerde volgorde en laat het veranderende deel van het IP weg. Dus als je netwerk op “10.20.30.xx” zit, vul je “30.20.10” in.

[attachimg=2]

Na het aanmaken van het master record beginnen we met het maken van een NS record hierin. Laat hierbij het naamveld leeg en vul bij host de naamserver in die je in de forwardzone gedefinieerd hebt.

[attachimg=3]

Vervolgens genereren we een pointer record voor elk apparaat waarnaartoe we een verwijzing wensen.

[attachimg=4]

Het uiteindelijke resultaat ziet er dan ongeveer zo uit

[attachimg=5]

Ik merk dat verschillende pakketen op de NAS nu de naam invullen i.p.v. het IP nummer.
- De syslog server geeft nu de namen
- Darkstat vermeld nu ook de naam achter het IP nummer
- MailServer logt nu ook de namen i.p.v. de tekst “unknown’

Mailserver is het enige programma dat ik tegenkwam die deze data ook buiten je netwerk zichtbaar maakt via de header van je mailberichten. Zonder reversezone staat er alleen “Unknown” als eerste afzender, maar met de reversezone komt daar de netwerknaam van je PC te staan.
Citaat
Received: from silvermoon.local (silvermoon.local [10.0.1.60]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested)

Houdt hier dus rekening mee als je je PC op die manier van een naam voorziet.

Gelieve commentaar in dit topic (http://www.synology-forum.nl/dns-server/dns-server/) plaatsen.
Titel: Re: Een locale DNS server opzetten.
Bericht door: Briolet op 14 januari 2018, 11:41:42
Hier nog een trucje voor luie mensen. Het is meer een gimmick dan noodzakelijk. Omdat ik alleen de Mac ken, gebruik ik screenshots van mijn Airport en MacBook.

Je kunt zoekdomeinen opgeven. Als je dan alleen het eerste stuk van een URL intikt en die bestaat niet, kijkt het systeem eerst of het met erachter geplakte zoekdomeinen wel werkt.

Mijn nas heeft b.v. de naam "nas.local", maar door de toegevoegde zoekdomeinen is het nu voldoende om alleen "nas" in te tikken. Dus iets voor luie mensen zoals ik. En omdat het kan.   ;)

Op mijn Airport heet deze instelling "domeinnaam" op de netwerk pagina. Ik heb hier "local" ingevuld.

[attachimg=1]

Als in nu op de netwerkpagina van mijn Mac PC of Mac Laptop kijk, zie ik deze instelling in grijs terug komen op de DNS pagina.

[attachimg=2]

De waardes in grijs betekenen dat het via DHCP opgehaald is. Via het + symbool kun je hier ook handmatig DNS servers en/of meerdere zoekdomeinen toevoegen.

Bij de DHCP server van Synology kun je ook het verld "domeinnaam" gebruiken.

[attachimg=3]

In de plaatjes is er foutief de DNS server van OpenDNS als 2e DNS server gebruikt. Door veel apparaten wordt de 2e DNS server inderdaad alleen gebruikt als de eerste niet reageert. Er bestaan hierover echter geen bindende regels. Er zijn ook apparaten die beide steeds proberen en dan enige tijd verder gaan met de snelst reagerende. Als je zeker wilt zijn dat alle het DNS verkeer via de eigen server loopt, mag je geen alternatieve server aanbieden.
Titel: Re: Een locale DNS server opzetten.
Bericht door: Briolet op 17 februari 2018, 14:16:44
Er zijn situaties waarbij je bepaalde delen van je netwerk of bepaalde apparaten binnen je netwerk anders wilt laten reageren. Dit doe je met weergaves binnen de DNS server.

Met de weergaves kun je voor bepaalde IP adressen een andere externe DNS server gebruiken, of niet alle domeinen laten gebruiken. Hieronder volgt een voorbeeld hoe je bepaalde IP adressen kunt uitsluiten van het adblocker domein.

Ga naar weergaves en maak een nieuwe weergave aan. Je krijgt dan het volgende scherm:

[attachimg=1]

Geef de weergave een naam en kies “Bron-IP-service beperken”. Klik op de “IP-bronlijst” button en voeg een IP of range van IP’s toe. Je kunt meerdere IP- of range-entries maken.

Ga vervolgens naar de tab “Zone selecteren”. Hier vink je de Zone-id’s aan die door deze IP adressen gebruikt moeten worden. Hier kun je dus de zone van de adblocker uitsluiten.
 
[attachimg=2]

Als je goed naar bovenstaand screenshot kijkt, zie je dat er ook een domein dubbel in staat. (de tweede keer met het tellertje 2). Je kunt dus een domein meerdere keren toevoegen, met kleine verschillen, en dan verschillende weergaves een andere versie laten gebruiken.

Klik nu OK om de weergave op te slaan.

Maak nu een weergave waar je bij algemeen niets aanvinkt. Dit wordt de default weergave voor de IP adressen waar je niets voor definieert. Bij “Zone selecteren” geef je aan welke domeinen hier gebruikt moeten worden. Klik OK.

Je hebt bij Weergaves nu een lijst staan die je in de gewenste volgorde moet slepen. Als een IP adres een DNS opvraagt, wordt deze lijst van boven naar beneden afgewerkt totdat er een IP match is. Die weergave wordt vervolgens gebruikt.
Het spreekt dan voor zich dat de “all” weergave onderaan moet staan. Deze wordt dan gebruikt als er geen match was.

[attachimg=3]
Titel: Re: Een locale DNS server opzetten.
Bericht door: Briolet op 28 februari 2019, 14:00:28
Citaat
dank voor je bericht over het instellen van een lokale DNS server op het Synology NAS! Duidelijk en helder. Één vraag nog als het mag, als ik nu met de browser bijvoorbeeld naar printer.thuis ga, maakt Firefox er www.printer.thuis van, en dan gaat krijg ik alsnog een foutmelding. Enig idee hoe ik dat kan verhelpen? Alvast dank! Ping printer.thuis gaat dus wel gewoon goed.

Firefox doet dat bij verschillende domeinen. Inderdaad irritant. Vooral omdat een enkele website alleen zonder de "www" te bereiken is. Op de "www" versie van de site staat dan andere content.
Ze proberen hier een security risk op te vangen omdat een redirect van een site zonder www naar een www versie de HSTS beveiliging buiten spel zet. In mijn optiek is het de website bouwer die dit moet verhelpen. b.v. door geen www aan te bieden. Lees b.v. het stuk hierover op security.nl (https://www.security.nl/posting/576552/Sites+moeten+_www+schrappen%21)

Maar dit terzijde. Praktisch gezien moet je er mee dealen. b.v. door nu ook nog een "www.printer.thuis" in de DNS op te nemen.

NB. Ik gebruik ".local" als thuisdomein. Van deze keuze wordt afgeraden omdat bonjour dit ook gebruikt. Maar ik doe dit al vanaf het begin en heb nooit een conflict gezien. Hier plakt Firefox geen www voor. Mag ook niet want dan zouden ze de hele bonjour bereikbaarheid om zeep helpen.

Je kunt dit gedrag van Firefox ook uitzetten door naar de pagina "about:config" te gaan en de waarde van "browser.fixup.alternate.enabled" op "False" te zetten. Maar dat moet je dan voor elke pc doen.

-------

Firefox gaat ergens eind 2019 of begin 2020 een feature introduceren die de dns server van het systeem negeert. Bij een eigen DNS server wil je dat voorkomen, want dat was het hele doel van een eigen DNS server. Lees dit topic  (https://www.synology-forum.nl/dns-server/firefox-doh-en-de-synology-dns-server/)hoe je Firefox kunt verzoeken om toch je eigen DNS server te blijven gebruiken.