Khi website không mở được hoặc tên miền có vẻ trỏ sai, ba lệnh dưới đây trả lời được phần lớn câu hỏi, và không cần cài gì thêm.
1. Mở Command Prompt
Bấm phím Windows, gõ cmd, rồi Enter.
Một số lệnh ở mục 4 cần quyền quản trị: bấm chuột phải vào Command Prompt rồi chọn Run as administrator.
2. ping: máy đích có trả lời không
ping <ten-mien-hoac-dia-chi-ip>
Kết quả thật khi ping một tên miền:
Pinging cloudzone.vn [202.158.244.57] with 32 bytes of data:
Reply from 202.158.244.57: bytes=32 time=11ms TTL=52
Reply from 202.158.244.57: bytes=32 time=11ms TTL=52
Ping statistics for 202.158.244.57:
Packets: Sent = 2, Received = 2, Lost = 0 (0% loss),
Cách đọc
| Thấy gì | Nghĩa là |
|---|---|
| Có địa chỉ IP trong ngoặc vuông | Tên miền đã phân giải được. Đây là địa chỉ nó đang trỏ tới |
Reply from ... |
Máy đích có trả lời |
time= |
Độ trễ. Càng nhỏ càng nhanh |
Lost = 0 (0% loss) |
Không mất gói. Mất gói nghĩa là đường truyền chập chờn |
Request timed out |
Không có trả lời. Chưa chắc máy chết, xem bên dưới |
could not find host |
Tên miền chưa phân giải được. Vấn đề ở DNS, không phải ở máy chủ |
⚠️ Request timed out không có nghĩa là máy chủ đã chết. Rất nhiều máy chủ cố ý không trả lời ping vì lý do an ninh. Muốn biết dịch vụ còn chạy không, hãy thử mở website hoặc kiểm đúng cổng dịch vụ.
Hai cách dùng thường gặp
a. Kiểm tên miền đã trỏ đúng về hosting chưa. Ping tên miền, so địa chỉ IP trong ngoặc vuông với địa chỉ hosting mà Cloudzone cấp. Khớp là đã trỏ đúng.
Chưa khớp thì làm theo thứ tự:
- Kiểm lại bản ghi DNS ở nơi quản lý tên miền.
- Chờ hết thời gian ghi nhớ của bản ghi cũ.
- Xoá bộ nhớ đệm DNS trên máy:
ipconfig /flushdns
b. Ping liên tục để theo dõi đường truyền chập chờn:
ping -t <dia-chi>
Bấm Ctrl + C để dừng. Dùng khi nghi kết nối lúc được lúc không: để chạy vài phút rồi xem dòng thống kê mất gói.
3. nslookup: tên miền đang trỏ về đâu
Đây là lệnh đáng dùng hơn ping khi vấn đề nằm ở tên miền.
nslookup <ten-mien>
Kết quả thật:
Server: dns.google
Address: 8.8.8.8
Name: cloudzone.vn
Address: 202.158.244.57
Hai dòng đầu cho biết đã hỏi máy chủ DNS nào; hai dòng sau là câu trả lời.
Tra từng loại bản ghi
nslookup -type=A <ten-mien> :: dia chi IPv4
nslookup -type=MX <ten-mien> :: may chu nhan thu
nslookup -type=TXT <ten-mien> :: SPF, DKIM, DMARC
nslookup -type=NS <ten-mien> :: may chu ten mien dang phuc vu
nslookup -type=CNAME <ten-mien> :: ten mien tro sang ten khac
Ví dụ tra bản ghi thư:
nslookup -type=MX cloudzone.vn 8.8.8.8
cloudzone.vn MX preference = 10, mail exchanger = mail.cloudzone.vn
Mẹo quan trọng: hỏi một máy chủ DNS bên ngoài
Thêm địa chỉ máy chủ DNS vào cuối lệnh để hỏi thẳng nơi đó, bỏ qua máy chủ DNS của nhà mạng:
nslookup <ten-mien> 8.8.8.8
nslookup <ten-mien> 1.1.1.1
Đây là cách phân biệt “DNS chưa cập nhật” với “mình sửa sai”. Máy chủ bên ngoài đã thấy giá trị mới mà máy mình vẫn thấy giá trị cũ thì chỉ là chưa hết thời gian ghi nhớ, chờ là xong.
Bảng tra nhanh
| Hiện tượng | Kiểm bản ghi |
|---|---|
| Website không mở được | -type=A cho tên miền và cho www |
| Không nhận được thư | -type=MX |
| Thư gửi đi rơi vào thư rác | -type=TXT |
| Sửa DNS mà không thấy đổi gì | -type=NS, xem tên miền đang dùng DNS ở đâu |
4. netstat: máy đang mở những kết nối nào
netstat -n
Active Connections
Proto Local Address Foreign Address State
TCP 127.0.0.1:21516 127.0.0.1:62533 ESTABLISHED
Các tham số hay dùng
| Tham số | Hiện gì |
|---|---|
-a |
Mọi kết nối và mọi cổng đang nghe |
-n |
Hiện số thay vì tên, nhanh hơn hẳn vì không phải tra ngược tên |
-o |
Thêm cột mã tiến trình, để biết chương trình nào mở kết nối |
-b |
Hiện tên chương trình. Cần quyền quản trị |
-r |
Bảng định tuyến |
-s |
Thống kê theo từng giao thức |
-e |
Thống kê card mạng |
Tổ hợp dùng nhiều nhất:
netstat -ano
Cho đủ ba thứ cùng lúc: mọi kết nối, dạng số, kèm mã tiến trình.
Dùng để làm gì
a. Tìm xem chương trình nào đang chiếm một cổng. Hay gặp khi cài một dịch vụ mới mà nó báo cổng đã bị dùng:
netstat -ano | findstr :80
Cột cuối là mã tiến trình. Tra tên chương trình bằng:
tasklist /FI "PID eq <ma-tien-trinh>"
b. Kiểm một dịch vụ đã nghe chưa. Thấy dòng có LISTENING ở cổng cần tìm nghĩa là có chương trình đang nghe ở đó.
5. Ba lệnh phụ đáng biết
| Lệnh | Dùng khi |
|---|---|
ipconfig /all |
Xem địa chỉ IP, cổng mặc định và máy chủ DNS của máy mình |
ipconfig /flushdns |
Xoá bộ nhớ đệm DNS. Chạy sau khi vừa sửa bản ghi DNS mà máy vẫn thấy giá trị cũ |
tracert <dia-chi> |
Xem đường đi tới máy đích qua từng chặng. Dùng khi kết nối chậm và muốn biết chậm ở đoạn nào |
ipconfig /flushdns là lệnh đáng nhớ nhất trong bảng này. Rất nhiều trường hợp “sửa DNS rồi mà vẫn không vào được” chỉ cần chạy nó.
6. Thứ tự chẩn đoán khi website không mở được
| Bước | Lệnh | Nếu kết quả xấu |
|---|---|---|
| 1. Tên miền có phân giải được không | nslookup <ten-mien> 8.8.8.8 |
Không ra địa chỉ: vấn đề ở DNS, kiểm bản ghi A |
| 2. Có trỏ đúng địa chỉ hosting không | So địa chỉ ở bước 1 với địa chỉ Cloudzone cấp | Lệch: sửa bản ghi A |
| 3. Máy mình có thấy giá trị cũ không | nslookup <ten-mien> rồi so với bước 1 |
Lệch nhau: chạy ipconfig /flushdns rồi thử lại |
| 4. Máy đích có trả lời không | ping <ten-mien> |
Timeout: chưa kết luận được, nhiều máy chặn ping |
| 5. Đường đi có nghẽn ở đâu không | tracert <ten-mien> |
Dừng ở một chặng: vấn đề nằm ngoài máy chủ |
Bước 1 và bước 3 giải quyết được phần lớn trường hợp. Phần lớn sự cố “website không mở được” ngay sau khi đổi tên miền là chuyện bộ nhớ đệm, không phải máy chủ hỏng.
7. Khi cần hỗ trợ
Nhắn qua khung chat ở góc phải màn hình kèm kết quả chép nguyên văn của:
nslookup <ten-mien> 8.8.8.8
ping <ten-mien>
Chép nguyên văn chứ không mô tả bằng lời, và chép cả phần máy chủ DNS đã hỏi. Hai kết quả này thường đủ để chỉ ra vấn đề nằm ở DNS, ở đường truyền, hay ở máy chủ.