Bài số 1: Cài đặt và cấu hình BIND cùng các DNS tool (dig, nslookup)
BIND là ứng dụng cung cấp DNS server phổ biến nhất hiện nay. Bài này yêu cầu cài đặt và thực hiện các cấu hình cơ bản của một máy chủ BIND. Ngoài ra, một số công cụ hỗ trợ làm việc với DNS cũng cần được cài đặt.
Bước 1: Tải phần mềm BIND và cài đặt
Thiết lập ít nhất một card mạng cho máy chủ CentOS sử dụng cơ chế NAT để có thể truy nhập Internet thông qua máy host Windows. Kiểm tra kết nối Internet và sử dụng công cụ yum để cài đặt bind và các ứng dụng hỗ trợ bind (bind-utils) như nslookup hay dig. Có thể kiểm tra các gói ứng dụng này đã có trên máy chủ CentOS hay chưa rồi tiến hành cài đặt:
Chú ý kiểm tra quyền truy nhập của file zone. Khi chạy lệnh dig mà DNS server không trả về kết quả (thiếu thông tin ANSWER SESTION cùng với thông tin trạng thái status: SERVFAIL) thì có thể là do không đọc được file zone. Khi đó cần kiểm tra và bổ sung quyền đọc (read) cho file này với lệnh chmod +r.
Bước 2: Cài đặt và sử dụng lệnh dig
Lệnh sau đây kiểm tra kết nối đến máy chủ DNS tại địa chỉ 127.0.0.1 và hiển thị resource record thuộc tất cả các kiểu (có thể thay any bằng SOA, NS, MX, v.v..) thuộc domain mydomain.vn:
Cần kiểm tra kết nối DNS giữa các máy chủ bằng cách thay 127.0.0.1 thành địa chỉ IP của máy chủ khác. Nếu kết nối thành công, kết quả cũng giống như khi chạy trên nội bộ máy DNS. Trường hợp có lỗi xảy ra, dig sẽ hiển thị thông tin như sau:
Cần kiểm tra một số tình huống gây lỗi sau đây:
- DNS server được cấu hình mặc định chỉ chấp nhận kết nối từ máy nội bộ, không nhận các kết nối từ bên ngoài. Dùng lệnh netstat -a|grep domain để kiểm tra service DNS đã chạy và chấp nhận các truy nhập từ tất cả các máy trên mạng hay chưa (cổng 53 được khai báo mặc định là domain trong file cấu hình /etc/services). Nếu chưa, mở file cấu hình named.conf và sửa lại cho phép kết nối từ tất cả các máy trên mạng thông qua các tham số listen-on và allow-query như sau:
options { listen-on port 53 { any; }; allow-query { any;}; };
- DNS server mặc định chạy firewall iptables và có thể đang block các kết nối tcp hoặc udp. Chạy lệnh service iptables status để kiểm tra và nếu cần có thể tạm thời dừng firewall iptables bằng lệnh service iptables stop.
Bước 3: Cài đặt và sử dụng lệnh nslookup
nslookup cho phép thực hiện các câu truy vấn DNS đến các máy chủ DNS bất kỳ. Câu lệnh bên dưới truy vấn đến máy chủ DNS mydomain.com yêu cầu hiển thị tất cả các resource record tương ứng tên miền www.redhat.com: