Trong khi sự phổ biến của việc sử dụng Pi-hole để chặn quảng cáo và phần mềm độc hại ở cấp độ DNS đã nêu bật những vấn đề của trải nghiệm internet hiện đại, thì đối với tôi, nó cũng gây khó chịu vì những lý do khác. Đôi khi, các bản cập nhật làm hỏng hệ thống và cách khắc phục duy nhất là cài đặt lại, may mắn là không mất nhiều thời gian nhưng vẫn phiền phức. Khả năng tạo các bản ghi DNS ghi đè cho phân giải cục bộ các dịch vụ tự host rất tiện dụng, nhưng đôi khi nó không hoạt động và các thiết bị Apple của tôi phàn nàn rằng Pi-hole không cho phép Private Relay hoạt động trên mạng.
Có lẽ tôi đang mong đợi quá nhiều từ một công cụ, bởi vì Pi-hole được thiết kế để chặn quảng cáo và trình theo dõi trên toàn mạng ở cấp độ DNS. Mặc dù nó có thể tạo các mục DNS tùy chỉnh, đó không phải là thế mạnh chính của nó. Nó cũng chuyển tiếp bất kỳ yêu cầu DNS nào ra ngoài, và trừ khi bạn thêm Unbound hoặc một bộ phân giải DNS đệ quy khác, Pi-hole chỉ đang lưu trữ các truy vấn DNS của bạn, điều này không cải thiện bảo mật của bạn theo cách bạn mong muốn.
Tôi cũng là người rất tin tưởng vào việc sử dụng đúng công cụ cho đúng việc, và không cố gắng bẻ cong các dịch vụ theo ý mình. Đó là lý do tại sao tôi rất hào hứng khi nghe về Technitium, bởi vì trong khi nó có thể thực hiện tất cả các chức năng chặn DNS mà Pi-hole nổi tiếng, nó còn là một máy chủ DNS đầy đủ tính năng, authoritative và recursive. Bạn thậm chí có thể tự host nameserver trên đó nếu muốn.
Technitium là gì và tại sao bạn nên sử dụng nó?
Máy chủ DNS authoritative và recursive này mang lại sự riêng tư, bảo mật và sức mạnh đáng kinh ngạc
Giao diện bảng điều khiển của Technitium DNS Server, thể hiện khả năng giám sát và quản lý
Trong khi một số công cụ cho phép bạn chặn phần mềm độc hại và quảng cáo ở cấp độ DNS, những công cụ khác cho phép bạn tạo tên miền cục bộ, đóng vai trò là máy chủ DNS đệ quy, và thiết lập bộ nhớ đệm và chuyển tiếp. Tuy nhiên, không có nhiều công cụ cung cấp chức năng toàn diện mà vẫn hỗ trợ DNS mã hóa ngay từ đầu. Ngoại trừ Technitium, mặc dù cái tên khó gõ, nhưng nó có thể làm tất cả những điều này và hơn thế nữa.
Đây là một máy chủ DNS mã nguồn mở toàn diện mà bạn có thể tự host, và đi kèm với một lõi các tính năng mạnh mẽ:
- Mã hóa các truy vấn DNS để tăng cường quyền riêng tư
- Chặn quảng cáo ở cấp độ DNS trên toàn mạng
- Kiểm soát DNS của bạn thay vì sử dụng Google hoặc Cloudflare
- Quản lý các thiết bị cục bộ bằng các tên DNS tùy chỉnh
- Thiết lập chuyển tiếp DNS có điều kiện nếu tên miền cục bộ không được phân giải
Nhưng nó có thể làm được nhiều hơn thế, bởi vì nó hỗ trợ các Zone và nhiều loại bản ghi tên miền khác ngoài A và CNAME, vốn là hai loại bản ghi phổ biến nhất mà hầu hết các công cụ cho phép tên miền cục bộ hỗ trợ. Bạn có thể thiết lập các bản ghi PTR cho tra cứu DNS ngược, một phần quan trọng của việc tự host máy chủ email. Hoặc TXT, MX, AAAA, NS, và nhiều loại khác nữa, mang lại cho bạn khả năng kiểm soát DNS cục bộ tương tự như khi sử dụng Cloudflare hoặc các nhà cung cấp khác.
Nó thực sự tuyệt vời, và đã giúp mạng gia đình của tôi phản hồi nhanh hơn, an toàn hơn và riêng tư hơn, đồng thời hỗ trợ các thử nghiệm homelab của tôi mà không cần thiết lập reverse proxy. Và vì nó cũng cho phép chuyển tiếp có điều kiện, tôi có thể thiết lập phân giải tên miền cục bộ mà sẽ chuyển tiếp đến địa chỉ IP bên ngoài của reverse proxy nếu tôi chưa thiết lập tên miền cục bộ, và vẫn truy cập cùng các dịch vụ hoàn toàn minh bạch khi sử dụng chúng.
Nó mạnh mẽ hơn Pi-hole vì một lý do
Technitium không chỉ có khả năng tạo các mục DNS cục bộ cho các địa chỉ IP trên mạng gia đình của bạn. Nó còn là một máy chủ DNS đệ quy và một máy chủ authoritative. Điều đó có nghĩa là tôi có thể thiết lập tên miền cục bộ và chúng sẽ được phân giải đúng cách, nhưng cũng có nghĩa là việc duyệt web của tôi riêng tư hơn, vì máy chủ trực tiếp truy vấn các máy chủ gốc DNS (giống như cách Unbound hoạt động), để Google, ISP của tôi và bất kỳ ai khác không biết tôi đang duyệt gì. Nó cũng có nghĩa là bất kỳ ghi đè DNS nào tôi thiết lập sẽ được phân giải trước, vì vậy tôi có thể đặt các tên miền tôi không sở hữu, như Google.com, để trỏ đến phiên bản SearXNG tự host của tôi.
Nhưng đó không phải là lý do chính. Tôi có nhiều thiết bị Apple ở nhà, và tôi đã học được cách trân trọng Apple Private Relay, tính năng mang lại sự riêng tư mà tôi và gia đình cần. Pi-hole không cho phép phân giải DNS cho một số tên miền của Apple (ngay cả khi đã đưa vào danh sách trắng), khiến tính năng bảo mật được thiết kế tốt của Apple không sử dụng được. Nó cũng đôi khi phá vỡ multicast cho các thiết bị và dịch vụ của Apple như AirPrint, và tôi phụ thuộc vào chúng quá nhiều để chấp nhận rủi ro chúng không hoạt động.
Logo chính thức của Technitium, phần mềm máy chủ DNS mạnh mẽ
Technitium mang lại khả năng quản lý tên miền cục bộ như một registrar
Ngoài ra nó còn làm được rất nhiều thứ khác, nhưng tính năng này đặc biệt quan trọng với tôi
Điều đầu tiên tôi làm khi Technitium hoạt động là thay đổi giao diện web GUI để sử dụng HTTPS, ngay sau đó là thêm một vài danh sách chặn vào phần chặn. Điều đó cắt bỏ quảng cáo, phần mềm độc hại và các thứ rác rưởi khác trước khi chúng đến mạng của tôi, và tất cả các thiết bị tôi sở hữu đều an toàn hơn vì điều đó. Sau đó, tôi thay đổi máy chủ DNS trên một vài thiết bị để trỏ đến Technitium để kiểm tra, bởi vì tôi sẽ không để máy chủ DHCP của mình cấp phát một bộ phân giải DNS mà không kiểm tra trước.
Trong khi tôi để bảng điều khiển thu thập dữ liệu truy vấn, tôi đã khám phá các tính năng nâng cao và nhanh chóng nhận ra sức mạnh của chúng. Tôi có thể thiết lập các tên miền cục bộ, và máy chủ sẽ tự động tạo các bản ghi NS và SOA, cho phép tôi dễ dàng thêm các tên miền con cho các dịch vụ tự host. Nhưng tôi có thể đi xa hơn, và tự host tên miền của riêng mình, loại bỏ nhà đăng ký tên miền khỏi phương trình khi nói đến nameserver. Đó là cách tốt nhất để tìm hiểu cách DNS hoạt động từ bên trong. Tuy nhiên, tôi khuyên bạn nên cẩn thận khi làm như vậy nếu bạn đang host bất kỳ thứ gì quan trọng, vì DNS là một hệ thống phức tạp, và bất kỳ cấu hình sai nào cũng có thể gây ra thảm họa.
Ngoài ra, tôi có thể giữ các tên miền cục bộ của mình trên router OPNsense và thiết lập chuyển tiếp DNS trong Technitium, cho phép nó vẫn phân giải các bản ghi DNS đó. Nếu sử dụng Active Directory, tôi cũng có thể làm điều tương tự, cho phép tôi quản lý các tên miền và thiết bị của mình theo ý muốn, trong khi vẫn có một điểm liên lạc duy nhất để phân giải DNS.
Tôi có thể sử dụng DNS-over-TLS, hoặc over-HTTPS, hoặc over-QUIC nếu tôi muốn, với hỗ trợ xác thực DNSSEC, máy tính liên tục, che dấu CNAME, hỗ trợ QNAME minimization, và khả năng sử dụng các bản ghi APP để một số dịch vụ sử dụng các ứng dụng DNS tùy chỉnh để phân giải. Cộng thêm hàng tấn thứ khác mà sẽ không lạ lẫm trong một máy chủ DNS doanh nghiệp phải xử lý nhiều trang web, vùng, phân chia, và các tác vụ định vị địa lý. Nó thực sự rất nhiều, và tôi chỉ đang chạm đến bề mặt ở đây vì nhu cầu của tôi không quá sâu sắc.
Technitium thực sự rất dễ cài đặt
Quá trình cài đặt Technitium trên môi trường Proxmox chỉ với một dòng lệnh đơn giản
Bởi vì Technitium chạy trên .NET, nó là mã nguồn mở và có các gói cho Linux, Windows, macOS, và Raspberry Pi. Ngoài ra còn có một Docker image trên Docker Hub cho những người hâm mộ container. Không có gói FreeBSD gốc cho người dùng OPNsense, nhưng việc xây dựng từ mã nguồn và chạy như một gói tương đối nhanh chóng.
Tôi đã chọn cài đặt nó như một dịch vụ hệ thống trên máy chủ Proxmox của mình, bởi vì tôi biết rằng nó sẽ được cắm điện và có thể truy cập vào mạng của tôi mọi lúc. Tôi có thể đã sử dụng một container LXC, nhưng tôi nghĩ điều tôi sẽ làm là kéo các cài đặt Technitium của mình vào một Docker container trên NAS, và sau đó thiết lập Keepalived để đảm bảo cả hai máy chủ DNS đều có thể truy cập được từ một IP ảo duy nhất với tính sẵn sàng cao. Để cài đặt nó trên Proxmox, tất cả những gì tôi cần là một dòng lệnh trong terminal:
curl -sSL https://download.technitium.com/dns/install.sh | bash
Thế là xong; sau đó tôi có thể truy cập Technitium từ địa chỉ IP của máy chủ Proxmox trên cổng 5380, và tất cả những gì tôi cần làm là thay đổi một số bản ghi DNS trên các thiết bị của mình để trỏ đến địa chỉ IP của Proxmox. Chỉ mất vài phút, và tôi đã có thể nhận thấy tốc độ duyệt web nhanh hơn.
Technitium mang khả năng quản lý tên miền về nhà
Tôi phải thừa nhận rằng, khi lần đầu tiên nhìn thấy Technitium, tôi đã nghi ngờ liệu nó có đáp ứng được những lời hứa của mình và liệu nó có phù hợp với mạng của tôi hay không. Bây giờ tôi đang lên kế hoạch thêm các instance bổ sung với Keepalived để đảm bảo nó luôn khả dụng, vì vậy tôi đoán những mối lo ngại đó đã biến mất. Tôi có thể sẽ cài đặt nó trên router OPNsense của mình nữa, bởi vì tôi thích có các công cụ liên quan đến mạng được cài đặt trên cùng một thiết bị, và điều đó sẽ giúp tôi luyện tập thêm về việc xây dựng cho FreeBSD. Tôi thậm chí có thể thiết lập một instance trên VPS của mình để nó luôn khả dụng từ bất cứ đâu, và sau đó tôi sẽ không phải lo lắng về việc mất điện hoặc các gián đoạn khác.