نصب و تنظیم DNS شخصی روی CentOS 7

از پاپیروس
پرش به ناوبریپرش به جستجو

نصب

yum update -y

yum install bind bind-utils -y
systemctl enable named
systemctl start named

firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload

مفروضات

doamin: yourdomainname.dmn
ip: abc.def.ghi.jkl

named.conf

/etc/named.conf

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

options {
	listen-on port 53 { any; };
	listen-on-v6 port 53 { ::1; };
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
	statistics-file "/var/named/data/named_stats.txt";
	memstatistics-file "/var/named/data/named_mem_stats.txt";
	allow-query	{ any; };

	/* 
	 - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
	 - If you are building a RECURSIVE (caching) DNS server, you need to enable 
	   recursion. 
	 - If your recursive DNS server has a public IP address, you MUST enable access 
	   control to limit queries to your legitimate users. Failing to do so will
	   cause your server to become part of large scale DNS amplification 
	   attacks. Implementing BCP38 within your network would greatly
	   reduce such attack surface 
	*/
	recursion no;

	dnssec-enable yes;
	dnssec-validation yes;

	/* Path to ISC DLV key */
	bindkeys-file "/etc/named.iscdlv.key";

	managed-keys-directory "/var/named/dynamic";

	pid-file "/run/named/named.pid";
	session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
	type hint;
	file "named.ca";
};

zone "yourdomainname.dmn" IN {
        type master;
        file "/var/named/forward.zone";
        allow-update { none; };
};

zone "ghi.def.abc.in-addr.arpa" IN {
        type master;
        file "/var/named/reverse.zone";
        allow-update { none; };
};







include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

مستقیم

/var/named/forward.zone

$TTL 86400
@   IN  SOA     ns1.yourdomainname.dmn. root.yourdomainname.dmn. (
        2011071001  ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800      ;Expire
        86400       ;Minimum TTL
)

@       IN  NS		ns1.yourdomainname.dmn.
@       IN  NS		ns2.yourdomainname.dmn.
@       IN  A 		abc.def.ghi.jkl 

yourdomainname.dmn. IN  MX 10   mail.yourdomainname.dmn.

www 	IN  A		abc.def.ghi.jkl
mail	IN  A		abc.def.ghi.jkl
ns1 	IN  A		abc.def.ghi.jkl
ns2 	IN  A		abc.def.ghi.jkl

معکوس

/var/named/reverse.zone

$TTL 86400
@   IN  SOA     ns1.yourdomainname.dmn. root.yourdomainname.dmn. (
        2011071001  ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800      ;Expire
        86400       ;Minimum TTL
)

@       IN  NS          ns1.yourdomainname.dmn.
@       IN  NS          ns2.yourdomainname.dmn.

8       IN  PTR         yourdomainname.dmn.
;PTR Record IP address to HostName
100      IN  PTR     www.yourdomainname.dmn.
150      IN  PTR     mail.yourdomainname.dmn.
;ghi.def.abc     IN  PTR         ns1.yourdomainname.dmn.
;ghi.def.abc     IN  PTR         ns2.yourdomainname.dmn.
ns1     IN  A   abc.def.ghi.jkl
ns2     IN  A   abc.def.ghi.jkl

ns1

/var/named/ns1.yourdomainname.dmn.db

$TTL 14400
ns1.yourdomainname.dmn.      86400      IN      SOA      ns1.yourdomainname.dmn.     root.yourdomainname.dmn. (
        2017122301 ;serial, todays date+todays
        86400 ;refresh, seconds
        7200 ;retry, seconds
        3600000 ;expire, seconds
        86400 ;minimum, seconds
)
ns1.yourdomainname.dmn. 86400 IN NS ns1.yourdomainname.dmn.
ns1.yourdomainname.dmn. 86400 IN NS ns2.yourdomainname.dmn.
ns1.yourdomainname.dmn. 14400 IN A abc.def.ghi.jkl

ns2

/var/named/ns2.yourdomainname.dmn.db

$TTL 14400
ns2.yourdomainname.dmn.      86400      IN      SOA      ns2.yourdomainname.dmn.     root.yourdomainname.dmn. (
        2017122301 ;serial, todays date+todays
        86400 ;refresh, seconds
        7200 ;retry, seconds
        3600000 ;expire, seconds
        86400 ;minimum, seconds
)
ns2.yourdomainname.dmn. 86400 IN NS ns1.yourdomainname.dmn.
ns2.yourdomainname.dmn. 86400 IN NS ns2.yourdomainname.dmn.
ns2.yourdomainname.dmn. 14400 IN A abc.def.ghi.jkl

راه‌اندازی مجدد

systemctl restart named