Trường 'tên' trống trong bản ghi tệp vùng DNS


1

Tôi hiện đang phân tích một số lượng lớn các tệp vùng trong công việc của mình để chúng tôi có thể lưu trữ dữ liệu này trong cơ sở dữ liệu và dễ dàng tạo lại các tệp vùng.

Tôi đang cố gắng làm cho trình phân tích cú pháp của mình khá nghiêm ngặt, để chúng tôi có thể chọn bất kỳ tệp vùng được tạo xấu nào và tôi gặp một số bản ghi không có gì trong trường 'tên'.

Thí dụ:

$TTL 120
$ORIGIN mywebsite.com

@    NS      mynameserver.com
@    A       112.134.156.178
www  CNAME   mywebsite.com
     A       111.122.133.144
file CNAME   mywebsite.com

Bản ghi thứ hai đó sẽ được xử lý như thế nào? Và nó có phải là một cú pháp hợp lệ?


1
Cắt bỏ người trung gian và chỉ cần kết nối trực tiếp máy chủ DNS nội dung của bạn với cơ sở dữ liệu. Có một số phần mềm máy chủ DNS nội dung có thể được kết nối với nhiều dạng cơ sở dữ liệu phụ trợ khác nhau.
JdeBP

Câu trả lời:


3

Tên của nó là một bản sao của bản ghi trước đó, vì vậy trong ví dụ của bạn, nó sẽ là bản ghi Địa chỉ 'www'. Trong ví dụ của bạn, bản ghi '@ A' thứ hai không cần '@'.

Ví dụ của bạn với CNAME không hợp lệ, vì CNAME không thể có bản ghi khác có cùng tên. Như tôi nhớ, các phiên bản cũ hơn của BIND chỉ cảnh báo về điều này, nhưng các phiên bản mới hơn sẽ không tải một vùng có các lỗi này. Các loại bản ghi khác là hợp lệ - ví dụ như cách bạn thêm nhiều địa chỉ cho tên (ví dụ vòng tròn DNS dựa trên máy khách) hoặc nhiều bản ghi MX hoặc NS (chính, phụ và đại học) cho các tên miền.

$TTL 120
$ORIGIN mywebsite.com.

@    NS      mynameserver.com.
@    A       112.134.156.178
www  CNAME   mywebsite.com. ; Invalid, CNAME cannot share with an A record
www  A       111.122.133.144
file CNAME   mywebsite.com. ; Alias of www.mywebsite.com. 

Những gì bạn sẽ thấy trong khu vực tương tự như thế này:

$TTL 86400
$ORIGIN example.com.

; nameservers in another domain - must point at A records
@    NS      ns1.example.net.
     NS      ns2.example.net.

     ; mail hosted elsewhere - must be A records
     MX 10   mail.example.net.
     MX 20   backupmail.example.net.

; web farm - nameserver will return both A 
;  records when requested and client will alternate between them
www  A       192.0.2.200
     A       192.0.2.201

; points at www.example.com. - in this case both CNAME (www.example.com.
;  and A records (192.0.2.200, 192.0.2.201) should be in the response returned.
www2 CNAME   www
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.