Thứ sáu, 23/08/2013 | 00:00 GMT+7

Cách sử dụng Dig, Whois và Ping trên Ubuntu VPS để truy vấn dữ liệu DNS


Dig là một công cụ mạng có thể truy vấn server DNS để tìm thông tin. Nó có thể rất hữu ích để chẩn đoán sự cố với trỏ domain và là một cách tốt để xác minh cấu hình của bạn đang hoạt động.

Trong bài viết này, ta sẽ thảo luận về cách sử dụng dig để xác minh cài đặt domain của bạn và trả lại dữ liệu về cách Internet nhìn thấy domain của bạn. Ta cũng sẽ kiểm tra một số công cụ liên quan khác như "whois" và "ping".

Ta sẽ sử dụng VPS Ubuntu 12.04 để kiểm tra các lệnh trong hướng dẫn này, nhưng bất kỳ bản phân phối Linux hiện đại nào cũng phải hoạt động theo cách tương tự.

Cách sử dụng Dig

Cách cơ bản nhất để sử dụng dig là chỉ định domain mà ta muốn truy vấn:

dig example.com

Ta có thể kiểm tra "duckduckgo.com" để tìm hiểu loại thông tin mà nó trả về:

dig duckduckgo.com
; <<>> DiG 9.8.1-P1 <<>> duckduckgo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64399
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;duckduckgo.com.		IN	A

;; ANSWER SECTION:
duckduckgo.com.	99	IN	A	107.21.1.61
duckduckgo.com.	99	IN	A	184.72.106.253
duckduckgo.com. 99	IN	A	184.72.106.52
duckduckgo.com.	99	IN	A	184.72.115.86

;; Query time: 33 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Aug 23 14:26:17 2013
;; MSG SIZE  rcvd: 96

Đây là rất nhiều thông tin. Hãy xem xét nó trong các phần nhỏ hơn:

; <<>> DiG 9.8.1-P1 <<>> duckduckgo.com
;; global options: +cmd

Các dòng trên hoạt động như một tiêu đề cho truy vấn được thực hiện. Có thể chạy đào ở chế độ hàng loạt, vì vậy việc ghi nhãn thích hợp cho kết quả là điều cần thiết để cho phép phân tích chính xác.

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64399
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

Phần tiếp theo cung cấp cho ta bản tóm tắt kỹ thuật về kết quả truy vấn của ta . Ta có thể thấy rằng truy vấn đã thành công, một số cờ nhất định đã được sử dụng và 4 "câu trả lời" đã được nhận.

;; QUESTION SECTION:
;duckduckgo.com.		IN	A

;; ANSWER SECTION:
duckduckgo.com.	99	IN	A	107.21.1.61
duckduckgo.com.	99	IN	A	184.72.106.253
duckduckgo.com.	99	IN	A	184.72.106.52
duckduckgo.com.	99	IN	A	184.72.115.86

Phần trên của kết quả chứa các kết quả thực tế mà ta đang tìm kiếm. Nó đặt lại truy vấn và sau đó trả về các bản ghi DNS phù hợp cho domain đó.

Ở đây, ta có thể thấy rằng có bốn bản ghi "A" cho "duckduckgo.com". Theo mặc định, các bản ghi "A" được trả về. Điều này cung cấp cho ta các địa chỉ IP mà domain phân giải thành.

"99" là TTL (thời gian tồn tại) trước khi server DNS kiểm tra lại sự liên kết giữa domain và địa chỉ IP. "IN" nghĩa là lớp của bản ghi là lớp internet tiêu chuẩn.

;; Query time: 33 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Aug 23 14:26:17 2013
;; MSG SIZE  rcvd: 96

Những dòng này chỉ cung cấp một số thống kê về kết quả truy vấn thực tế. Thời gian truy vấn có thể là dấu hiệu của sự cố với server DNS.

Cách sử dụng Dig để kiểm tra bản ghi DNS

Nếu bạn đã cài đặt domain với DigitalOcean , bạn có thể sử dụng đào để truy vấn thông tin.

Để kiểm tra xem bản ghi "A" của bạn có được đặt chính xác hay không, hãy nhập:

dig your_domain_name.com

Nếu bạn muốn kiểm tra xem các server thư của bạn có được chuyển hướng chính xác hay không, hãy nhập:

dig your_domain_name.com MX

Nói chung, bạn có thể đưa ra loại bản ghi mà bạn muốn truy vấn sau domain trong truy vấn.

Nếu bạn muốn nhận thông tin về tất cả các bản ghi, hãy nhập:

dig your_domain_name.com ANY

Thao tác này sẽ trả về bất kỳ bản ghi nào trùng với domain cơ sở mà bạn đã cài đặt . Chúng sẽ bao gồm bản ghi "SOA", bản ghi "NS", bản ghi "A" và bản ghi "MX".

Lưu ý: Do cách thức hoạt động của TTL và DNS, đôi khi phải mất một khoảng thời gian để những thay đổi bạn tạo ra phổ biến đến server định danh. Nếu bạn đã tạo một bản ghi và không thấy nó, hãy đợi cho đến khi TTL về 0 để xem bản ghi của bạn có hiển thị hay không.

Nếu bạn chỉ muốn trả lại IP thực mà domain trỏ đến, có thể chạy lệnh:

dig your_domain_name.com +short

Sử dụng lệnh "host" Thay vì "đào"

Một thay thế để đào là một lệnh được gọi là " server lưu trữ ". Lệnh này hoạt động theo cách rất giống để đào, với nhiều tùy chọn giống nhau.

Cú pháp cơ bản là:

host domain_name_or_IP_address

Lưu ý bạn không cần cờ để thay đổi chức năng từ tra cứu DNS thông thường sang tra cứu DNS ngược.

Giống như với đào, bạn có thể chỉ định loại bản ghi mà bạn quan tâm. Điều này được thực hiện với cờ "-t".

Để trả về các bản ghi mx của google, bạn có thể gõ:

host -t mx google.com
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.

Các loại profile khác có thể được truy xuất dễ dàng.

Bạn có thể trả về tất cả các bản ghi bằng cờ "-a". Tôi sẽ không đăng kết quả của lệnh này, vì nó có thể khá dài:

host -a google.com

Nếu bạn cần thêm thông tin về server , bạn có thể bật kết quả dài dòng với cờ "-v":

host -v google.com

Điều này sẽ cung cấp thông tin mở rộng.

Sử dụng các công cụ khác để truy vấn thông tin DNS

Ping

Một cách đơn giản để kiểm tra xem domain của bạn có đang phân giải chính xác hay không là "ping".

Cách sử dụng nó cực kỳ đơn giản:

ping your_domain_name.com
PING your_domain_name.com (192.241.160.34) 56(84) bytes of data.
64 bytes from 192.241.160.34: icmp_req=1 ttl=64 time=0.026 ms
64 bytes from 192.241.160.34: icmp_req=2 ttl=64 time=0.038 ms
64 bytes from 192.241.160.34: icmp_req=3 ttl=64 time=0.037 ms
. . .

Thao tác này sẽ tiếp tục xuất ra thông tin cho đến khi bạn gõ "CTRL-C".

Bạn cũng có thể yêu cầu phần mềm chỉ ping một số lần nhất định. Điều này sẽ ping 3 lần:

ping -c 3 your_domain_name.com
PING your_domain_name.com (192.241.160.34) 56(84) bytes of data.
64 bytes from 192.241.160.34: icmp_req=1 ttl=64 time=0.027 ms
64 bytes from 192.241.160.34: icmp_req=2 ttl=64 time=0.059 ms
64 bytes from 192.241.160.34: icmp_req=3 ttl=64 time=0.042 ms

--- your_domain_name.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.027/0.042/0.059/0.015 ms

Lệnh này được dùng để đơn giản kiểm tra xem domain có phân giải thành địa chỉ IP mà bạn đã gán hay không.

Ai là

Giao thức whois trả về thông tin về các domain đã đăng ký, bao gồm cả các server định danh mà chúng được cấu hình để hoạt động.

Mặc dù hầu hết thông tin liên quan đến việc đăng ký domain , nhưng có thể hữu ích nếu thấy rằng các server định danh được trả về chính xác.

Chạy lệnh như sau:

whois your_domain_name.com

Kết quả sẽ trả về một danh sách dài thông tin. Định dạng sẽ khác nhau dựa trên server whois có chứa thông tin.

Ở phía dưới cùng, bạn thường có thể thấy các server domain cung cấp chuyển tiếp domain đến các địa chỉ IP chính xác.

Kết luận

Mặc dù đào, ping và whois đều là những công cụ đơn giản thực hiện các kiểm tra cơ bản đối với domain của bạn, nhưng chúng có thể vô cùng hữu ích. Khi bạn đang cài đặt domain của bạn , việc mở một terminal với tính năng đào tiện dụng có thể giúp bạn tiết kiệm rất nhiều phỏng đoán.

Bởi Justin Ellingwood

Tags:

Các tin liên quan

Cách thiết lập Sass trên VPS của bạn đang chạy trên Ubuntu
2013-08-14
Cách cài đặt Cassandra và chạy một cụm node đơn trên VPS Ubuntu
2013-08-08
Cách cài đặt CouchDB từ nguồn trên VPS Ubuntu 13.04 x64
2013-08-06
Cách quản lý gói trong Ubuntu và Debian với Apt-Get & Apt-Cache
2013-08-06
Bắt đầu với LXC trên VPS Ubuntu 13.04
2013-08-06
Cách cài đặt Go and Revel trên VPS Ubuntu 13.04 x64
2013-07-31
Cách thiết lập chứng chỉ SSL với PhpMyAdmin trên VPS Ubuntu 12.04
2013-07-30
Cách cài đặt và quản lý trình giám sát trên Ubuntu và VPS Debian
2013-07-23
Cách tạo ứng dụng Node.js bằng Sails.js trên VPS Ubuntu
2013-07-16
Cách cài đặt Chef và Ruby với RVM trên VPS Ubuntu
2013-07-15