Lab 3: Cài đặt DNS trên CentOS 6.5

  • Thread starter Thread starter root
  • Ngày gửi Ngày gửi

root

Moderator
Các file cấu hình DNS :
- Những file quan trọng để cấu hình DNS trên Centos 6.5 gồm có
  • /etc/named.conf: file cấu hình DNS
  • /var/named/named.ca: danh sách root server
  • /var/named/named.localhost: localhost zone file
  • /var/named/named.loopback: localhost reverse zone file
- Các bạn có thể download các file đó tại đây http://www.mediafire.com/download/p50es458m1a9812/config_dns_centos_6.3.zip

I. File named.conf :


- khi dich vụ named được khởi động nó sẽ đọc file “named.conf” đầu tiên, rồi sau đó nó mới xác định các file khác để gọi lên.
- nội dung file "named.conf"
options {
listen-on port 53 { 127.0.0.1; };
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 { localhost; };
recursion yes;

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};

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

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

//================== zone svuit.com =================//
zone "svuit.com" IN {
type master;
file "svuit.db";
};

zone "2.2.10.in-addr.arpa" {
type master;
file "2.2.10.in-addr.arpa.db";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
1. Biến Mynet :
- Biến “mynet” chứa các lớp mạng trong mạng của chúng ta
acl mynet {
10.2.2.0/24;
127.0.0.1;
};
2. Phần Options :
- Khai báo thông tin chung cho DNS
options {
allow-transfer {none;};
directory "/var/named";
query-source port 53;
query-source-v6 port 53;
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";
notify yes;
};​
- allow-transfer {none;};
  • Khi có 1 máy chủ DNS(primary DNS) thì ta để là “none” để client không lấy được các thông tin trong các zone của DNS để khám phá chúng
  • Khi có 2 máy chủ DNS(1 primary vs 1 second) thì ở đây ta để là “yes” và điền IP của máy chủ DNS secondery để cho phép các thông của zone được transfer qua máy secondary
3. file chứa DNS root
- Định nghĩa DNS root, các DNS root nằm trong file named.root.
  • Khi DNS không phân giải được cái tên nào đó thì nó sẽ đi đến file named.root để nhờ DNS root tra cứu
zone "." IN {
type hint;
file "named.root";
};​
4. zone phân giải thuận
- File phân giải thuận là file quan trọng nhất
- Định nghĩa zone “svuit.com” và zone này được lưu trong file “svuit.db”
- Kiểu là Master, nếu bạn triển khai DNS Slaver thì bạn có thể thay bằng Slaver
zone "svuit.com" IN {
type master;
file "svuit.db";
};​
5. Zone phân giải nghich :
- Zone phân giải nghịch có subnet: 192.168.1.0/24
- File chứa thông tin phân giải nghịch là file "1.168.192.in-addr.arpa.db";
zone "2.2.10.in-addr.arpa" {
type master;
file "2.2.10.in-addr.arpa.db";
};​
 
II. File phân giải thuận (/var/named/svuit.db) :
- Nội dung file phân giải thuận
$TTL 86400
@ IN SOA server2.svuit.com. root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

IN NS server2.svuit.com.
IN MX 10 server3
1D IN A 10.2.2.3 ; web site

server3 1D IN A 10.2.2.3
server2 1D IN A 10.2.2.2
server1 1D IN A 10.2.2.1
www 1D IN CNAME server3 ; web site
mail 1D IN CNAME server3
ftp 1D IN CNAME server3
1. Record SOA :
- record đầu tiên : record SOA chỉ đến máy chủ primary DNS
  • Dấu “@” : đại diện cho domain của chúng ta là svuit.com
  • 3H : máy primary DNS yêu cầu máy secondary cứ sau 3h quay lại đây để cập nhập thông tin về
@ IN SOA server1.uit.com. root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum​
2 record NS :
- Trỏ đến máy chủ trong miền của chúng ta
IN NS server1.svuit.com.​
3 record MX :
- Trỏ đến máy chủ mail server của chúng ta
- Khi các record này ko có phần name thì nó sẽ lấy name của cá record gần nhất đó là “@”(svuit.com)
IN MX 10 server1​

4. Record A
- Mục đích của record này là để người dùng khi truy cập website không cần gõ www.uit.com mà chỉ cần gõ uit.com cũng được
1D IN A 2.2.2.1 ; web site​

- tương tụ ở đây tạo ra 3 record A
server1 1D IN A 10.2.2.1
server1 1D IN A 10.2.2.1
5. Record CNAME:
- Tạo ra Alias(bí danh) cho server
www 1D IN CNAME server1 ; web site
mail 1D IN CNAME server1
ftp 1D IN CNAME server1​


III. Phân giải nghịch (var/named/2.2.10.in-addr.arpa.db) :
- Nội dung file phân giải nghịch
$TTL 86400
@ IN SOA server2.svuit.com. root. (
3 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttk
)

@ IN Ns server2.svuit.com.
1 IN PTR server1.svuit.com.
2 IN PTR server2.svuit.com.
3 IN PTR server3.svuit.com.
- Vùng phân giải nghịch nghĩa là khi nhập vô IP nó sẽ trả về tên tương ứng.
- Chú ý:
  • 1 tương ứng với 10.2.2.1
  • 2 tương ứng với 10.2.2.2
  • 3 tương ứng với 10.2.2.3
1 IN PTR server1.uit.com.
2 IN PTR server2.uit.com.
2 IN PTR server3.uit.com.

IV. Các file khác
1. File DNS root:named.ca
- Chứa 13 máy chủ DNS root giúp phân giải DNS khi DNS của chúng ta ko phân giải được
[TABLE="class: outer_border, width: 500"]
[TR]
[TD]var/named/named.root[/TD]
[/TR]
[/TABLE]
2. named.localhost
- file phân giải thuận trên localhost
var/named/named.localhost
3. named.loopback
- file phân giải nghịch trên localhost
var/named/named.named.loopback​
 
V. Cấu hình DNS :
1. Cài đặt
- Ở đây có 2 cách cài đặt
Cài offline
- Để cài offline bạn cần có DVD chứa các parkage cài đặt của Centos 6.5
- Bước 1: mount CD
[TABLE="class: outer_border, width: 500"]
[TR]
[TD][root@server2 ~]# mount /dev/cdrom /media/[/TD]
[/TR]
[/TABLE]
- Bước 2: Cài đặt
[TABLE="class: outer_border, width: 600"]
[TR]
[TD][root@server2 ~]# cd /media/Packages/
[root@server2 Packages]# rpm -ivh bind-chroot-9.8.2-0.10.rc1.el6.i686.rpm
[root@server2 Packages]# rpm -ivh bind-9.8.2-0.10.rc1.el6.i686.rpm[/TD]
[/TR]
[/TABLE]
Cài đặt online bằng yum
- bind: là gói cài dịch vụ named
- Bind-utils: Gói cài thêm các công cụ phân giải tên cho client như: Nslookup
[TABLE="class: outer_border, width: 500"]
[TR]
[TD]yum -y install bind bind-utils[/TD]
[/TR]
[/TABLE]

2. Cấu hình DNS :
- copy các file cấu hình vào
- chép file named.conf vào trong
[TABLE="class: outer_border, width: 500"]
[TR]
[TD]/etc/[/TD]
[/TR]
[/TABLE]
- Copy các file còn lại vào thư mục
[TABLE="class: outer_border, width: 500"]
[TR]
[TD]/var/named/[/TD]
[/TR]
[/TABLE]
- Khởi động dịch vụ DNS
[TABLE="class: outer_border, width: 500"]
[TR]
[TD][root@svuit ~]#Service named start
hoặc
[root@svuit ~]# /etc/init.d/named start
Generating /etc/rndc.key: [ OK ]
Starting named: [ OK ]

//Nếu bạn muốn được named khởi động khi reboot

[root@svuit ~]#Chkconfig named on[/TD]
[/TR]
[/TABLE]

- Để kiểm tra việc phân giải bạn có thể dùng nslookup trên DNS server và client
- Đối với linux các bạn trỏ DNS về DNS server
[root@svuit named]# vi /etc/resolv.conf
DNS1=10.2.2.2
DNS2=127.0.0.1

- Kết quả
[root@svuit named]# nslookup
> 10.2.2.1
Server: 127.0.0.1
Address: 127.0.0.1#53

1.2.2.10.in-addr.arpa name = server1.svuit.com.

>
> 10.2.2.2
Server: 127.0.0.1
Address: 127.0.0.1#53

2.2.2.10.in-addr.arpa name = server2.svuit.com.

- Đối với windows client
C:\>nslookup
Default Server: server2.svuit.com
Address: 10.2.2.2


> 10.2.2.1
Server: server2.svuit.com
Address: 10.2.2.2

Name: server1.svuit.com
Address: 10.2.2.1
 
VI. Các lỗi hay gặp
1. Lỗi phân giải trên client
- Mặc dù trên máy server DNS việc phân giải tên miền xảy ra bình thường- Nhưng trên client thì không thể phân giải được, ví dụ như lỗi dưới đây
C:\>nslookup
*** Can't find server name for address 10.2.2.2: No response from server
*** Default servers are not available
Default Server: UnKnown
Address: 10.2.2.2

- Dùng Ping xem client vs DNS server có thông với nhau không
- Lỗi này có thể do :
  • Client chưa trỏ DNS về DNS server
  • Do Iptables trên DNS server chặn
- Tắt Iptables trên Centos
[TABLE="class: outer_border, width: 500"]
[TR]
[TD]Service iptables stop[/TD]
[/TR]
[/TABLE]

- File named.conf thiếu hoặc cấu hình không đúng 2 dùng sau trong mục options {
listen-on port 53 { 10.2.2.2; };
allow-query { 10.2.2.2/24; };​

- Ngoài ra các bản có thể kiểm tra log xem bị lỗi gì
[root@svuit named]# tail -f 10 /var/log/messages
tail: cannot open `10' for reading: No such file or directory
==> /var/log/messages <==
Jun 13 16:16:46 monitor named[4066]: command channel listening on ::1#953
Jun 13 16:16:46 monitor named[4066]: zone 0.in-addr.arpa/IN: loaded serial 0
Jun 13 16:16:46 monitor named[4066]: zone 2.2.10.in-addr.arpa/IN: loaded serial 3
Jun 13 16:16:46 monitor named[4066]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
Jun 13 16:16:46 monitor named[4066]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
Jun 13 16:16:46 monitor named[4066]: zone svuit.com/IN: loaded serial 42
Jun 13 16:16:46 monitor named[4066]: zone localhost.localdomain/IN: loaded serial 0
Jun 13 16:16:46 monitor named[4066]: zone localhost/IN: loaded serial 0
Jun 13 16:16:46 monitor named[4066]: managed-keys-zone ./IN: loaded serial 11
Jun 13 16:16:46 monitor named[4066]: running

 
Mình đã tắt iptables nhưng vẫn không nslookup yahoo.com hay google.com duoc vậy bạn ?

hi bạn,

Bạn thử lại dùm mình như sau nhé

1. PC ping ra internet thành công không ?
2. máy DNS nslookup yahoo.com và google.com được không ?
3. PC trỏ DNS về DNS server chưa ?

Thanks bạn,
 
Back
Top