Cách cài đặt máy chủ DNS MaraDNS nhanh và nhẹ trên CentOS 7

theanh

Administrator
Nhân viên
MaraDNS là một Máy chủ tên miền nhỏ, miễn phí và nhẹ. Đây là một máy chủ DNS nguồn mở thay thế, hoạt động như một máy chủ tên đệm, đệ quy hoặc có thẩm quyền. Nó cực kỳ dễ cấu hình và có sẵn cho nền tảng Linux và Windows. Bạn có thể tải xuống từ tại đây. Bạn có thể đọc thêm về DNS, DNS đệ quy, DNS có thẩm quyền tại đây.

Dưới đây là một số đặc điểm thú vị của MarDNS:
  • Dễ cài đặt
  • Sử dụng ít bộ nhớ (Sử dụng khoảng 5MB RAM)
  • Có thể hoạt động như một máy chủ tên có thẩm quyền và máy chủ tên đệ quy.
  • Không thể bỏ qua, tài liệu trên trang web MaraDNS rất dễ hiểu.
Bây giờ chúng ta hãy bắt đầu với MaraDNS trên CentOS 7. Các bước dưới đây sẽ hướng dẫn bạn về cách cài đặt và cấu hình MaraDNS:
Cài đặt MaraDNS​
Cho đến nay, chưa có RPM nào của MaraDNS dành cho CentOS 7, vì vậy chúng ta sẽ cài đặt và biên dịch từ nguồn.

Cài đặt gcc:
Mã:
sudo yum install gcc
Tải xuống kho lưu trữ nguồn mới nhất từ tại đây. Bạn có thể thực hiện như sau:
Mã:
wget http://maradns.samiam.org/download/2.0/2.0.11/maradns-2.0.11.tar.bz2
Giải nén nội dung của kho lưu trữ:
Mã:
tar -xjf maradns-2.0.11.tar.bz2
Chuyển đến thư mục MaraDNS đã giải nén, biên dịch và cài đặt các chương trình:
Mã:
cd maradns-2.0.11
Mã:
sudo make
Mã:
sudo make install
MaraDNS hiện đã được cài đặt. Dịch vụ MaraDNS được cài đặt tại /etc/init.d/maradns. Bạn có thể chỉ cần khởi động dịch vụ bằng cách:
Mã:
sudo /etc/init.d/maradns start
Để khởi động con quỷ đệ quy, hãy chạy:
Mã:
sudo /etc/init.d/maradns.deadwood start
Theo mặc định, máy chủ tên có thẩm quyền sẽ lắng nghe trên cổng 127.0.0.1 và máy chủ tên đệ quy sẽ lắng nghe trên cổng 127.0.0.2.

Hãy đảm bảo khởi động MaraDNS khi khởi động:
Mã:
chkconfig maradns on

Tập lệnh khởi tạo của máy chủ DNS đệ quy phải tương thích với chkconfig trước khi bạn có thể chạy nó khi khởi động. Thêm nội dung bên dưới vào đầu tệp /etc/init.d/maradns.deadwood:
Mã:
# chkconfig: - 55 45
# description: MaraDNS là Máy chủ tên miền (DNS) an toàn
# probe: true
Đặt để chạy khi khởi động:
Mã:
chkconfig maradns.deadwood on
Cấu hình MaraDNS làm Máy chủ tên có thẩm quyền​
Máy chủ DNS có thẩm quyền “biết” việc ánh xạ URL thành IP cho bất kỳ tên miền nào. Chúng là nguồn thông tin mà máy chủ DNS đệ quy gửi đến các máy khách web như trình duyệt (Chrome, Firefox). Bạn có thể cấu hình MaraDNS như một máy chủ tên có thẩm quyền như sau:

Chỉnh sửa tệp cấu hình MaraDNS tức là /etc/mararc:
Mã:
ipv4_bind_addresses = "127.0.0.1"chroot_dir = "/etc/maradns"
csv2 = {}csv2["example.net."] = "db.example.net"
Dòng đầu tiên yêu cầu MaraDNS lắng nghe trên IP-127.0.0.1. Bạn có thể thêm nhiều IP hơn vào đó, phân tách bằng dấu phẩy. Ví dụ: 127.0.0.1, x.x.x.x

Dòng thứ hai chroot_dir là để đề cập đến thư mục nơi lưu trữ tất cả các tệp vùng.

Dòng thứ ba khởi tạo băm csv2 bằng lệnh csv2 = {}.

Dòng thứ tư đề cập đến tệp vùng có tên db.example.net cho tên miền example.net.

Đây là tệp vùng có tên db.example.net cho tên miền example.net, tên miền này tự giải thích:
Mã:
example.net. +14400 soa ns1.example.net. [emailprotected]. 2012010117 14400 3600 604800 14400 ~example.net. +14400 ns ns1.example.net. ~example.net. +14400 ns ns2.example.net. ~ns1.example.net. +14400 a 127.0.0.1 ~ns2.example.net. +14400 a 127.0.0.1 ~example.net. +14400 a 127.0.0.1 ~www.example.net. +14400 a 127.0.0.1 ~example.net. +14400 mx 10 mail.example.net. ~mail.example.net. +14400 a 127.0.0.1 ~
Bạn bắt đầu với dòng Bắt đầu thẩm quyền (SOA). Sau đó, bạn chỉ định máy chủ tên có thẩm quyền và các bản ghi khác. Một bản ghi bao gồm tên miền, TTL (Thời gian tồn tại), loại bản ghi và giá trị của bản ghi.
Hai điều cần lưu ý là tất cả các tên miền đều kết thúc bằng dấu chấm, tức là chúng phải là tên miền đủ điều kiện và tất cả các bản ghi đều kết thúc bằng ký tự dấu ngã (~). Để biết thêm thông tin, hãy xem tài liệu về định dạng tệp vùng.

Để đơn giản hơn, hãy trỏ example.net đến 127.0.0.1. Đây là cách bạn thực hiện:
Mã:
example.net. 127.0.0.1 ~
Khởi động lại dịch vụ như sau:
Mã:
sudo /etc/init.d/maradns restart
Cấu hình MaraDNS thành Máy chủ tên đệ quy​
Khi trình duyệt web của bạn gửi truy vấn DNS — giả sử trình duyệt chưa lưu trữ ánh xạ trong bộ nhớ đệm — thì truy vấn này sẽ được gửi đến máy chủ DNS đệ quy. Nó cũng được gọi là chuyển tiếp DNS. Theo mặc định, nó lắng nghe trên cổng- 127.0.0.2 và bạn có thể thêm nhiều IP hơn vào đó, phân tách bằng dấu phẩy. Ví dụ: 127.0.0.2, x.x.x.x. Bạn có thể cấu hình MaraDNS như một máy chủ tên đệ quy bằng cách thêm các dòng bên dưới vào tệp /etc/dwood3rc:
Mã:
upstream_servers = {}
upstream_servers["."] = "8.8.8.8, 8.8.4.4" # Chuyển tiếp yêu cầu đến Máy chủ DNS của Google
Khởi động lại dịch vụ như sau:
Mã:
sudo /etc/init.d/maradns.deadwood restart
Bạn đã hoàn tất việc thiết lập máy chủ MaraDNS! :)

Mẹo- Nếu bạn muốn máy chủ MaraDNS của mình phản hồi các truy vấn DNS bên ngoài, bạn sẽ cần:

Thêm IP công khai của máy vào cả hai tệp cấu hình (/etc/mararc và /etc/dwood3rc) và sửa đổi chúng thành:

/etc/mararc:
Mã:
ipv4_bind_addresses = "127.0.0.1, x.x.x.x" #Thay thế x.x.x.x bằng địa chỉ công khai của máy bạn.
/etc/dwood3rc:
Mã:
bind_address="127.0.0.2, x.x.x.x" #Thay thế x.x.x.x bằng địa chỉ công khai của máy bạn.
recursive_acl = "0.0.0.0/0" #Cho phép kết nối từ bất kỳ đâu.

Bạn có thể tải các tệp mẫu này từ tại đây. Đừng quên khởi động lại dịch vụ một lần nữa.



Vậy là xong!
 
Back
Bên trên