Dịch vụ mạng trên linux tiếp theo itviet360 giới thiệu là dịch vụ
DNS trên Linux. Giới thiệu sơ qua về lí thuyết. Các bạn có thể tìm trên mạng rất nhiều lý thuyết về DNS.
|
Mô hình sử dụng |
- Giới thiệu DNS
DNS (Domain Name System): là hệ thống phân giải tên miền.
Mỗi máy tính, thiết bị mạng tham gia vào mạng Internet đều giao tiếp với nhau bằng địa chỉ IP (Internet Protocol) .Để thuận tiện cho việc sử dụng và dễ nhớ ta dùng tên miền (domain name) để xác định thiết bị đó.Hệ thống tên miền (Domain Name System) được sử dụng để ánh xạ tên miền thành địa chỉ IP. Vì vậy, khi muốn liên hệ tới các máy, chúng chỉ cần sử dụng chuỗi ký tự dễ nhớ (domain name) như:
www.hcmutrans.edu.vn ,
www.cn08a.com.., thay vì sử dụng địa chỉ IP là một dãy số dài khó nhớ.
|
Cấu trúc hệ thống tên miền |
Domain root: Nó là đỉnh của nhánh cây của tên miền. Nó có thể biểu diễn đơn giản chỉ là dấu chấm “.”.
Top-level-domain: gồm vài kí tự xác định một nước, khu vưc hoặc tổ chức. Nó đươc thể hiện là “.us” , “.vn” , “.com” , “.edu” ….
Second-level-domain: Nó rất đa dạng rất đa dạng có thể là tên một công ty, một tổ chức hay một cá nhân.
Subdomain: Chia thêm ra của tên miền cấp hai trở xuống thường được sử dụng như chi nhánh, phòng ban của một cơ quan hay chủ đề nào đó.
......................
Phần cơ chế phân giải, phân loại DNS Server ... các bạn tham khảo internet.
2. Cài đặt và cấu hình DNS trên linux
2.1 Cài đặt
- bind-*.rpm
- bind-chroot-*.rpm
- bind-libs-*.rpm
- bind-utils-*.rpm
Gói bind-chroot-*.rpm cung cấp cho người quản trị thư mục làm việc với các tập tin cấu hình DNS an toàn hơn chỉ cho phép các user có quyền root mới được phép truy cập: /var/named/chroot/etc/ và /var/named/chroot/var/named/ thay cho hai thư mục mặc định /etc/ và /var/named/.
Ngoài ra, cần cài đặt thêm gói thư viện caching-nameserver -*.rpm để cung cấp những file cấu hình mẫu phục vụ cho việc cấu hình dịch vụ DNS.
Các file cấu hình cần thiết:
• Tập tin cấu hình chính:
/var/named/chroot/etc/named.conf
• Tập tin phân giải thuận:
/var/named/chroot/var/named/cn08a.zone
/var/named/chroot/var/named/localhost.zone
• Tập tin phân giải nghịch:
/var/named/chroot/var/named/1.16.172.broadcast
/var/named/chroot/var/named/0.0.127.local
2.2 Cấu hình DNS
Đầu tiên ta sẽ định nghĩa Primary zone trong named.conf
// named.conf for Red Hat caching-nameserver
options {
listen-on port 53 { any; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
// query-source address * port 53;
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "cn08a.info" IN {
type master;
file "cn08a.zone";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "0.0.127.local";
allow-update { none; };
};
zone "1.16.172.in-addr.arpa" IN {
type master;
file "1.16.172.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
include "/etc/rndc.key";
Name Server demo trong bài này sử dụng domain “cn08a.info”, các tập tin cơ sở dữ liệu named.ca, cn08a.zone, localhost.zone, 1.16.172.broadcast, 0.0.127.local được lưu trữ trong thư mục /var/named/chroot/var/named/
Các options trên cùng cho phép máy chủ chấp nhận mọi request từ client gửi đến port 53
• Zone “.” Khi cần sẽ truy vấn đến tập tin named.ca – đây là tập tin chứa các root server chịu trách nhiệm quản lý toàn bộ request trên toàn thế giới.
• Zone “cn08a.info”: đây là domain chính mà DNS server của chúng ta sẽ quản lý. Khi cần nó sẽ truy vấn đến tập tin cn08a.zone – chứa các tên phân giải thuận cho domaincn08a.info.
• Zone “localhost” : Khai báo việc phân giải thuận cho localhost.
• Zone “1.16.172.in-addr.arpa” : truy vấn đến tập tin 1.16.172.broadcast – chứa tên phân giải nghịch của domain cn08a.info .
• Zone “0.0.127.in-addr.arpa” : Khai báo việc phân giải nghịch cho localhost
Type của các zone trong trường hợp này là master vì đây là master server, trên secondary server thì type sẽ là slave.
Cấu hình tập tin phân giải thuận “cn08a.zone”:
$TTL 86400
@ IN SOA dnsserver.cn08a.info. root (
2012030701 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS dnsserver.cn08a.info.
IN MX 1 mail.cn08a.info.
IN A 172.16.1.1
dnsserver IN A 172.16.1.1
www IN A 172.16.1.2
mail IN CNAME www.cn08a.info.
ftp IN CNAME dnsserver.cn08a.info.
forum IN A 172.16.1.1
IN MX 1 mail.forum.cn08a.info.
mail.forum IN A 172.16.1.2
www.forum IN CNAME mail.forum.cn08a.info.
ftp.forum IN CNAME forum.cn08a.info.
Cấu hình tập tin phân giải thuận “1.16.172.broadcast”:
$TTL 86400
@ IN SOA dnsserver.cn08a.info. root (
2012250201 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS dnsserver.cn08a.info.
1 IN PTR cn08a.info.
IN PTR dnsserver.cn08a.info.
2 IN PTR www.cn08a.info.
1 IN PTR forum.cn08a.info.
2 IN PTR mail.forum.cn08a.info.
...............
Ý nghĩa của các Resource Record DNS •
Time-to-live number: thời gian dữ liệu được lưu trên Caching Server - giá trị này được dùng cho tất cả các Resource Record trong cơ sở dữ liệu. Giá trị này cho những server khác Cache lại dữ liệu trong 1 khoảng thời gian nhất định TTL.
Ví dụ: 86400; TTL là 1 ngày
•
@: chính là domain được khai báo trong named.conf. Như thông tin cấu hình ở trên, domain là cn08a.info, do vậy mọi hostname được khai báo sau này không cần ghi đầy đủ tên theo dạng FQDN.
•
IN: cho name server biết đây chính là record Internet.
•
SOA (Start Of Authority): Trong mỗi zone chỉ có duy nhất một record SOA. SOA chỉ ra rằng máy chủ Name Server là nơi cung cấp thông tin tin cậy từ dữ liệu có trong Zone.
•
Dnsserver.cn08a.info. là FQDN của name server cho domain.
•
Root.cn08a.info.: địa chỉ e-mail cho người quản trị domain, địa chỉ e-mail như vậy thiếu dấu @, nhưng thực ra nó được thay bởi dấu chấm. Và địa chỉ thật sự là root@cn08a.info.
• Các thông số được khai báo sau chỉ có tác dụng khi trong domain có secondary server:
•
Serial number: Khi một Slave Nameserver kết nối với Master Server để lấy dữ liệu, trước tiên nó sẽ kiểm tra số Serial, nếu số Serial của master lớn hơn tức là dữ liệu đã hết hạn sử dụng và nó sẽ load lại dữ liệu mới. Vì vậy khi ta cập nhật dữ liệu trên name server ta tăng số serial. Thông thường định dạng theo thời gian YYYYMMDDNN
Ví dụ: 2012080701
•
Refresh number: khoảng thời gian mà Slave biết phải kiểm tra lại dữ liệu có còn sử dụng được không.
Ví dụ: 3H; Refresh sau 3 giờ
•
Retry number: Nếu Slave không thể kết nối với Master Nameserver sau một khoảng thời gian Refresh thì nó sẽ cố gắng kết nối lại sau khoảng thời gian retry. Giá trị này nhỏ hơn giá trị Refresh.
Ví dụ: 15M; Retry sau 15 phút
•
Expiry number: nếu Slave không thể kết nối với Master server sau khoảng thời gian Expiry này, thì slave sẽ không trả lời cho vùng dữ liệu đó khi được truy vấn, vì nó cho rằng dữ liệu này đã quá cũ. Giá trị này phải lớn hơn giá trị Refresh và Retry.
Ví dụ: 1W; Expiry sau 1 tuần
•
NS (Name Server): Mỗi Name Server cho zone sẽ có 1 NS record. Record này xác định tên các server chịu trách nhiệm quản lý các record trong domain.
•
A: Ánh xạ tên sang địa chỉ IPv4.
•
CNAME (Canonical Name): Record này tạo tên Alias trỏ vào một tên Canonical. Tên Canonical là tên host trong Record A hoặc lại trỏ vào 1 tên Canonical khác.
•
MX (Mail Exchanger): DNS dùng record MX để thông báo cho các site khác mail server của mình.
•
PTR (Pointer): dùng để ánh xạ địa chỉ sang tên.
..................
Đến đây, việc cấu hình hoàn tất, chúng ta cần tiến hành khởi tạo lại dịch vụ named:
Comments[ 0 ]
Post a Comment