Trong bài viết này, bạn sẽ tìm hiểu cách dễ dàng và nhanh chóng để có máy chủ DNS giải quyết bộ đệm ẩn của riêng bạn (không bị ràng buộc), cũng như máy chủ DNS chính (nsd) chạy cục bộ trên cá thể OpenBSD Vultr của riêng bạn.
Để cài đặt OpenBSD, hãy tham khảo bài viết sau: Thiết lập OpenBSD 5.5 64 bit . Thay vào đó, hãy chắc chắn sử dụng hình ảnh ISO 5.6 mới hơn.
Mặc dù nsd cũng có sẵn trong bản phát hành trước đó, nhưng không gắn kết được liên kết với bản dựng cho bản phát hành 5.6. Bắt đầu với phiên bản 5.7, BIND sẽ bị xóa hoàn toàn khỏi hệ thống cơ sở (và có sẵn thông qua các cổng).
không ràng buộc
Để giải quyết DNS, mọi người thường sử dụng các giá trị mặc định được cung cấp bởi nhà phân phối / nhà cung cấp của họ hoặc một dịch vụ từ Google (DNS công cộng) và OpenDNS. Mặc dù những thứ đó thường ổn, nhưng việc bạn sở hữu sẽ mang lại cho bạn nhiều quyền kiểm soát hơn, hiệu suất tốt hơn (một khi bạn điền vào bộ nhớ cache của riêng bạn), quyền riêng tư tốt hơn, v.v. Rất dễ dàng để thiết lập DNS giải quyết của riêng bạn trên OpenBSD.
-
Kích hoạt dịch vụ:
sudo rcctl enable unbound
-
Bắt đầu dịch vụ:
sudo rcctl start unbound
-
Để kích hoạt nó, hãy đặt các mục sau vào /etc/resolv.conf
(và xóa mọi nameserver
mục nhập khác ):
nameserver 127.0.0.1
Bây giờ bạn có thể dùng thử:
dig google.com
Chúng tôi đang tìm kiếm hai dòng sau:
;; Query time: 35 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
Các máy chủ được sử dụng là localhost
, đó là những gì chúng tôi muốn. Thời gian truy vấn là 35 giây khi bắt đầu lạnh. Hãy thử cùng một dig
lệnh một lần nữa:
;; Query time: 1 msec
Tại thời điểm này, bộ nhớ đệm đang hoạt động và chúng ta có thể tiếp tục với máy chủ nsd có thẩm quyền.
nsd
Không giống như không liên kết, nsd là một máy chủ DNS có thẩm quyền, được sử dụng để phục vụ các vùng của riêng bạn. Một máy chủ nói chung là không đủ, vì vậy bạn có thể quay một cá thể Vultr khác làm máy chủ thứ cấp ở một vị trí khác, để dự phòng.
Vì việc thiết lập dịch vụ chính / phụ (mặc dù không khó) nằm ngoài phạm vi của bài viết này, chúng tôi sẽ chỉ cho bạn cách phục vụ một vùng miền duy nhất.
-
Đầu tiên hãy chỉnh sửa /var/nsd/etc/nsd.conf
tập tin. Dưới đây là một ví dụ hoàn chỉnh:
server:
hide-version: yes
ip-address: 108.xx.xxx.xx
remote-control:
control-enable: yes
zone:
name: "example.com"
zonefile: "example.com.zone"
Lưu ý: Thay thế 108.xx.xxx.xx
bằng địa chỉ IP của cá thể của bạn và example.com
bằng tên miền của riêng bạn.
-
Tập tin khu vực đi đến /var/nsd/zones
thư mục. Đây là một /var/nsd/zones/example.com.zone
tập tin vùng ngắn :
$ORIGIN example.com.
$TTL 86400
@ 3600 SOA a.ns.example.com. hostmaster.example.com. (
2014110502 ; serial
1800 ; refresh
7200 ; retry
1209600 ; expire
3600 ) ; negative
NS a.ns.example.com.
NS b.ns.example.com.
MX 0 mail.example.com.
a.ns A 108.xx.xxx.xx
b.ns A 108.xx.xxx.xx
mail A 108.xx.xxx.xx
-
Bây giờ chúng tôi có thể kích hoạt và bắt đầu dịch vụ:
sudo rcctl enable nsd
sudo rcctl start nsd
Bây giờ bạn sẽ có cả máy chủ DNS lưu trữ / giải quyết bộ nhớ cache của riêng mình, cũng như một máy chủ có thẩm quyền.
Cú pháp vùng BIND và chi tiết về việc chạy chính chủ của bạn nằm ngoài phạm vi của hướng dẫn ngắn này và để lại như một bài tập cho người đọc. Thưởng thức OpenBSD!