Difference between revisions of "BIND"
Helikopter (talk | contribs) m (RRL) |
|||
Line 39: | Line 39: | ||
_ldap._tcp.hackernet.se. IN SRV 10 0 389 ldap1.hackernet.se. | _ldap._tcp.hackernet.se. IN SRV 10 0 389 ldap1.hackernet.se. | ||
_ldap._tcp.hackernet.se. IN SRV 20 0 389 ldap2.hackernet.se. | _ldap._tcp.hackernet.se. IN SRV 20 0 389 ldap2.hackernet.se. | ||
+ | |||
+ | ===Dynamic DNS=== | ||
+ | ====ISC DHCP==== | ||
+ | Sätt upp DDNS så att lokala klienter som får IP från en dhcp server uppdaterar din lokala forward och reverse zone. | ||
+ | |||
+ | =====Generera en nykel===== | ||
+ | dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DDNS_UPDATE | ||
+ | |||
+ | Öppna filen '''*.private''' och kopiera allt efter '''Key:''' | ||
+ | |||
+ | Skapa en ny fil som heter '''ddns.key''' som ser ut som följande och kopiera in texten från '''*.private''' filen: | ||
+ | key DDNS_UPDATE { | ||
+ | algorithm HMAC-MD5.SIG-ALG.REG.INT; | ||
+ | secret "<key>"; | ||
+ | }; | ||
+ | |||
+ | Kopiera sedan '''ddns.key''' filen till bind mappen och dhcp serverns mapp. | ||
+ | install -o root -g bind -m 0640 ddns.key /etc/bind/ddns.key | ||
+ | install -o root -g root -m 0640 ddns.key /etc/dhcp/ddns.key | ||
+ | |||
+ | =====Bind konfiguration===== | ||
+ | Lägg in följande rad i din '''named.conf.local''' fil: | ||
+ | include "/etc/bind/ddns.key"; | ||
+ | |||
+ | Lägg till denna raden '''allow-update { key DDNS_UPDATE; };''' i varje zone som ska uppdateras. | ||
+ | zone "example.org" { | ||
+ | type master; | ||
+ | notify no; | ||
+ | file "/var/cache/bind/db.example.org"; | ||
+ | allow-update { key DDNS_UPDATE; }; | ||
+ | }; | ||
+ | zone "1.168.192.in-addr.arpa" { | ||
+ | type master; | ||
+ | notify no; | ||
+ | file "/var/cache/bind/db.192.168.2"; | ||
+ | allow-update { key DDNS_UPDATE; }; | ||
+ | }; | ||
+ | |||
+ | =====DHCP konfiguration===== | ||
+ | Följande globala inställningar behövs i din '''dhcpd.conf'''' fil: | ||
+ | option domain-name "example.org"; | ||
+ | |||
+ | ddns-updates on; | ||
+ | ddns-update-style interim; | ||
+ | ignore client-updates; | ||
+ | update-static-leases on; | ||
+ | |||
+ | '''option domain-name:''' Specificerar vilket domän namn som delas ut, används också av DDNS. <br> | ||
+ | '''ddns-update-style:''' Bör alltid vara interim. Adhoc finns som val också men är utdaterat.<br> | ||
+ | '''client-updates:''' Om du använder '''allow client-updates''' så låter du klienter registrera sitt domän namn på DNS servern själv. Default är '''ignore client-updates'''.<br> | ||
+ | '''update-static-leases:''' Default så uppdaterar inte DHCP-servern DNS rader som är statiska leases. | ||
+ | |||
+ | Lägg också till följande rader i din '''dhcpd.conf''' fil: | ||
+ | include "/etc/dhcp/ddns.key"; | ||
+ | |||
+ | zone example.org. { | ||
+ | primary 127.0.0.1; | ||
+ | key DDNS_UPDATE; | ||
+ | } | ||
+ | |||
+ | zone 1.168.192.in-addr.arpa. { | ||
+ | primary 127.0.0.1; | ||
+ | key DDNS_UPDATE; | ||
+ | } | ||
+ | |||
+ | Se till att bind har skrivrättigheter i mappen där zone filen finns sparad annars kan den inte uppdatera. | ||
+ | |||
+ | Starta sedan om tjänsterna. | ||
+ | /etc/init.d/isc-dhcp-server restart | ||
+ | /etc/init.d/bind9 restart | ||
==Tools== | ==Tools== |
Revision as of 17:29, 9 December 2015
BIND är ett open source, flexibelt och fullt utrustat DNS-system.
Mjukvaran består av tre delar:
- Domain Name Resolver
- Domain Name Authority server
- Tools
Installation
apt-get install bind9 bind9utils bind9-doc dnsutils
Konfiguration
Domain Name Resolver
Domain Name Authority server
Tips n Trix
Chroot
För att öka säkerheten bör man lägga tjänsten i en chroot-miljö.
yum install bind-chroot -y service named restart
Serial number reset
Har man råkat sätta för högt serienummer i en zon kan man resetta det med följande metod. Sätt serienumret till:
4294967295
Låt det propagera till slavarna och sedan kan man sätta vad man vill.
Statistics
Vill du se lite statistik på din DNS-server kan konfa följande och sedan surfa in på http://<IP>:8080
acl "trusted" { 192.168.1.0/24; }; statistics-channels { inet * port 8080 allow { trusted; }; };
Response Rate Limiting
LDAP auto discovery
Skriv följande i din zonefil.
_ldap._tcp.hackernet.se. IN SRV 10 0 389 ldap1.hackernet.se. _ldap._tcp.hackernet.se. IN SRV 20 0 389 ldap2.hackernet.se.
Dynamic DNS
ISC DHCP
Sätt upp DDNS så att lokala klienter som får IP från en dhcp server uppdaterar din lokala forward och reverse zone.
Generera en nykel
dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DDNS_UPDATE
Öppna filen *.private och kopiera allt efter Key:
Skapa en ny fil som heter ddns.key som ser ut som följande och kopiera in texten från *.private filen:
key DDNS_UPDATE { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret "<key>"; };
Kopiera sedan ddns.key filen till bind mappen och dhcp serverns mapp.
install -o root -g bind -m 0640 ddns.key /etc/bind/ddns.key install -o root -g root -m 0640 ddns.key /etc/dhcp/ddns.key
Bind konfiguration
Lägg in följande rad i din named.conf.local fil:
include "/etc/bind/ddns.key";
Lägg till denna raden allow-update { key DDNS_UPDATE; }; i varje zone som ska uppdateras.
zone "example.org" { type master; notify no; file "/var/cache/bind/db.example.org"; allow-update { key DDNS_UPDATE; }; }; zone "1.168.192.in-addr.arpa" { type master; notify no; file "/var/cache/bind/db.192.168.2"; allow-update { key DDNS_UPDATE; }; };
DHCP konfiguration
Följande globala inställningar behövs i din dhcpd.conf' fil:
option domain-name "example.org"; ddns-updates on; ddns-update-style interim; ignore client-updates; update-static-leases on;
option domain-name: Specificerar vilket domän namn som delas ut, används också av DDNS.
ddns-update-style: Bör alltid vara interim. Adhoc finns som val också men är utdaterat.
client-updates: Om du använder allow client-updates så låter du klienter registrera sitt domän namn på DNS servern själv. Default är ignore client-updates.
update-static-leases: Default så uppdaterar inte DHCP-servern DNS rader som är statiska leases.
Lägg också till följande rader i din dhcpd.conf fil:
include "/etc/dhcp/ddns.key"; zone example.org. { primary 127.0.0.1; key DDNS_UPDATE; } zone 1.168.192.in-addr.arpa. { primary 127.0.0.1; key DDNS_UPDATE; }
Se till att bind har skrivrättigheter i mappen där zone filen finns sparad annars kan den inte uppdatera.
Starta sedan om tjänsterna.
/etc/init.d/isc-dhcp-server restart /etc/init.d/bind9 restart
Tools
Kör igenom toolsen för att få en känsla för dem.
Short output
dnsget hackernet.se dig hackernet.se +short
Kolla SOA på alla namnservrar
dig hackernet.se +nssearch
Kolla om records finns mot wordlist
dnsmap hackernet.se
Kolla version på DNS-server
ldns-chaos hackernet.se
Monitor queries
sudo dnstop eth0
Capture queries
sudo dnscap -g
Visualisera
sudo tcpdump -i eth0 -w dnsdump.pcap port 53 dnspktflow dnsdump.pcap eog out.png
rndc
Är ett program för att uppdatera dnservern med nya zoner eller uppdatera befintliga zoner. Fördelen med att använda rndc är att man behöver inte ladda om alla zoner om man bara gör ändringar i en zone. Har man många stora zoner kan DNS sluta svara under några sekunder.
rndc reconfig - Används om du gjort någon ändring i .conf filerna eller för att läsa in nya zoner. Den kommer inte bry sig om du gjort någon ändring i nån zone fil. rndc reload - För att ladda om alla zone filer. rndc reload <zone name> - För att enbart ladda om den zonen du gjort en ändring på.
Felsök
Se hur långt i resolve-processen det funkar
dig hackernet.se +trace
Kolla efter syntax-errors alla inladdade zoner
named-checkconf -z